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 suse-module-tools for openSUSE:Factory checked in at 2023-12-15 21:47:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/suse-module-tools (Old)
and /work/SRC/openSUSE:Factory/.suse-module-tools.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "suse-module-tools"
Fri Dec 15 21:47:13 2023 rev:73 rq:1133180 version:16.0.39
Changes:
--------
--- /work/SRC/openSUSE:Factory/suse-module-tools/suse-module-tools.changes 2023-10-31 20:25:17.497040571 +0100
+++ /work/SRC/openSUSE:Factory/.suse-module-tools.new.25432/suse-module-tools.changes 2023-12-15 21:47:19.226240437 +0100
@@ -1,0 +2,10 @@
+Thu Dec 14 19:59:57 UTC 2023 - Martin Wilck <mwilck(a)suse.com>
+
+- Update to version 16.0.39:
+ * Add more modules to file system blacklist (jsc#PED-6167)
+ Blacklisted filesystem modules that aren't officially supported
+ by SUSE: f2fs, hfsplus, jfss2, kafs, ntfs3, orangefs, pstore, romfs, zonefs.
+ As usual, the blacklist entries can be removed by running an
+ explicit "modrobe $FS_MODULE" command.
+
+-------------------------------------------------------------------
Old:
----
suse-module-tools-16.0.38.obscpio
New:
----
suse-module-tools-16.0.39.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ suse-module-tools.spec ++++++
--- /var/tmp/diff_new_pack.bldLu5/_old 2023-12-15 21:47:20.314280206 +0100
+++ /var/tmp/diff_new_pack.bldLu5/_new 2023-12-15 21:47:20.318280353 +0100
@@ -28,7 +28,7 @@
%global systemd_units %{?with_boot_sysctl:boot-sysctl.service} %{?with_kernel_sysctl:kernel-sysctl.service}
# List of legacy file systems to be blacklisted by default
-%global fs_blacklist adfs affs bfs befs cramfs efs erofs exofs freevxfs hfs hpfs jfs minix nilfs2 ntfs omfs qnx4 qnx6 sysv ufs
+%global fs_blacklist adfs affs bfs befs cramfs efs erofs exofs f2fs freevxfs hfs hfsplus hpfs jffs2 jfs kafs minix nilfs2 ntfs ntfs3 omfs orangefs pstore qnx4 qnx6 romfs sysv ufs zonefs
# List of all files installed under modprobe.d
# Note: this list contains files installed by previous versions, like 00-system-937216.conf!
@@ -36,7 +36,7 @@
%global modprobe_conf_rpmsave %(echo "%{modprobe_conf_files}" | sed 's,\\([^ ]*\\),%{_sysconfdir}/modprobe.d/\\1.conf.rpmsave,g')
Name: suse-module-tools
-Version: 16.0.38
+Version: 16.0.39
Release: 0
Summary: Configuration for module loading and SUSE-specific utilities for KMPs
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.bldLu5/_old 2023-12-15 21:47:20.354281669 +0100
+++ /var/tmp/diff_new_pack.bldLu5/_new 2023-12-15 21:47:20.358281814 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/suse-module-tools.git</param>
- <param name="changesrevision">a061b1b2a3e52cdbc54d3e24bd3bdacf5b589aba</param></service></servicedata>
+ <param name="changesrevision">d2e769f1f4ed527b68a1a5894c7ffeb84e32d2a0</param></service></servicedata>
(No newline at EOF)
++++++ suse-module-tools-16.0.38.obscpio -> suse-module-tools-16.0.39.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.38/suse-module-tools.spec new/suse-module-tools-16.0.39/suse-module-tools.spec
--- old/suse-module-tools-16.0.38/suse-module-tools.spec 2023-10-27 17:47:03.000000000 +0200
+++ new/suse-module-tools-16.0.39/suse-module-tools.spec 2023-12-14 20:58:45.000000000 +0100
@@ -28,7 +28,7 @@
%global systemd_units %{?with_boot_sysctl:boot-sysctl.service} %{?with_kernel_sysctl:kernel-sysctl.service}
# List of legacy file systems to be blacklisted by default
-%global fs_blacklist adfs affs bfs befs cramfs efs erofs exofs freevxfs hfs hpfs jfs minix nilfs2 ntfs omfs qnx4 qnx6 sysv ufs
+%global fs_blacklist adfs affs bfs befs cramfs efs erofs exofs f2fs freevxfs hfs hfsplus hpfs jffs2 jfs kafs minix nilfs2 ntfs ntfs3 omfs orangefs pstore qnx4 qnx6 romfs sysv ufs zonefs
# List of all files installed under modprobe.d
# Note: this list contains files installed by previous versions, like 00-system-937216.conf!
@@ -36,7 +36,7 @@
%global modprobe_conf_rpmsave %(echo "%{modprobe_conf_files}" | sed 's,\\([^ ]*\\),%{_sysconfdir}/modprobe.d/\\1.conf.rpmsave,g')
Name: suse-module-tools
-Version: 16.0.38
+Version: 16.0.39
Release: 0
Summary: Configuration for module loading and SUSE-specific utilities for KMPs
License: GPL-2.0-or-later
++++++ suse-module-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.bldLu5/_old 2023-12-15 21:47:20.462285616 +0100
+++ /var/tmp/diff_new_pack.bldLu5/_new 2023-12-15 21:47:20.466285762 +0100
@@ -1,5 +1,5 @@
name: suse-module-tools
-version: 16.0.38
-mtime: 1698421623
-commit: a061b1b2a3e52cdbc54d3e24bd3bdacf5b589aba
+version: 16.0.39
+mtime: 1702583925
+commit: d2e769f1f4ed527b68a1a5894c7ffeb84e32d2a0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Bootloader for openSUSE:Factory checked in at 2023-12-15 21:47:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Bootloader (Old)
and /work/SRC/openSUSE:Factory/.perl-Bootloader.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Bootloader"
Fri Dec 15 21:47:12 2023 rev:211 rq:1133162 version:1.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Bootloader/perl-Bootloader.changes 2023-09-08 21:15:44.714908501 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Bootloader.new.25432/perl-Bootloader.changes 2023-12-15 21:47:17.682183998 +0100
@@ -1,0 +2,10 @@
+Thu Dec 14 17:41:41 UTC 2023 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/perl-bootloader#159
+- rewrite pbl in sh (bsc#1214361)
+- adjust Makefile
+- add tests
+- Makefile cleanup
+- 1.9
+
+--------------------------------------------------------------------
Old:
----
perl-Bootloader-1.8.tar.xz
New:
----
perl-Bootloader-1.9.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Bootloader.spec ++++++
--- /var/tmp/diff_new_pack.0aYbbU/_old 2023-12-15 21:47:18.490213533 +0100
+++ /var/tmp/diff_new_pack.0aYbbU/_new 2023-12-15 21:47:18.490213533 +0100
@@ -25,7 +25,7 @@
%{!?_distconfdir:%global _distconfdir /etc}
Name: perl-Bootloader
-Version: 1.8
+Version: 1.9
Release: 0
Requires: coreutils
Requires: perl-base = %{perl_version}
++++++ perl-Bootloader-1.8.tar.xz -> perl-Bootloader-1.9.tar.xz ++++++
++++ 2087 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package procps for openSUSE:Factory checked in at 2023-12-15 21:47:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/procps (Old)
and /work/SRC/openSUSE:Factory/.procps.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "procps"
Fri Dec 15 21:47:07 2023 rev:135 rq:1133112 version:3.3.17
Changes:
--------
--- /work/SRC/openSUSE:Factory/procps/procps.changes 2023-11-15 21:06:33.531761890 +0100
+++ /work/SRC/openSUSE:Factory/.procps.new.25432/procps.changes 2023-12-15 21:47:12.049978131 +0100
@@ -1,0 +2,6 @@
+Thu Dec 14 13:26:05 UTC 2023 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- procps-3.3.17-ignore-sysctl_conf.patch: ignore dangling symlink
+ to missing /etc/sysctl.conf file [bsc#1217990]
+
+-------------------------------------------------------------------
New:
----
procps-3.3.17-ignore-sysctl_conf.patch
BETA DEBUG BEGIN:
New:
- procps-3.3.17-ignore-sysctl_conf.patch: ignore dangling symlink
to missing /etc/sysctl.conf file [bsc#1217990]
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ procps.spec ++++++
--- /var/tmp/diff_new_pack.tvE7rU/_old 2023-12-15 21:47:12.942010736 +0100
+++ /var/tmp/diff_new_pack.tvE7rU/_new 2023-12-15 21:47:12.942010736 +0100
@@ -70,6 +70,7 @@
Patch42: procps-3.3.17-library-bsc1181475.patch
Patch43: procps-3.3.17-top-bsc1181475.patch
Patch44: procps-ng-3.3.17-logind.patch
+Patch45: procps-3.3.17-ignore-sysctl_conf.patch
BuildRequires: automake
BuildRequires: dejagnu
BuildRequires: diffutils
@@ -156,6 +157,7 @@
%patch42
%patch43
%patch44 -p1
+%patch45 -p1
%build
test -s .tarball-version || echo %{version} > .tarball-version
++++++ procps-3.3.17-ignore-sysctl_conf.patch ++++++
--- procps-3.3.17/sysctl.c.old 2021-02-09 11:11:25.000000000 +0100
+++ procps-3.3.17/sysctl.c 2023-12-14 13:56:36.785976315 +0100
@@ -546,6 +546,8 @@
fp = (globbuf.gl_pathv[j][0] == '-' && !globbuf.gl_pathv[j][1])
? stdin : fopen(globbuf.gl_pathv[j], "r");
if (!fp) {
+ if (strcmp ("/usr/lib/sysctl.d/99-sysctl.conf", globbuf.gl_pathv[j]) == 0)
+ continue;
xwarn(_("cannot open \"%s\""), globbuf.gl_pathv[j]);
rc = -1;
goto out;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package java-21-openjdk for openSUSE:Factory checked in at 2023-12-15 21:47:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-21-openjdk (Old)
and /work/SRC/openSUSE:Factory/.java-21-openjdk.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-21-openjdk"
Fri Dec 15 21:47:03 2023 rev:5 rq:1133105 version:21.0.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/java-21-openjdk/java-21-openjdk.changes 2023-10-31 20:24:42.187743657 +0100
+++ /work/SRC/openSUSE:Factory/.java-21-openjdk.new.25432/java-21-openjdk.changes 2023-12-15 21:47:09.713892743 +0100
@@ -1,0 +2,8 @@
+Thu Dec 14 13:24:11 UTC 2023 - Fridrich Strba <fstrba(a)suse.com>
+
+- Modified patch:
+ * fips.patch
+ + use the system crypto-policies provided configuration file
+ by default (bsc#1218061)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-21-openjdk.spec ++++++
--- /var/tmp/diff_new_pack.7RLEAb/_old 2023-12-15 21:47:11.161945671 +0100
+++ /var/tmp/diff_new_pack.7RLEAb/_new 2023-12-15 21:47:11.161945671 +0100
@@ -476,6 +476,7 @@
%if %{is_release}
--with-version-pre="" \
%endif
+ --with-version-build="%{buildver}" \
--with-version-opt="suse-%{release}-%{_arch}" \
%if %{with zero}
--with-jvm-variants=zero \
++++++ fips.patch ++++++
--- /var/tmp/diff_new_pack.7RLEAb/_old 2023-12-15 21:47:11.241948595 +0100
+++ /var/tmp/diff_new_pack.7RLEAb/_new 2023-12-15 21:47:11.245948742 +0100
@@ -2057,7 +2057,7 @@
+# using the system properties file stored at
+# /etc/crypto-policies/back-ends/java.config
+#
-+security.useSystemPropertiesFile=false
++security.useSystemPropertiesFile=true
+
#
# Determines the default key and trust manager factory algorithms for
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gupnp-av for openSUSE:Factory checked in at 2023-12-15 21:47:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gupnp-av (Old)
and /work/SRC/openSUSE:Factory/.gupnp-av.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gupnp-av"
Fri Dec 15 21:47:01 2023 rev:46 rq:1133104 version:0.14.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/gupnp-av/gupnp-av.changes 2023-05-10 16:16:59.794432411 +0200
+++ /work/SRC/openSUSE:Factory/.gupnp-av.new.25432/gupnp-av.changes 2023-12-15 21:47:08.085833233 +0100
@@ -1,0 +2,5 @@
+Thu Dec 14 12:53:31 UTC 2023 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Add 1e10a41f.patch: Fix compatibility with libxml2 2.12.x.
+
+-------------------------------------------------------------------
New:
----
1e10a41f.patch
BETA DEBUG BEGIN:
New:
- Add 1e10a41f.patch: Fix compatibility with libxml2 2.12.x.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gupnp-av.spec ++++++
--- /var/tmp/diff_new_pack.raM43Z/_old 2023-12-15 21:47:08.833860575 +0100
+++ /var/tmp/diff_new_pack.raM43Z/_new 2023-12-15 21:47:08.833860575 +0100
@@ -28,6 +28,8 @@
Patch0: gupnp-av-libxml2.11-support.patch
# PATCH-FIX-UPSTREAM 767388bc.patch -- build: Fix Requires: line of pkg-config file
Patch1: https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/767388bc.patch
+# PATCH-FIX-UPSTREAM 1e10a41f.patch -- Fix compatibility with libxml2 2.12.x
+Patch2: https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/1e10a41f.patch
BuildRequires: meson
BuildRequires: pkgconfig
++++++ 1e10a41f.patch ++++++
From 1e10a41fcef6ae0d3e89958db89bc22398f3b4f1 Mon Sep 17 00:00:00 2001
From: Jens Georg <mail(a)jensge.org>
Date: Sat, 25 Nov 2023 17:58:49 +0100
Subject: [PATCH] xml: Fix compatibility with libxml2 2.12.x
---
libgupnp-av/xml-util.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/libgupnp-av/xml-util.h b/libgupnp-av/xml-util.h
index e0e49f7..0bbe0f8 100644
--- a/libgupnp-av/xml-util.h
+++ b/libgupnp-av/xml-util.h
@@ -16,6 +16,7 @@
#include <glib.h>
#include <libxml/tree.h>
+#include <libxml/parser.h>
#include <stdarg.h>
#include <glib-object.h>
--
GitLab
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gupnp for openSUSE:Factory checked in at 2023-12-15 21:46:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gupnp (Old)
and /work/SRC/openSUSE:Factory/.gupnp.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gupnp"
Fri Dec 15 21:46:59 2023 rev:82 rq:1133103 version:1.6.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/gupnp/gupnp.changes 2023-11-07 21:25:30.713643118 +0100
+++ /work/SRC/openSUSE:Factory/.gupnp.new.25432/gupnp.changes 2023-12-15 21:47:06.949791709 +0100
@@ -1,0 +2,5 @@
+Thu Dec 14 12:47:50 UTC 2023 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Add 00514fb6.patch: Fix compatibility with libxml2 2.12.x.
+
+-------------------------------------------------------------------
New:
----
00514fb6.patch
BETA DEBUG BEGIN:
New:
- Add 00514fb6.patch: Fix compatibility with libxml2 2.12.x.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gupnp.spec ++++++
--- /var/tmp/diff_new_pack.lGqgYN/_old 2023-12-15 21:47:07.537813203 +0100
+++ /var/tmp/diff_new_pack.lGqgYN/_new 2023-12-15 21:47:07.537813203 +0100
@@ -29,6 +29,8 @@
URL: http://www.gupnp.org/
Source0: https://download.gnome.org/sources/gupnp/1.6/%{name}-%{version}.tar.xz
Source1: baselibs.conf
+# PATCH-FIX-UPSTREAM 00514fb6.patch -- Fix compatibility with libxml2 2.12.x
+Patch0: https://gitlab.gnome.org/GNOME/gupnp/-/commit/00514fb6.patch
BuildRequires: docbook-xsl-stylesheets
BuildRequires: meson >= 0.54.0
@@ -61,7 +63,7 @@
Obsoletes: libgupnp-1_2-0
%description -n libgupnp-%{soname}
-GUPnP implements the UPnP specification: resource announcement and
+ GUPnP implements the UPnP specification: resource announcement and
discovery, description, control, event notification, and presentation
(GUPnP includes basic web server functionality through libsoup). GUPnP
does not include helpers for construction or control of specific
++++++ 00514fb6.patch ++++++
From 00514fb62ebd341803fa44e26a6482a8c25dbd34 Mon Sep 17 00:00:00 2001
From: Jens Georg <mail(a)jensge.org>
Date: Sat, 25 Nov 2023 17:56:02 +0100
Subject: [PATCH] all: Fix compatibility with libxml2 2.12.x
---
libgupnp/gupnp-control-point.c | 2 ++
libgupnp/gupnp-service-proxy-action.c | 2 ++
libgupnp/gupnp-service-proxy.c | 2 ++
libgupnp/gupnp-xml-doc.c | 3 +++
libgupnp/xml-util.h | 2 ++
5 files changed, 11 insertions(+)
diff --git a/libgupnp/gupnp-control-point.c b/libgupnp/gupnp-control-point.c
index d4b44721..4374f726 100644
--- a/libgupnp/gupnp-control-point.c
+++ b/libgupnp/gupnp-control-point.c
@@ -27,6 +27,8 @@
#include <config.h>
#include <string.h>
+#include <libxml/parser.h>
+
#include "gupnp-control-point.h"
#include "gupnp-context-private.h"
#include "gupnp-resource-factory-private.h"
diff --git a/libgupnp/gupnp-service-proxy-action.c b/libgupnp/gupnp-service-proxy-action.c
index b241d86c..6ea241ad 100644
--- a/libgupnp/gupnp-service-proxy-action.c
+++ b/libgupnp/gupnp-service-proxy-action.c
@@ -9,6 +9,8 @@
#include <config.h>
+#include <libxml/parser.h>
+
#include "gupnp-error.h"
#include "gupnp-service-proxy.h"
#include "gvalue-util.h"
diff --git a/libgupnp/gupnp-service-proxy.c b/libgupnp/gupnp-service-proxy.c
index adba5ab0..3f1a4454 100644
--- a/libgupnp/gupnp-service-proxy.c
+++ b/libgupnp/gupnp-service-proxy.c
@@ -16,6 +16,8 @@
#include <locale.h>
#include <errno.h>
+#include <libxml/globals.h>
+
#include "gena-protocol.h"
#include "gupnp-context-private.h"
#include "gupnp-error-private.h"
diff --git a/libgupnp/gupnp-xml-doc.c b/libgupnp/gupnp-xml-doc.c
index 627f1a28..66f9b3dd 100644
--- a/libgupnp/gupnp-xml-doc.c
+++ b/libgupnp/gupnp-xml-doc.c
@@ -15,6 +15,9 @@
#include <config.h>
#include <string.h>
#include <gio/gio.h>
+
+#include <libxml/parser.h>
+
#include "gupnp-xml-doc.h"
#include "gupnp-error.h"
diff --git a/libgupnp/xml-util.h b/libgupnp/xml-util.h
index a02eb3d4..d0dcaeba 100644
--- a/libgupnp/xml-util.h
+++ b/libgupnp/xml-util.h
@@ -10,6 +10,8 @@
#define GUPNP_XML_UTIL_H
#include <libxml/tree.h>
+#include <libxml/parser.h>
+
#include <stdarg.h>
#include <glib-object.h>
--
GitLab
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package luit for openSUSE:Factory checked in at 2023-12-15 21:46:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/luit (Old)
and /work/SRC/openSUSE:Factory/.luit.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "luit"
Fri Dec 15 21:46:55 2023 rev:15 rq:1133087 version:20230201
Changes:
--------
--- /work/SRC/openSUSE:Factory/luit/luit.changes 2022-10-30 18:28:36.998313277 +0100
+++ /work/SRC/openSUSE:Factory/.luit.new.25432/luit.changes 2023-12-15 21:47:03.801676640 +0100
@@ -1,0 +2,13 @@
+Mon Dec 11 11:27:05 UTC 2023 - Jiri Srain <jsrain(a)suse.com>
+
+- fixed upstream tarball URL
+
+-------------------------------------------------------------------
+Mon Feb 6 10:49:22 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- Update to version 2.0.20230201
+ * correct conversion to/from codes past BMP (patch by Ben Wong,
+ Debian #1027414)
+ * fix a few compiler-warnings in configure-checks
+
+-------------------------------------------------------------------
Old:
----
luit-20221028.tgz
New:
----
luit-2.0.20230201.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ luit.spec ++++++
--- /var/tmp/diff_new_pack.DKthD1/_old 2023-12-15 21:47:04.301694917 +0100
+++ /var/tmp/diff_new_pack.DKthD1/_new 2023-12-15 21:47:04.305695062 +0100
@@ -1,7 +1,7 @@
#
# spec file for package luit
#
-# 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,14 +16,16 @@
#
+%define tarballver 2.0.
+
Name: luit
-Version: 20221028
+Version: 20230201
Release: 0
Summary: Locale and ISO 2022 support for Unicode terminals
License: MIT
Group: System/X11/Utilities
URL: http://invisible-island.net/luit/
-Source0: ftp://ftp.invisible-island.net/%{name}/%{name}-%{version}.tgz
+Source0: https://invisible-island.net/archives/%{name}/current/%{name}-%{tarballver}…
BuildRequires: pkg-config
BuildRequires: pkgconfig(fontenc)
BuildRequires: pkgconfig(x11)
@@ -39,7 +41,7 @@
the locale's encoding.
%prep
-%setup -q
+%setup -q -n %{name}-%{tarballver}%{version}
%build
%configure --with-localealiasfile=%{_datadir}/X11/locale/locale.alias
++++++ luit-20221028.tgz -> luit-2.0.20230201.tgz ++++++
++++ 6674 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/luit-20221028/COPYING new/luit-2.0.20230201/COPYING
--- old/luit-20221028/COPYING 2022-01-12 00:30:50.000000000 +0100
+++ new/luit-2.0.20230201/COPYING 2023-02-02 00:23:55.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright 2006-2021,2022 by Thomas E. Dickey
+Copyright 2006-2022,2023 by Thomas E. Dickey
Copyright (c) 2002 by Tomohiro KUBOTA
Copyright (c) 2001 by Juliusz Chroboczek
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/luit-20221028/COPYING.asc new/luit-2.0.20230201/COPYING.asc
--- old/luit-20221028/COPYING.asc 2022-01-12 00:31:09.000000000 +0100
+++ new/luit-2.0.20230201/COPYING.asc 2023-02-02 00:25:38.000000000 +0100
@@ -1,15 +1,15 @@
-----BEGIN PGP SIGNATURE-----
Comment: See https://invisible-island.net/public/public.html for info
-iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmHeEzoACgkQzCr0RyFn
-vgODVQv/eI8YLqcbIj4Cv/OJxoj7xjzAfJzEpTS/K3XHTcloReOdxCry6RiyQkhN
-w5Fja6n2W5xalcZ7BnlrrJZHGvM6rlAVisP+g9ZdtYJfJo5ysZFZ/IeyoKASTe1Q
-vsodMca3ZJgncwUAxxWKfMyRVzEiun5Yg6R3PjhRPVz1B/YW9d5ZQdPSMkYdrSjK
-PfO6a1Dua1Z+hc7fmI2YXioOSOaKDjLtBQ5JYSU6nDtk4jifsGZRnY50Ir8uVqMT
-MBFuZvSdIXa5ixlTo/q7loutvRMOD28YaD1y3exJDxH4HPLt2Xdf1CuLQ5cDFYg1
-7qlmYeyB/ahEVM5ukegx6u4WwVHm2TZOsXEwf8MuEqNN1hNSYD7iF5zkd45czjAM
-egdEwmm9JPhIzGv8rS2BG9T18+4ttp4xt9Lla1/duVlIoTz7hxr/7b97xREkPZfh
-mSUiUUBiCTaFubOatgxZP4t8rH31u6I5BJKCWhRuBuWW1oOWPYGUtMJ7PFjivSz4
-lBzEkJ/T
-=kRJ4
+iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmPa9PEACgkQzCr0RyFn
+vgOSqgv/aMvK6JTyXue6IuUnhQqIrTG00a8Y2I6GWu/R4fjYKhG/ytoOuMkgAlP0
+fzVmLGZdYEuLf2YwGbVoPQqOuVWVDPTfmhNa2tGuPA9L4W8iu/fCqnyJlEvQZ++6
+TCo4hU9hiMeRD4OljBh+sOIO10OyCuKXHePnuL6pfrrq1spRHjqpI/yJI+SLYmIM
+YaZ6UA0qCMyMcRFZvQJJ9CvaMCc15lvckvba4OJ8RjKENzxjXfM+zrMlFnq5rY/4
+vclpaOfyL+bR7LM7WokWT5HUbL2MNMwtaYwGKntCbmGrDsx7nikAoA/vzKPLo8tm
+DgtYo83zMlvXkIXkp8PqjjrnSQkMmBnZ/7Gu0JNGUH35Wp1epyBLpFJi4ayt75HB
+XCz1yAmxxZFukDjuy7hwV/wNFbqWL3TOPs/8anJcDI+GgOiyB/S+0RPzagGKAg5p
+ISZQVXN9rLKi54aFxKFgVEihQtGKebrCUEr4LGk5pnvcXkB5tQRFkkEAjS9UQVuh
+NVOCiOuA
+=keWR
-----END PGP SIGNATURE-----
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/luit-20221028/configure.in new/luit-2.0.20230201/configure.in
--- old/luit-20221028/configure.in 2020-10-03 14:39:34.000000000 +0200
+++ new/luit-2.0.20230201/configure.in 2023-02-02 00:25:21.000000000 +0100
@@ -1,8 +1,8 @@
-dnl $XTermId: configure.in,v 1.49 2020/10/03 12:39:34 tom Exp $
+dnl $XTermId: configure.in,v 1.51 2023/02/01 23:25:21 tom Exp $
dnl
dnl ---------------------------------------------------------------------------
dnl
-dnl Copyright 2006-2019,2020 by Thomas E. Dickey
+dnl Copyright 2006-2020,2023 by Thomas E. Dickey
dnl
dnl All Rights Reserved
dnl
@@ -25,7 +25,7 @@
dnl
dnl ---------------------------------------------------------------------------
-AC_PREREQ(2.52.20200802)
+AC_PREREQ(2.52.20230114)
AC_INIT(luit.c)
AC_CONFIG_HEADER(config.h:config_h.in)
CF_CHECK_CACHE
@@ -41,7 +41,10 @@
AC_CONST
AC_PATH_XTRA
+
CF_XOPEN_SOURCE(600)
+AC_CHECK_DECL(exit)
+
CF_SIGWINCH
CF_SVR4
CF_SYSV
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/luit-20221028/iso2022.c new/luit-2.0.20230201/iso2022.c
--- old/luit-20221028/iso2022.c 2018-06-27 22:41:53.000000000 +0200
+++ new/luit-2.0.20230201/iso2022.c 2023-02-02 00:54:17.000000000 +0100
@@ -1,7 +1,7 @@
-/* $XTermId: iso2022.c,v 1.40 2018/06/27 20:41:53 tom Exp $ */
+/* $XTermId: iso2022.c,v 1.42 2023/02/01 23:54:17 tom Exp $ */
/*
-Copyright 2011-2013,2018 by Thomas E. Dickey
+Copyright 2011-2018,2023 by Thomas E. Dickey
Copyright (c) 2001 by Juliusz Chroboczek
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -134,11 +134,35 @@
OUTBUF_MAKE_FREE(is, fd, 2);
is->outbuf[is->outbuf_count++] = UChar(0xC0 | ((c >> 6) & 0x1F));
is->outbuf[is->outbuf_count++] = UChar(0x80 | (c & 0x3F));
- } else {
+ } else if (c <= 0xFFFF) {
OUTBUF_MAKE_FREE(is, fd, 3);
is->outbuf[is->outbuf_count++] = UChar(0xE0 | ((c >> 12) & 0x0F));
is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 6) & 0x3F));
is->outbuf[is->outbuf_count++] = UChar(0x80 | (c & 0x3F));
+ } else if (c <= 0x1FFFFF) {
+ OUTBUF_MAKE_FREE(is, fd, 4);
+ is->outbuf[is->outbuf_count++] = UChar(0xF0 | ((c >> 18) & 0x07));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 12) & 0x3F));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 6) & 0x3F));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | (c & 0x3F));
+ } else if (c <= 0x03FFFFFF) {
+ OUTBUF_MAKE_FREE(is, fd, 5);
+ is->outbuf[is->outbuf_count++] = UChar(0xF8 | ((c >> 24) & 0x03));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 18) & 0x3f));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 12) & 0x3F));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 6) & 0x3F));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | (c & 0x3F));
+ } else if (c <= 0x7FFFFFFF) {
+ OUTBUF_MAKE_FREE(is, fd, 6);
+ is->outbuf[is->outbuf_count++] = UChar(0xFC | ((c >> 30) & 0x01));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 24) & 0x3f));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 18) & 0x3f));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 12) & 0x3F));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | ((c >> 6) & 0x3F));
+ is->outbuf[is->outbuf_count++] = UChar(0x80 | (c & 0x3F));
+ } else {
+ /* "21 bits ought to be enough for anybody!" -- The Unicode Consortium */
+ Warning("ignoring character beyond UTF-8's 31-bit range: 0x%X.\n", c);
}
}
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/luit-20221028/luit.log.html new/luit-2.0.20230201/luit.log.html
--- old/luit-20221028/luit.log.html 2022-10-28 21:59:10.000000000 +0200
+++ new/luit-2.0.20230201/luit.log.html 2023-02-02 00:56:30.000000000 +0100
@@ -1,6 +1,6 @@
<!--
******************************************************************************
- * Copyright 2006-2021,2022 by Thomas E. Dickey *
+ * Copyright 2006-2022,2023 by Thomas E. Dickey *
* All Rights Reserved. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -21,7 +21,7 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *
* DEALINGS IN THE SOFTWARE. *
******************************************************************************
- $XTermId: luit.log.html,v 1.193 2022/10/28 19:59:10 tom Exp $
+ $XTermId: luit.log.html,v 1.196 2023/02/01 23:56:30 tom Exp $
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
@@ -35,7 +35,7 @@
</head>
<body>
<hr>
- Copyright 2006-2021,2022 by <a href=
+ Copyright 2006-2022,2023 by <a href=
"mailto:dickey@invisible-island.net">Thomas E. Dickey</a>
<hr>
@@ -43,6 +43,15 @@
<p>This file contains a list of the changes that I have made for
luit.</p>
+ <p><a id="t20230201" name="t20230201">2023/02/01</a> -</p>
+
+ <ul>
+ <li>correct conversion to/from codes past BMP (patch by Ben
+ Wong, Debian #1027414)</li>
+
+ <li>fix a few compiler-warnings in configure-checks</li>
+ </ul>
+
<p><a id="t20221028" name="t20221028">2022/10/28</a> -</p>
<ul>
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/luit-20221028/other.c new/luit-2.0.20230201/other.c
--- old/luit-20221028/other.c 2013-01-30 02:27:54.000000000 +0100
+++ new/luit-2.0.20230201/other.c 2023-02-02 00:47:05.000000000 +0100
@@ -1,6 +1,7 @@
-/* $XTermId: other.c,v 1.15 2013/01/30 01:27:54 tom Exp $ */
+/* $XTermId: other.c,v 1.17 2023/02/01 23:47:05 tom Exp $ */
/*
+Copyright 2006-2013,2023 by Thomas E. Dickey
Copyright (c) 2002 by Tomohiro KUBOTA
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -122,26 +123,26 @@
return (int) c;
}
if (s->utf8.buf_ptr == 0) {
- if ((c & 0x40) == 0)
+ if ((c & 0x40) == 0) /* Skip continuation bytes 10xx xxxx */
return -1;
s->utf8.buf[s->utf8.buf_ptr++] = UChar(c);
- if ((c & 0x60) == 0x40)
+ if ((c & 0x60) == 0x40) /* Starts with 110x xxxx */
s->utf8.len = 2;
- else if ((c & 0x70) == 0x60)
+ else if ((c & 0x70) == 0x60) /* Starts with 1110 xxxx */
s->utf8.len = 3;
- else if ((c & 0x78) == 0x70)
+ else if ((c & 0x78) == 0x70) /* Starts with 1111 0xxx */
s->utf8.len = 4;
else
s->utf8.buf_ptr = 0;
return -1;
}
- if ((c & 0x40) != 0) {
+ if ((c & 0x40) != 0) { /* Resync if not a continuation 10xx xxxx */
s->utf8.buf_ptr = 0;
return -1;
}
s->utf8.buf[s->utf8.buf_ptr++] = UChar(c);
if (s->utf8.buf_ptr < s->utf8.len)
- return -1;
+ return -1; /* Get the next continuation byte */
switch (s->utf8.len) {
case 2:
u = ((s->utf8.buf[0] & 0x1F) << 6) | (s->utf8.buf[1] & 0x3F);
@@ -160,7 +161,7 @@
else
return u;
case 4:
- u = ((s->utf8.buf[0] & 0x03) << 18)
+ u = ((s->utf8.buf[0] & 0x07) << 18)
| ((s->utf8.buf[1] & 0x3F) << 12)
| ((s->utf8.buf[2] & 0x3F) << 6)
| ((s->utf8.buf[3] & 0x3F));
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/luit-20221028/package/detest/changelog new/luit-2.0.20230201/package/detest/changelog
--- old/luit-20221028/package/detest/changelog 2022-10-28 21:51:45.000000000 +0200
+++ new/luit-2.0.20230201/package/detest/changelog 2023-02-02 00:19:21.000000000 +0100
@@ -1,3 +1,9 @@
+bluit (2.0+20230201) unstable; urgency=low
+
+ * maintenance updates
+
+ -- Thomas E. Dickey <dickey(a)invisible-island.net> Wed, 01 Feb 2023 18:19:21 -0500
+
bluit (2.0+20221028) unstable; urgency=low
* maintenance updates
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/luit-20221028/package/detest/copyright new/luit-2.0.20230201/package/detest/copyright
--- old/luit-20221028/package/detest/copyright 2022-01-12 00:56:51.000000000 +0100
+++ new/luit-2.0.20230201/package/detest/copyright 2023-02-02 00:24:32.000000000 +0100
@@ -4,7 +4,7 @@
Source: https://invisible-island.net/luit/
Files: *
-Copyright: 2006-2021,2022 by Thomas E. Dickey
+Copyright: 2006-2022,2023 by Thomas E. Dickey
License: X11
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
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/luit-20221028/package/luit.spec new/luit-2.0.20230201/package/luit.spec
--- old/luit-20221028/package/luit.spec 2022-10-28 21:51:21.000000000 +0200
+++ new/luit-2.0.20230201/package/luit.spec 2023-02-02 00:19:21.000000000 +0100
@@ -1,8 +1,8 @@
Summary: luit - Locale and ISO 2022 support for Unicode terminals
%define AppProgram luit
-%define AppVersion 20221028
+%define AppVersion 20230201
%define UseProgram b%{AppProgram}
-# $XTermId: luit.spec,v 1.69 2022/10/28 19:51:21 tom Exp $
+# $XTermId: luit.spec,v 1.70 2023/02/01 23:19:21 tom Exp $
Name: %{UseProgram}
Version: %{AppVersion}
Release: 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/luit-20221028/version.h new/luit-2.0.20230201/version.h
--- old/luit-20221028/version.h 2022-10-28 21:51:20.000000000 +0200
+++ new/luit-2.0.20230201/version.h 2023-02-02 00:19:20.000000000 +0100
@@ -1,6 +1,6 @@
/*
- * $XTermId: version.h,v 1.64 2022/10/28 19:51:20 tom Exp $
+ * $XTermId: version.h,v 1.65 2023/02/01 23:19:20 tom Exp $
*
* http://invisible-island.net/luit/
*/
-#define LUIT_VERSION "2.0-20221028"
+#define LUIT_VERSION "2.0-20230201"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openvswitch for openSUSE:Factory checked in at 2023-12-15 21:46:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openvswitch (Old)
and /work/SRC/openSUSE:Factory/.openvswitch.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openvswitch"
Fri Dec 15 21:46:52 2023 rev:71 rq:1133086 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/openvswitch/openvswitch.changes 2023-12-06 23:52:21.084353365 +0100
+++ /work/SRC/openSUSE:Factory/.openvswitch.new.25432/openvswitch.changes 2023-12-15 21:47:01.961609382 +0100
@@ -1,0 +2,5 @@
+Thu Dec 14 11:55:19 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- convert to sysuser generated users
+
+-------------------------------------------------------------------
New:
----
openvswitch-user.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openvswitch.spec ++++++
--- /var/tmp/diff_new_pack.1foVru/_old 2023-12-15 21:47:03.049649151 +0100
+++ /var/tmp/diff_new_pack.1foVru/_new 2023-12-15 21:47:03.053649298 +0100
@@ -63,6 +63,7 @@
Source0: http://openvswitch.org/releases/openvswitch-%{version}.tar.gz
Source1: https://github.com/ovn-org/ovn/archive/v%{ovn_version}.tar.gz#/ovn-%{ovn_ve…
Source2: preamble
+Source10: openvswitch-user.conf
Source89: Module.supported.updates
Source99: openvswitch-rpmlintrc
# OVS patches
@@ -116,10 +117,12 @@
%if 0%{?suse_version}
BuildRequires: libopenssl-devel
BuildRequires: python-rpm-macros
+BuildRequires: sysuser-tools
Requires(post): %fillup_prereq
Requires(pre): shadow
Suggests: logrotate
%{?systemd_ordering}
+%sysusers_requires
%else
BuildRequires: environment-modules
BuildRequires: openssl-devel
@@ -507,6 +510,8 @@
PYTHON3=%{_bindir}/python3 \
LDFLAGS=-L../%{ovs_dir}/lib/.libs
%make_build
+popd
+%sysusers_generate_pre %{SOURCE10} openvswitch openvswitch.conf
%check
%if %{with check}
@@ -727,7 +732,9 @@
# Done with OVN additional files.
popd
-%pre
+install -D -m 0644 %{SOURCE10} %{buildroot}%{_sysusersdir}/openvswitch.conf
+
+%pre -f openvswitch.pre
%if 0%{?suse_version}
%service_add_pre ovsdb-server.service ovs-vswitchd.service openvswitch.service ovs-delete-transient-ports.service
%endif
@@ -736,17 +743,10 @@
# ownership of openvswitch.service from openvswitch-switch to
# openvswitch.
if [ x$(systemctl is-enabled openvswitch.service 2>/dev/null ||:) = "xenabled" ]; then
- touch %{rpmstate}openvswitch
+ touch %{rpmstate}openvswitch || :
fi
fi
-getent group openvswitch >/dev/null || groupadd -r openvswitch
-getent passwd openvswitch >/dev/null || \
- useradd -r -g openvswitch -d / -s /sbin/nologin \
- -c "Open vSwitch Daemons" openvswitch
-
-exit 0
-
%pre ipsec
%if 0%{?suse_version}
%service_add_pre openvswitch-ipsec.service
@@ -1171,6 +1171,7 @@
%{_fillupdir}/sysconfig.openvswitch
%{_datadir}/bash-completion/completions/ovs-appctl-bashcomp.bash
%{_datadir}/bash-completion/completions/ovs-vsctl-bashcomp.bash
+%{_sysusersdir}/openvswitch.conf
%else
%config(noreplace) %{_sysconfdir}/sysconfig/openvswitch
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
++++++ openvswitch-user.conf ++++++
# Type Name ID GECOS [HOME]
g openvswitch - -
u openvswitch - "Open vSwitch Daemons" / /sbin/nologin
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package installation-images for openSUSE:Factory checked in at 2023-12-15 21:46:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/installation-images (Old)
and /work/SRC/openSUSE:Factory/.installation-images.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "installation-images"
Fri Dec 15 21:46:51 2023 rev:197 rq:1133077 version:17.105
Changes:
--------
--- /work/SRC/openSUSE:Factory/installation-images/installation-images.changes 2023-11-21 21:31:34.186351102 +0100
+++ /work/SRC/openSUSE:Factory/.installation-images.new.25432/installation-images.changes 2023-12-15 21:47:00.101541393 +0100
@@ -1,0 +2,8 @@
+Thu Dec 14 11:16:24 UTC 2023 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/installation-images#677
+- include complete system-role-common-criteria package
+ (bsc#1217968)
+- 17.105
+
+--------------------------------------------------------------------
Old:
----
installation-images-17.104.tar.xz
New:
----
installation-images-17.105.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ installation-images.spec ++++++
--- /var/tmp/diff_new_pack.4DRRc7/_old 2023-12-15 21:47:00.953572536 +0100
+++ /var/tmp/diff_new_pack.4DRRc7/_new 2023-12-15 21:47:00.957572683 +0100
@@ -670,7 +670,7 @@
Summary: Installation Image Files for %theme
License: GPL-2.0-or-later
Group: Metapackages
-Version: 17.104
+Version: 17.105
Release: 0
Provides: installation-images = %version-%release
Conflicts: otherproviders(installation-images)
++++++ installation-images-17.104.tar.xz -> installation-images-17.105.tar.xz ++++++
++++ 5734 lines of diff (skipped)
1
0
15 Dec '23
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package obs-service-replace_using_package_version for openSUSE:Factory checked in at 2023-12-15 21:46:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-replace_using_package_version (Old)
and /work/SRC/openSUSE:Factory/.obs-service-replace_using_package_version.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-replace_using_package_version"
Fri Dec 15 21:46:43 2023 rev:7 rq:1132949 version:0.0.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-replace_using_package_version/obs-service-replace_using_package_version.changes 2023-04-12 12:50:59.840720534 +0200
+++ /work/SRC/openSUSE:Factory/.obs-service-replace_using_package_version.new.25432/obs-service-replace_using_package_version.changes 2023-12-15 21:46:49.889168114 +0100
@@ -1,0 +2,17 @@
+Wed Dec 13 20:47:44 UTC 2023 - containers(a)suse.com
+
+- Update to version 1702495728.72fe58b:
+ * Bump version: 0.0.8 → 0.0.9
+ * Bump actions/setup-python from 4.8.0 to 5.0.0
+ * Bump actions/setup-python from 4.7.1 to 4.8.0
+ * Workaround integration test failures due to PEP 668 marker
+ * Bump actions/setup-python from 4.6.1 to 4.7.1
+ * Bump actions/checkout from 3 to 4
+ * Report the package name that is missing (#56)
+ * Bump pytest-container from 0.1.1 to 0.2.0
+ * Drop mock dependency, stdlib has it
+ * Bump actions/setup-python from 4.6.0 to 4.6.1
+ * Bump actions/setup-python from 4.5.0 to 4.6.0
+ * Bump version: 0.0.7 → 0.0.8
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-replace_using_package_version.spec ++++++
--- /var/tmp/diff_new_pack.TqKruB/_old 2023-12-15 21:46:50.645195748 +0100
+++ /var/tmp/diff_new_pack.TqKruB/_new 2023-12-15 21:46:50.645195748 +0100
@@ -19,7 +19,7 @@
%define service replace_using_package_version
Name: obs-service-%{service}
-Version: 0.0.7
+Version: 0.0.9
Release: 0
Summary: An OBS service: Replaces a regex with the version value of a package
License: GPL-3.0-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.TqKruB/_old 2023-12-15 21:46:50.689197356 +0100
+++ /var/tmp/diff_new_pack.TqKruB/_new 2023-12-15 21:46:50.693197503 +0100
@@ -1,5 +1,5 @@
<services>
- <service name="obs_scm" mode="disabled">
+ <service name="obs_scm" mode="manual">
<param name="url">https://github.com/openSUSE/obs-service-replace_using_package_version.git</param>
<param name="scm">git</param>
<param name="filename">replace_using_package_version</param>
@@ -11,7 +11,7 @@
<param name="version">_none_</param>
<param name="changesgenerate">enable</param>
<param name="changesauthor">containers(a)suse.com</param>
- <param name="revision">master</param>
+ <param name="revision">@PARENT_TAG@</param>
</service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.TqKruB/_old 2023-12-15 21:46:50.713198234 +0100
+++ /var/tmp/diff_new_pack.TqKruB/_new 2023-12-15 21:46:50.713198234 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/obs-service-replace_using_package_version.git</param>
- <param name="changesrevision">eb96e8582f54b9e2c5c5259e379ced1e79cd642d</param></service></servicedata>
+ <param name="changesrevision">72fe58b8a7d29342985f4304dcf1c0c4d0b1c18c</param></service></servicedata>
(No newline at EOF)
++++++ replace_using_package_version.py ++++++
--- /var/tmp/diff_new_pack.TqKruB/_old 2023-12-15 21:46:50.733198965 +0100
+++ /var/tmp/diff_new_pack.TqKruB/_new 2023-12-15 21:46:50.737199111 +0100
@@ -171,7 +171,7 @@
version = find_package_version_in_obsinfo('.', package)
if version is None:
- raise Exception('Package version not found')
+ raise Exception(f'Package {package} version not found')
return str(version)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Babel for openSUSE:Factory checked in at 2023-12-15 21:46:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Babel (Old)
and /work/SRC/openSUSE:Factory/.python-Babel.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Babel"
Fri Dec 15 21:46:39 2023 rev:42 rq:1133432 version:2.13.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Babel/python-Babel.changes 2023-09-06 18:57:57.519056867 +0200
+++ /work/SRC/openSUSE:Factory/.python-Babel.new.25432/python-Babel.changes 2023-12-15 21:46:47.329074538 +0100
@@ -1,0 +2,26 @@
+Thu Dec 14 11:11:50 UTC 2023 - pgajdos(a)suse.com
+
+- deleted patches
+ - fix-tests.patch (upstreamed)
+
+-------------------------------------------------------------------
+Thu Dec 14 09:15:20 UTC 2023 - Petr Gajdos <pgajdos(a)suse.com>
+
+- update to 2.13.1:
+ * Fix a typo in ``_locales_to_names``
+ * Fix ``setuptools`` dependency for Python 3.12
+ * This version, Babel 2.13, is the last version of Babel to
+ support Python 3.7.
+ * Add flag to ignore POT-Creation-Date for updates
+ * Support 't' specifier in keywords
+ * Add f-string parsing for Python 3.12 (PEP 701)
+ * Various typing-related fixes
+ * babel.messages.catalog: deduplicate _to_fuzzy_match_key logic
+ * Freeze format_time() tests to a specific date to fix test
+ failures
+ * Spelling and grammar fixes
+ * Renovate lint tools
+ * Use SPDX license identifier
+ * Use aware UTC datetimes internally
+
+-------------------------------------------------------------------
Old:
----
Babel-2.12.1.tar.gz
fix-tests.patch
New:
----
Babel-2.13.1.tar.gz
BETA DEBUG BEGIN:
Old:- deleted patches
- fix-tests.patch (upstreamed)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Babel.spec ++++++
--- /var/tmp/diff_new_pack.jz4xYM/_old 2023-12-15 21:46:48.497117232 +0100
+++ /var/tmp/diff_new_pack.jz4xYM/_new 2023-12-15 21:46:48.509117671 +0100
@@ -26,14 +26,12 @@
%define oldpython python
%{?sle15_python_module_pythons}
Name: python-Babel
-Version: 2.12.1
+Version: 2.13.1
Release: 0
Summary: Internationalization utilities
License: BSD-3-Clause
-URL: http://babel.pocoo.org/
+URL: https://babel.pocoo.org/
Source: https://files.pythonhosted.org/packages/source/B/Babel/Babel-%{version}.tar…
-# PATCH-FIX-UPSTREAM: fix-tests.patch, gh#python-babel/babel#998
-Patch0: fix-tests.patch
BuildRequires: %{python_module freezegun}
BuildRequires: %{python_module py >= 1.4.14}
BuildRequires: %{python_module pytest >= 2.3.5}
++++++ Babel-2.12.1.tar.gz -> Babel-2.13.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-Babel/Babel-2.12.1.tar.gz /work/SRC/openSUSE:Factory/.python-Babel.new.25432/Babel-2.13.1.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-alembic for openSUSE:Factory checked in at 2023-12-15 21:46:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-alembic (Old)
and /work/SRC/openSUSE:Factory/.python-alembic.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-alembic"
Fri Dec 15 21:46:38 2023 rev:77 rq:1133430 version:1.13.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-alembic/python-alembic.changes 2023-11-15 21:07:01.960810795 +0100
+++ /work/SRC/openSUSE:Factory/.python-alembic.new.25432/python-alembic.changes 2023-12-15 21:46:43.904949379 +0100
@@ -1,0 +2,29 @@
+Thu Dec 14 09:13:53 UTC 2023 - Petr Gajdos <pgajdos(a)suse.com>
+
+- update to 1.13.0:
+ * Fixed issue where the ``alembic check`` command did not
+ function correctly with upgrade structures that have multiple,
+ top-level elements, as are generated from the "multi-env"
+ environment template.
+ * Updated logic introduced in :ticket:`151` to allow
+ ``if_exists`` and ``if_not_exists`` on index operations also
+ on SQLAlchemy 1.4 series. Previously this feature was
+ mistakenly requiring the 2.0 series.
+ * Replaced ``python-dateutil`` with the standard library module
+ zoneinfo.
+ * Alembic 1.13 now supports Python 3.8 and above.
+ * Fixed autogenerate issue where ``create_table_comment()`` and
+ ``drop_table_comment()`` rendering in a batch table modify
+ would include the "table" and "schema" arguments, which are
+ not accepted in batch as these are already part of the top
+ level block.
+ * Additional fixes to PostgreSQL expression index compare
+ feature. The compare now correctly accommodates casts and
+ differences in spacing.
+ * Added detection logic for operation clauses inside the
+ expression, skipping the compare of these expressions.
+ * To accommodate these changes the logic for the comparison of
+ the indexes and unique constraints was moved to the dialect
+ implementation, allowing greater flexibility.
+
+-------------------------------------------------------------------
Old:
----
alembic-1.12.1.tar.gz
New:
----
alembic-1.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-alembic.spec ++++++
--- /var/tmp/diff_new_pack.CAxjfe/_old 2023-12-15 21:46:45.581010643 +0100
+++ /var/tmp/diff_new_pack.CAxjfe/_new 2023-12-15 21:46:45.593011081 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-alembic
-Version: 1.12.1
+Version: 1.13.0
Release: 0
Summary: A database migration tool for SQLAlchemy
License: MIT
@@ -26,12 +26,13 @@
Source0: https://files.pythonhosted.org/packages/source/a/alembic/alembic-%{version}…
BuildRequires: %{python_module Mako}
BuildRequires: %{python_module SQLAlchemy >= 2.0.0}
+BuildRequires: %{python_module backports.zoneinfo if %python-base < 3.9}
BuildRequires: %{python_module importlib-metadata if %python-base < 3.9}
BuildRequires: %{python_module importlib-resources if %python-base < 3.9}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module python-dateutil}
+BuildRequires: %{python_module pytzdata}
BuildRequires: %{python_module typing-extensions >= 4}
BuildRequires: %{python_module wheel}
BuildRequires: %{pythons}
++++++ alembic-1.12.1.tar.gz -> alembic-1.13.0.tar.gz ++++++
++++ 4514 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-rdflib for openSUSE:Factory checked in at 2023-12-15 21:46:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rdflib (Old)
and /work/SRC/openSUSE:Factory/.python-rdflib.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rdflib"
Fri Dec 15 21:46:36 2023 rev:29 rq:1133427 version:6.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rdflib/python-rdflib.changes 2022-02-09 20:38:24.346261979 +0100
+++ /work/SRC/openSUSE:Factory/.python-rdflib.new.25432/python-rdflib.changes 2023-12-15 21:46:41.780871740 +0100
@@ -1,0 +2,5 @@
+Wed Dec 13 08:40:59 UTC 2023 - Bernhard Wiedemann <bwiedemann(a)suse.com>
+
+- Add reproducible.patch for reproducible builds (boo#1062303)
+
+-------------------------------------------------------------------
New:
----
reproducible.patch
BETA DEBUG BEGIN:
New:
- Add reproducible.patch for reproducible builds (boo#1062303)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rdflib.spec ++++++
--- /var/tmp/diff_new_pack.TYnM8H/_old 2023-12-15 21:46:42.828910048 +0100
+++ /var/tmp/diff_new_pack.TYnM8H/_new 2023-12-15 21:46:42.832910194 +0100
@@ -26,6 +26,7 @@
License: BSD-3-Clause
URL: http://rdflib.net/
Source: https://files.pythonhosted.org/packages/source/r/rdflib/rdflib-%{version}.t…
+Patch0: reproducible.patch
BuildRequires: %{python_module html5lib}
BuildRequires: %{python_module isodate}
BuildRequires: %{python_module pyparsing}
@@ -66,6 +67,7 @@
%prep
%setup -q -n rdflib-%{version}
+%patch0 -p1
# remove unwanted shebang
find rdflib -name "*.py" | xargs sed -i '1 { /^#!/ d }'
++++++ reproducible.patch ++++++
Author: Bernhard M. Wiedemann <bwiedemann(a)suse.de>
Date: Wed Dec 13 09:28:20 2023 +0100
Mark Restriction and Individual as private
Fixes https://github.com/RDFLib/rdflib/issues/2645
Without this patch, the graph's random identifier leaked into
html/apidocs/rdflib.extras.html
See https://reproducible-builds.org/ for why this matters.
This patch was done while working on reproducible builds for openSUSE.
Index: rdflib-6.1.1/rdflib/extras/infixowl.py
===================================================================
--- rdflib-6.1.1.orig/rdflib/extras/infixowl.py
+++ rdflib-6.1.1/rdflib/extras/infixowl.py
@@ -365,6 +365,8 @@ class TermDeletionHelper:
class Individual(object):
"""
A typed individual
+
+ :meta private:
"""
factoryGraph = Graph()
@@ -1606,6 +1608,7 @@ class Restriction(Class):
individualRestrictionComponent
{ individualRestrictionComponent } ')'
+ :meta private:
"""
restrictionKinds = [
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-argon2-cffi for openSUSE:Factory checked in at 2023-12-15 21:46:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-argon2-cffi (Old)
and /work/SRC/openSUSE:Factory/.python-argon2-cffi.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-argon2-cffi"
Fri Dec 15 21:46:34 2023 rev:13 rq:1133418 version:23.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-argon2-cffi/python-argon2-cffi.changes 2023-06-12 15:25:17.998643269 +0200
+++ /work/SRC/openSUSE:Factory/.python-argon2-cffi.new.25432/python-argon2-cffi.changes 2023-12-15 21:46:39.980805944 +0100
@@ -1,0 +2,25 @@
+Thu Dec 14 09:14:35 UTC 2023 - Petr Gajdos <pgajdos(a)suse.com>
+
+- update to 23.1.0:
+ * The only new feature is the possibility to pass an own salt
+ to `argon2.PasswordHasher.hash()`, however a lot has changed
+ around documentation and packaging to make *argon2-cffi*
+ maintainable in the future.
+ * Python 3.6 is not supported anymore.
+ * The `InvalidHash` exception is deprecated in favor of
+ `InvalidHashError`. No plans for removal currently exist and
+ the names can (but shouldn't) be used interchangeably.
+ * `argon2.hash_password()`, `argon2.hash_password_raw()`, and
+ `argon2.verify_password()` that have been soft-deprecated
+ since 2016 are now hard-deprecated. They now raise
+ `DeprecationWarning`s and will be removed in 2024.
+ * Official support for Python 3.11 and 3.12. No code changes
+ were necessary.
+ * `argon2.exceptions.InvalidHashError` as a replacement for
+ `InvalidHash`.
+ * *salt* parameter to `argon2.PasswordHasher.hash()` to allow
+ for custom salts. This is only useful for specialized use-
+ cases -- leave it on None unless you know exactly what you
+ are doing. \#153
+
+-------------------------------------------------------------------
Old:
----
argon2-cffi-21.3.0.tar.gz
New:
----
argon2_cffi-23.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-argon2-cffi.spec ++++++
--- /var/tmp/diff_new_pack.AZT0fV/_old 2023-12-15 21:46:40.600828607 +0100
+++ /var/tmp/diff_new_pack.AZT0fV/_new 2023-12-15 21:46:40.604828753 +0100
@@ -18,13 +18,16 @@
%{?sle15_python_module_pythons}
Name: python-argon2-cffi
-Version: 21.3.0
+Version: 23.1.0
Release: 0
Summary: The Argon2 password hashing algorithm for Python
License: MIT
URL: https://github.com/hynek/argon2_cffi
-Source: https://files.pythonhosted.org/packages/source/a/argon2-cffi/argon2-cffi-%{…
+Source: https://files.pythonhosted.org/packages/source/a/argon2-cffi/argon2_cffi-%{…
BuildRequires: %{python_module flit-core}
+BuildRequires: %{python_module hatch-fancy-pypi-readme}
+BuildRequires: %{python_module hatch-vcs}
+BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
@@ -33,8 +36,9 @@
# For test
BuildRequires: %{python_module argon2-cffi-bindings}
Requires: python-argon2-cffi-bindings
-Provides: python-argon2_cffi
-Obsoletes: python-argon2_cffi
+Provides: python-argon2_cffi = %{version}
+Obsoletes: python-argon2_cffi < %{version}
+BuildArch: noarch
%python_subpackages
%description
@@ -42,7 +46,7 @@
C library.
%prep
-%setup -q -n argon2-cffi-%{version}
+%autosetup -p1 -n argon2_cffi-%{version}
%build
export ARGON2_CFFI_USE_SYSTEM=1
@@ -56,7 +60,7 @@
%pytest
%files %{python_files}
-%doc README.rst AUTHORS.rst FAQ.rst
+%doc CHANGELOG.md FAQ.md README.md
%license LICENSE
%{python_sitelib}/argon2
%{python_sitelib}/argon2_cffi-%{version}.dist-info
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sof-firmware for openSUSE:Factory checked in at 2023-12-15 21:46:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sof-firmware (Old)
and /work/SRC/openSUSE:Factory/.sof-firmware.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sof-firmware"
Fri Dec 15 21:46:29 2023 rev:26 rq:1133359 version:2023.09.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/sof-firmware/sof-firmware.changes 2023-11-15 21:07:04.044887688 +0100
+++ /work/SRC/openSUSE:Factory/.sof-firmware.new.25432/sof-firmware.changes 2023-12-15 21:46:31.320489393 +0100
@@ -1,0 +2,7 @@
+Fri Dec 15 09:18:33 UTC 2023 - Takashi Iwai <tiwai(a)suse.com>
+
+- Update to version 2023.09.02:
+ updates for Intel Meteor Lake (jsc#PED-6123,jsc#PED-6114,
+ jsc#PED-6104,jsc#PED-6067,jsc#PED-6045,jsc#PED-6036)
+
+-------------------------------------------------------------------
@@ -10 +17,2 @@
- fixes for Intel Meteor Lake platforms
+ fixes for Intel Meteor Lake platforms (jsc#PED-6123,jsc#PED-6114,
+ jsc#PED-6104,jsc#PED-6067,jsc#PED-6045,jsc#PED-6036)
Old:
----
sof-bin-2023.09.1.tar.gz
New:
----
sof-bin-2023.09.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sof-firmware.spec ++++++
--- /var/tmp/diff_new_pack.6f9uju/_old 2023-12-15 21:46:31.896510448 +0100
+++ /var/tmp/diff_new_pack.6f9uju/_new 2023-12-15 21:46:31.896510448 +0100
@@ -24,7 +24,7 @@
Summary: Firmware data files for SOF Drivers
License: BSD-3-Clause
Group: Hardware/Other
-Version: 2023.09.1
+Version: 2023.09.2
Release: 0
URL: https://www.sofproject.org/
BuildRequires: fdupes
++++++ sof-bin-2023.09.1.tar.gz -> sof-bin-2023.09.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sof-bin-2023.09.1/manifest.txt new/sof-bin-2023.09.2/manifest.txt
--- old/sof-bin-2023.09.1/manifest.txt 2023-11-03 11:35:49.000000000 +0100
+++ new/sof-bin-2023.09.2/manifest.txt 2023-11-15 13:41:48.000000000 +0100
@@ -2,15 +2,17 @@
sof-ace-tplg-v2.7 ./sof-hda-generic-2ch.tplg
sof-ace-tplg-v2.7 ./sof-hda-generic-4ch.tplg
sof-ace-tplg-v2.7 ./sof-hda-generic-idisp.tplg
-sof-ace-tplg-v2.7 ./sof-mtl-max98357a-rt5682.tplg
-sof-ace-tplg-v2.7 ./sof-mtl-max98357a-rt5682-ssp2-ssp0.tplg
-sof-ace-tplg-v2.7 ./sof-mtl-max98357a-rt5682-ssp2-ssp0-2ch-pdm1.tplg
sof-ace-tplg-v2.7 ./sof-mtl-rt711-4ch.tplg
sof-ace-tplg-v2.7 ./sof-mtl-rt711-l0-rt1316-l23-rt714-l1.tplg
sof-ace-tplg-v2.7 ./sof-mtl-rt712-l0-rt1712-l3.tplg
sof-ace-tplg-v2.7 ./sof-mtl-rt1019-rt5682.tplg
sof-ace-tplg-v2.7 ./sof-mtl-rt1318-l12-rt714-l0.tplg
sof-ace-tplg-v2.7 ./sof-mtl-sdw-cs42l42-l0-max98363-l2.tplg
+sof-ace-tplg-v2.7.2 ./sof-mtl-max98357a-rt5682.tplg
+sof-ace-tplg-v2.7.2 ./sof-mtl-max98357a-rt5682-ssp2-ssp0.tplg
+sof-ace-tplg-v2.7.2 ./sof-mtl-max98357a-rt5682-ssp2-ssp0-2ch-pdm1.tplg
+sof-ace-tplg-v2.7.2 ./sof-mtl-rt713-l0-rt1316-l12.tplg
+sof-ace-tplg-v2.7.2 ./sof-mtl-rt713-l0-rt1316-l12-rt1713-l3.tplg
sof-ipc4-v2.7.1 ./mtl/community/sof-mtl.ri
sof-ipc4-v2.7.1 ./mtl/intel-signed/sof-mtl.ri
sof-tplg-v2.2.1 ./sof-acp.tplg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sof-bin-2023.09.1/sha256sum.txt new/sof-bin-2023.09.2/sha256sum.txt
--- old/sof-bin-2023.09.1/sha256sum.txt 2023-11-03 11:35:50.000000000 +0100
+++ new/sof-bin-2023.09.2/sha256sum.txt 2023-11-15 13:41:49.000000000 +0100
@@ -2,14 +2,16 @@
1f09b02b4b87b79ae2a14083594b6cdd6d652fd1d190f7d9c004a854dd76b573 sof-ace-tplg/./sof-hda-generic-4ch.tplg
167c97f47c04c32a59b9c149714c6659077bd950a3f3348e548a33d080176d6c sof-ace-tplg/./sof-hda-generic-idisp.tplg
6280830ae3a5ac79555be61960302769ebb64d1f18ab80c9f57e0e0be215c40d sof-ace-tplg/./sof-hda-generic.tplg
-4f6e3f28f3f6e7585899e7fcd20f13a6b082ec6703185e9f85f514abc509dcbb sof-ace-tplg/./sof-mtl-max98357a-rt5682-ssp2-ssp0-2ch-pdm1.tplg
-710ae3fc739f54732973246674f09ad1f5c0831473c9367cb8d8f03e24657849 sof-ace-tplg/./sof-mtl-max98357a-rt5682-ssp2-ssp0.tplg
-1f4608babc11f8906aa47b486de17bce7e540340f4dac7c91423808e04a514db sof-ace-tplg/./sof-mtl-max98357a-rt5682.tplg
+0e10b884de1caa7477673b9a920460417f02a5d0d640f5421ecad86f945afe90 sof-ace-tplg/./sof-mtl-max98357a-rt5682-ssp2-ssp0-2ch-pdm1.tplg
+a6cfea6e860e97002c86cfa07e585b7be2956f5a05f59d4fe0f4a50785ab4390 sof-ace-tplg/./sof-mtl-max98357a-rt5682-ssp2-ssp0.tplg
+526a339394d7f88dc4d773028b07396fcc1422d23e0389c71aca3ef024ef165f sof-ace-tplg/./sof-mtl-max98357a-rt5682.tplg
87bb014146b391161225031c75e5f3d8ddf627e2155b6e70002490cf796539bd sof-ace-tplg/./sof-mtl-rt1019-rt5682.tplg
74113ce13323b41821995d6854ce25daeec7dfbebbaea38c56cdd4085f2f5011 sof-ace-tplg/./sof-mtl-rt1318-l12-rt714-l0.tplg
e146ed6c5ce8939ac9a37fb96bcad498ae13af746cdc9f09eb05f6a1e0f3cc87 sof-ace-tplg/./sof-mtl-rt711-4ch.tplg
39c4cf028ba09b6c391f79de890d038524c60e27502a4c988510996b6c36a858 sof-ace-tplg/./sof-mtl-rt711-l0-rt1316-l23-rt714-l1.tplg
d42136df0b6e17f15719f62803003b080eef6d9aa861edd91fe7ced8b658cee0 sof-ace-tplg/./sof-mtl-rt712-l0-rt1712-l3.tplg
+9b6d06fbc2f3a470f3db65e8e4ac9bdd55ab739e226a5419c5d9e4ae8069e422 sof-ace-tplg/./sof-mtl-rt713-l0-rt1316-l12-rt1713-l3.tplg
+ec0082285e740d082eb8a2ee852a50eebb06b5d76ff861e0066cac5f5efec36c sof-ace-tplg/./sof-mtl-rt713-l0-rt1316-l12.tplg
6421ef46ab2550b9cb81488eadcb6fa25a15260067a36c123bb08a38bc6bd482 sof-ace-tplg/./sof-mtl-sdw-cs42l42-l0-max98363-l2.tplg
47584283bcac4e1b142703cb94b2bcb4cd25096dd0c81822395f04edceba3d46 sof-ipc4/./mtl/community/sof-mtl.ri
7eaa4b56160caddc0b1aeca2a600aea293632084f899f329a20e2842f5fecd9f sof-ipc4/./mtl/intel-signed/sof-mtl.ri
Binary files old/sof-bin-2023.09.1/sof-ace-tplg/sof-mtl-max98357a-rt5682-ssp2-ssp0-2ch-pdm1.tplg and new/sof-bin-2023.09.2/sof-ace-tplg/sof-mtl-max98357a-rt5682-ssp2-ssp0-2ch-pdm1.tplg differ
Binary files old/sof-bin-2023.09.1/sof-ace-tplg/sof-mtl-max98357a-rt5682-ssp2-ssp0.tplg and new/sof-bin-2023.09.2/sof-ace-tplg/sof-mtl-max98357a-rt5682-ssp2-ssp0.tplg differ
Binary files old/sof-bin-2023.09.1/sof-ace-tplg/sof-mtl-max98357a-rt5682.tplg and new/sof-bin-2023.09.2/sof-ace-tplg/sof-mtl-max98357a-rt5682.tplg differ
Binary files old/sof-bin-2023.09.1/sof-ace-tplg/sof-mtl-rt713-l0-rt1316-l12-rt1713-l3.tplg and new/sof-bin-2023.09.2/sof-ace-tplg/sof-mtl-rt713-l0-rt1316-l12-rt1713-l3.tplg differ
Binary files old/sof-bin-2023.09.1/sof-ace-tplg/sof-mtl-rt713-l0-rt1316-l12.tplg and new/sof-bin-2023.09.2/sof-ace-tplg/sof-mtl-rt713-l0-rt1316-l12.tplg differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kernel-firmware for openSUSE:Factory checked in at 2023-12-15 21:46:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-firmware (Old)
and /work/SRC/openSUSE:Factory/.kernel-firmware.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-firmware"
Fri Dec 15 21:46:18 2023 rev:218 rq:1133356 version:20231214
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-firmware/kernel-firmware.changes 2023-11-30 22:00:18.686827806 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-firmware.new.25432/kernel-firmware.changes 2023-12-15 21:46:25.844289228 +0100
@@ -1,0 +2,23 @@
+Fri Dec 15 08:29:26 UTC 2023 - tiwai(a)suse.com
+
+- Update to version 20231214 (git commit b80907ec3a81):
+ * qcom: Add Audio firmware for SM8650 QRD
+ * qcom: Add Audio firmware for SM8550 QRD
+ * Add rdfind for deb/rpm build jobs
+ * wfx: update to firmware 3.17
+ * wfx: fix broken firmware
+
+-------------------------------------------------------------------
+Wed Dec 06 07:01:51 UTC 2023 - tiwai(a)suse.com
+
+- Update to version 20231205 (git commit bfc33c1e308e):
+ * linux-firmware: Update AMD cpu microcode
+ * cxgb4: Update firmware to revision 1.27.5.0
+ * linux-firmware: add firmware for en8811h 2.5G ethernet phy
+ * s5p-mfc: Add MFC v12 Firmware
+ * qcom: update qrb4210 firmware
+ * qcom: update qcm2290 firmware
+ * qcom: update qcm2290/qrb4210 WiFi firmware file
+ * qcom: update Venus firmware file for v6.0
+
+-------------------------------------------------------------------
Old:
----
kernel-firmware-20231128.tar.xz
New:
----
kernel-firmware-20231214.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-firmware.spec ++++++
--- /var/tmp/diff_new_pack.XlgZQW/_old 2023-12-15 21:46:28.116372277 +0100
+++ /var/tmp/diff_new_pack.XlgZQW/_new 2023-12-15 21:46:28.124372569 +0100
@@ -21,11 +21,11 @@
%define _firmwaredir /lib/firmware
%endif
%define __ksyms_path ^%{_firmwaredir}
-%define version_unconverted 20231128
+%define version_unconverted 20231214
# Force bzip2 instead of lzma compression (bsc#1176981)
%define _binary_payload w9.bzdio
Name: kernel-firmware
-Version: 20231128
+Version: 20231214
Release: 0
Summary: Linux kernel firmware files
License: GPL-2.0-only AND SUSE-Firmware AND GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.XlgZQW/_old 2023-12-15 21:46:28.216375932 +0100
+++ /var/tmp/diff_new_pack.XlgZQW/_new 2023-12-15 21:46:28.220376079 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git</param>
- <param name="changesrevision">d9f6088f7e91d246d9e8d92187ecd49e44a36d9d</param></service></servicedata>
+ <param name="changesrevision">b80907ec3a811aff9afdeceb7410ad408f7e0de4</param></service></servicedata>
(No newline at EOF)
++++++ kernel-firmware-20231128.tar.xz -> kernel-firmware-20231214.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-firmware/kernel-firmware-20231128.tar.xz /work/SRC/openSUSE:Factory/.kernel-firmware.new.25432/kernel-firmware-20231214.tar.xz differ: char 27, line 1
++++++ licenses.list ++++++
--- /var/tmp/diff_new_pack.XlgZQW/_old 2023-12-15 21:46:28.448384413 +0100
+++ /var/tmp/diff_new_pack.XlgZQW/_new 2023-12-15 21:46:28.452384559 +0100
@@ -73,6 +73,7 @@
mga: platform
r128: platform
radeon: radeon LICENSE.radeon
+en8811h: network LICENSE.airoha
amdgpu: amdgpu LICENSE.amdgpu
s2255drv: platform
rtl8192e: realtek
@@ -189,4 +190,6 @@
qcom-sc8280xp: sound LICENCE.linaro
amlogic: bluetooth LICENSE.amlogic
powervr: platform LICENSE.powervr
+qcom-sm8550: sound LICENCE.linaro
+qcom-sm8650: sound LICENCE.linaro
++++++ topics.list ++++++
--- /var/tmp/diff_new_pack.XlgZQW/_old 2023-12-15 21:46:28.536387629 +0100
+++ /var/tmp/diff_new_pack.XlgZQW/_new 2023-12-15 21:46:28.540387776 +0100
@@ -73,6 +73,7 @@
mga: platform
r128: platform
radeon: radeon radeon amdgpu
+en8811h: network
amdgpu: amdgpu
amd_pmf: platform
s2255drv: platform
@@ -199,5 +200,7 @@
qcom-sc8280xp: sound snd-soc-sc8280xp
amlogic: bluetooth
powervr: platform
+qcom-sm8550: sound snd-soc-sc8280xp
+qcom-sm8650: sound snd-soc-sc8280xp
ast: platform
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libheif for openSUSE:Factory checked in at 2023-12-15 21:46:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libheif (Old)
and /work/SRC/openSUSE:Factory/.libheif.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libheif"
Fri Dec 15 21:46:17 2023 rev:28 rq:1133262 version:1.17.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/libheif/libheif.changes 2023-12-11 21:50:11.906743913 +0100
+++ /work/SRC/openSUSE:Factory/.libheif.new.25432/libheif.changes 2023-12-15 21:46:20.220083653 +0100
@@ -1,0 +2,7 @@
+Tue Dec 12 12:12:12 UTC 2023 - olaf(a)aepfle.de
+
+- remove usage of presets to allow any cmake
+- remove plugin conditional, to provide plugins on Leap as well
+- remove rav1e conditional, because it is always available
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libheif.spec ++++++
--- /var/tmp/diff_new_pack.NY8dJ2/_old 2023-12-15 21:46:20.940109971 +0100
+++ /var/tmp/diff_new_pack.NY8dJ2/_new 2023-12-15 21:46:20.940109971 +0100
@@ -19,12 +19,8 @@
%define gdk_pixbuf_binary_version 2.10.0
%bcond_with x265
%bcond_with kvazaar
-%bcond_with plugins
-%bcond_with rav1e
%bcond_with svtenc
%if 0%{?suse_version} > 1500
-%bcond_without plugins
-%bcond_without rav1e
%ifarch x86_64
%bcond_without svtenc
%endif
@@ -44,7 +40,7 @@
# CVE-2023-49464 [bsc#1217900], UAF
Patch1: libheif-CVE-2023-49464.patch
BuildRequires: chrpath
-BuildRequires: cmake >= 3.21
+BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: pkgconfig
@@ -59,9 +55,7 @@
%if %{with kvazaar}
BuildRequires: pkgconfig(kvazaar)
%endif
-%if %{with rav1e}
BuildRequires: pkgconfig(rav1e)
-%endif
%if %{with svtenc}
BuildRequires: pkgconfig(SvtAv1Enc)
%endif
@@ -91,7 +85,6 @@
For AVIF libaom, dav1d, or rav1e are used as codecs. HEIF support is not
provided.
-%if %{with plugins}
%package aom
Summary: Plugin AOM encoder and decoder for AVIF
Group: System/Libraries
@@ -148,7 +141,6 @@
This plugin provides the OpenJPEG J2K encoder and decoder for JPEG to libheif. Packaged separately
so that the libraries it requires are not pulled in by default by libheif.
-%if %{with rav1e}
%package rav1e
Summary: Plugin rav1e encoder for AVIF
Group: System/Libraries
@@ -157,7 +149,6 @@
%description rav1e
This plugin provides the rav1e encoder for AVIF to libheif. Packaged separately
so that the libraries it requires are not pulled in by default by libheif.
-%endif
%if %{with svtenc}
%package svtenc
@@ -169,7 +160,6 @@
This plugin provides the SVT-AV1 encoder for AVIF to libheif. Packaged separately
so that the libraries it requires are not pulled in by default by libheif.
%endif
-%endif
%package devel
Summary: Devel Package for %{name}
@@ -213,31 +203,60 @@
%autosetup -p1
%build
-%cmake --preset release \
-%if %{without kvazaar}
- -DWITH_KVAZAAR=OFF \
-%endif
-%if %{without rav1e}
- -DWITH_RAV1E=OFF \
-%endif
-%if %{without svtenc}
- -DWITH_SvtEnc=OFF \
-%endif
-%if %{without x265}
+%cmake \
+ -DWITH_AOM_DECODER=ON \
+ -DWITH_AOM_DECODER_PLUGIN=ON \
+ -DWITH_AOM_ENCODER=ON \
+ -DWITH_AOM_ENCODER_PLUGIN=ON \
+ -DWITH_DAV1D=ON \
+ -DWITH_DAV1D_PLUGIN=ON \
+%if %{with x265}
+ -DWITH_X265=ON \
+ -DWITH_LIBDE265=ON \
+ -DWITH_X265_PLUGIN=ON \
+ -DWITH_LIBDE265_PLUGIN=ON \
+ -DWITH_EXAMPLES=ON \
+%else
-DWITH_LIBDE265=OFF \
-DWITH_X265=OFF \
-DWITH_EXAMPLES=OFF \
+%endif
+ -DWITH_RAV1E=ON \
+ -DWITH_RAV1E_PLUGIN=ON \
+%if %{with svtenc}
+ -DWITH_SvtEnc=ON \
+ -DWITH_SvtEnc_PLUGIN=ON \
%else
- -DCMAKE_SKIP_RPATH=ON \
+ -DWITH_SvtEnc=OFF \
+%endif
+ -DWITH_JPEG_DECODER=ON \
+ -DWITH_JPEG_DECODER_PLUGIN=ON \
+ -DWITH_JPEG_ENCODER=ON \
+ -DWITH_JPEG_ENCODER_PLUGIN=ON \
+ -DWITH_UNCOMPRESSED_CODEC=ON \
+%if %{with kvazaar}
+ -DWITH_KVAZAAR=ON \
+ -DWITH_KVAZAAR_PLUGIN=ON \
+%else
+ -DWITH_KVAZAAR=OFF \
%endif
+ -DWITH_OpenJPEG_DECODER=ON \
+ -DWITH_OpenJPEG_DECODER_PLUGIN=ON \
+ -DWITH_OpenJPEG_ENCODER=ON \
+ -DWITH_OpenJPEG_ENCODER_PLUGIN=ON \
+ -DWITH_FFMPEG_DECODER=ON \
+ -DWITH_FFMPEG_DECODER_PLUGIN=ON \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DBUILD_TESTING=OFF \
+ -DWITH_REDUCED_VISIBILITY=ON \
+ -DWITH_DEFLATE_HEADER_COMPRESSION=ON \
+ -DWITH_LIBSHARPYUV=ON \
+ -DWITH_FUZZERS=OFF \
%if 0%{?suse_version} <= 1500
-DCMAKE_CXX_FLAGS="-pthread" \
%endif
-%if %{with plugins}
- -DPLUGIN_DIRECTORY=%{_libexecdir}/libheif
-%else
- -DENABLE_PLUGIN_LOADING=OFF
-%endif
+ -DPLUGIN_DIRECTORY=%{_libexecdir}/libheif \
+ %nil
%cmake_build
%install
@@ -273,7 +292,6 @@
%files -n libheif1
%license COPYING
%{_libdir}/libheif.so.*
-%if %{with plugins}
%dir %{_libexecdir}/libheif
%files aom
@@ -299,16 +317,13 @@
%{_libexecdir}/libheif/libheif-j2kdec.so
%{_libexecdir}/libheif/libheif-j2kenc.so
-%if %{with rav1e}
%files rav1e
%{_libexecdir}/libheif/libheif-rav1e.so
-%endif
%if %{with svtenc}
%files svtenc
%{_libexecdir}/libheif/libheif-svtenc.so
%endif
-%endif
%files devel
%doc README.md
@@ -328,10 +343,8 @@
%{_mandir}/man1/heif-convert.1%{?ext_man}
%{_mandir}/man1/heif-enc.1%{?ext_man}
%{_mandir}/man1/heif-info.1%{?ext_man}
-%if %{with plugins}
%{_libexecdir}/libheif/libheif-libde265.so
%{_libexecdir}/libheif/libheif-x265.so
-%endif
%files -n heif-thumbnailer
%{_bindir}/heif-thumbnailer
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package boost-defaults for openSUSE:Factory checked in at 2023-12-15 21:46:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/boost-defaults (Old)
and /work/SRC/openSUSE:Factory/.boost-defaults.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "boost-defaults"
Fri Dec 15 21:46:10 2023 rev:16 rq:1133254 version:1.84.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/boost-defaults/boost-defaults.changes 2023-10-27 22:27:44.170508769 +0200
+++ /work/SRC/openSUSE:Factory/.boost-defaults.new.25432/boost-defaults.changes 2023-12-15 21:46:12.819813159 +0100
@@ -1,0 +2,5 @@
+Fri Nov 17 08:32:04 CET 2023 - aschnell(a)suse.com
+
+- Update for Boost 1.84.0
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ boost-defaults.spec ++++++
--- /var/tmp/diff_new_pack.8ILfJa/_old 2023-12-15 21:46:13.435835676 +0100
+++ /var/tmp/diff_new_pack.8ILfJa/_new 2023-12-15 21:46:13.435835676 +0100
@@ -16,9 +16,9 @@
#
-%define boost_version 1_83_0
+%define boost_version 1_84_0
Name: boost-defaults
-Version: 1.83.0
+Version: 1.84.0
Release: 0
Summary: Default Boost C++ Libraries
License: MIT
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pycurl for openSUSE:Factory checked in at 2023-12-15 21:46:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pycurl (Old)
and /work/SRC/openSUSE:Factory/.python-pycurl.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pycurl"
Fri Dec 15 21:46:08 2023 rev:45 rq:1133226 version:7.45.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pycurl/python-pycurl.changes 2023-10-12 23:37:18.738479374 +0200
+++ /work/SRC/openSUSE:Factory/.python-pycurl.new.25432/python-pycurl.changes 2023-12-15 21:46:10.615732596 +0100
@@ -1,0 +2,6 @@
+Fri Dec 15 01:53:16 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Add patch pause-unpause-xfail.patch:
+ * XFAIL a test due to gh#pycurl/pycurl#729 (bsc#1218062)
+
+-------------------------------------------------------------------
New:
----
pause-unpause-xfail.patch
BETA DEBUG BEGIN:
New:
- Add patch pause-unpause-xfail.patch:
* XFAIL a test due to gh#pycurl/pycurl#729 (bsc#1218062)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pycurl.spec ++++++
--- /var/tmp/diff_new_pack.QvSdXt/_old 2023-12-15 21:46:11.451763155 +0100
+++ /var/tmp/diff_new_pack.QvSdXt/_new 2023-12-15 21:46:11.455763301 +0100
@@ -41,6 +41,8 @@
# PATCH-FIX-OPENSUSE make-leap15-compat.patch mcepl(a)suse.com
# Make tests passing with Leap 15.2
Patch3: make-leap15-compat.patch
+# PATCH-FIX-OPENSUSE xfail a test around pause/unpause not behaving
+Patch4: pause-unpause-xfail.patch
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
++++++ pause-unpause-xfail.patch ++++++
Index: pycurl-7.45.2/tests/multi_callback_test.py
===================================================================
--- pycurl-7.45.2.orig/tests/multi_callback_test.py
+++ pycurl-7.45.2/tests/multi_callback_test.py
@@ -77,7 +77,7 @@ class MultiCallbackTest(unittest.TestCas
# (mid-transfer) easy.pause(PAUSE_ALL) must call SOCKETFUNCTION to remove sockets
# (mid-transfer) easy.pause(PAUSE_CONT) must call TIMERFUNCTION to resume
- @pytest.mark.xfail(sys.platform == 'darwin', reason='https://github.com/pycurl/pycurl/issues/729')
+ @pytest.mark.xfail(sys.platform is not None, reason='https://github.com/pycurl/pycurl/issues/729')
def test_easy_pause_unpause(self):
self.partial_transfer()
self.socket_result = None
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pygal for openSUSE:Factory checked in at 2023-12-15 21:46:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pygal (Old)
and /work/SRC/openSUSE:Factory/.python-pygal.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pygal"
Fri Dec 15 21:46:06 2023 rev:11 rq:1133201 version:3.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pygal/python-pygal.changes 2023-04-22 21:59:46.072968017 +0200
+++ /work/SRC/openSUSE:Factory/.python-pygal.new.25432/python-pygal.changes 2023-12-15 21:46:08.159642821 +0100
@@ -1,0 +2,15 @@
+Thu Dec 14 21:24:19 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.0.4:
+ * Missing declaration of importlib_metadata dependency in setup.py
+ * Failure with tox due to missing README.md
+ * Misused entry_points causing failure with Python 3.12
+ * Prevent installing with Python versions < 3.8
+ * Replace unmaintained pytest-flake8 with plain flake8
+ * Remove Iterable import deprecation warning
+ * Remove invalid escape sequence warnings in tests
+ * Fix test failures due to removed pytest attribute
+ * Fix linting errors with latest isort and flake8
+- use packaged COPYING
+
+-------------------------------------------------------------------
Old:
----
COPYING
pygal-3.0.0.tar.gz
New:
----
pygal-3.0.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pygal.spec ++++++
--- /var/tmp/diff_new_pack.dtdIwx/_old 2023-12-15 21:46:09.203680983 +0100
+++ /var/tmp/diff_new_pack.dtdIwx/_new 2023-12-15 21:46:09.203680983 +0100
@@ -16,25 +16,24 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
-%global skip_python2 1
%{?sle15_python_module_pythons}
Name: python-pygal
-Version: 3.0.0
+Version: 3.0.4
Release: 0
Summary: A python svg graph plotting library
License: LGPL-3.0-or-later
Group: Development/Languages/Python
URL: http://pygal.org/
Source: https://files.pythonhosted.org/packages/source/p/pygal/pygal-%{version}.tar…
-Source10: https://raw.githubusercontent.com/Kozea/pygal/%{version}/COPYING
BuildRequires: %{python_module CairoSVG}
BuildRequires: %{python_module Flask}
+BuildRequires: %{python_module importlib-metadata}
BuildRequires: %{python_module lxml}
BuildRequires: %{python_module pyquery}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Requires: python-importlib-metadata
Requires: python-lxml
Requires(post): update-alternatives
Requires(postun):update-alternatives
@@ -55,8 +54,6 @@
# not sure where to report
sed -Ei 's:.pytest-runner.,?::' setup.py
-cp %{SOURCE10} .
-
%build
%python_build
++++++ pygal-3.0.0.tar.gz -> pygal-3.0.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/PKG-INFO new/pygal-3.0.4/PKG-INFO
--- old/pygal-3.0.0/PKG-INFO 2021-11-24 22:09:38.822427000 +0100
+++ new/pygal-3.0.4/PKG-INFO 2023-11-21 16:33:36.094948500 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pygal
-Version: 3.0.0
+Version: 3.0.4
Summary: A Python svg graph plotting library
Home-page: https://www.pygal.org/
Author: Florian Mounier / Kozea
@@ -16,11 +16,92 @@
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Provides: pygal
+Requires-Python: >=3.8
+Description-Content-Type: text/x-rst
+License-File: COPYING
+Requires-Dist: importlib-metadata
Provides-Extra: lxml
+Requires-Dist: lxml; extra == "lxml"
Provides-Extra: docs
+Requires-Dist: sphinx; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
+Requires-Dist: pygal_sphinx_directives; extra == "docs"
Provides-Extra: png
+Requires-Dist: cairosvg; extra == "png"
Provides-Extra: test
-License-File: COPYING
+Requires-Dist: pyquery; extra == "test"
+Requires-Dist: flask; extra == "test"
+Requires-Dist: cairosvg; extra == "test"
+Requires-Dist: lxml; extra == "test"
+Requires-Dist: pygal_maps_world; extra == "test"
+Requires-Dist: pygal_maps_fr; extra == "test"
+Requires-Dist: pygal_maps_ch; extra == "test"
+Requires-Dist: coveralls; extra == "test"
+Requires-Dist: flake8; extra == "test"
+Requires-Dist: pytest-runner; extra == "test"
+Requires-Dist: pytest-cov; extra == "test"
+Requires-Dist: pytest-isort; extra == "test"
+Requires-Dist: pytest; extra == "test"
+
+# Pygal
+
+
+[![Build Status](https://travis-ci.org/Kozea/pygal.svg?branch=master)](https://travi…
+[![Coverage Status](https://coveralls.io/repos/Kozea/pygal/badge.svg?branch=master&service=github)](https://coveralls.io/github/Kozea/pygal?branch=master)
+[![Documentation Status](https://readthedocs.org/projects/pygal/badge/?version=latest)](http…
+
+
+@@TOC@@
+
+## Description
+
+**pygal** is a dynamic SVG charting library written in python.
+All the documentation is on http://pygal.org
+
+
+## Installation
+
+As simple as::
+
+ $ pip install pygal
+
+
+## Test
+
+Pygal is tested with py.test::
+
+
+ $ pip install pytest
+ $ py.test
+
+
+## Contribute
+
+You are welcomed to fork the project and make pull requests.
+Be sure to create a branch for each feature, write tests if needed and run the current tests !
+
+
+You can also support the project:
+
+[![Flattr](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=paradoxxx_zero&url=https://github.com/Kozea/pygal&title=Pygal&tags=github&category=software)
+[![gittip](http://i.imgur.com/IKcQB2P.png)](https://www.gittip.com/paradoxxxzero/)
+
+
+
+## License
+
+Copyright © 2012-2016 Kozea
+LGPLv3:
+
+ 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 3 of the License, or
+ (at your option) any later version.
-UNKNOWN
+ 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/>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/README new/pygal-3.0.4/README
--- old/pygal-3.0.0/README 2020-10-12 14:50:29.000000000 +0200
+++ new/pygal-3.0.4/README 2023-11-21 09:55:45.000000000 +0100
@@ -16,23 +16,18 @@
## Installation
-As simple as:
+As simple as::
-```
$ pip install pygal
-```
-
## Test
-Pygal is tested with py.test:
+Pygal is tested with py.test::
-```
$ pip install pytest
$ py.test
-```
## Contribute
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/pygal/__about__.py new/pygal-3.0.4/pygal/__about__.py
--- old/pygal-3.0.0/pygal/__about__.py 2021-11-24 21:42:08.000000000 +0100
+++ new/pygal-3.0.4/pygal/__about__.py 2023-11-21 16:32:14.000000000 +0100
@@ -1,5 +1,5 @@
__title__ = "pygal"
-__version__ = "3.0.0"
+__version__ = "3.0.4"
__summary__ = "A Python svg graph plotting library"
__uri__ = "https://www.pygal.org/"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/pygal/__init__.py new/pygal-3.0.4/pygal/__init__.py
--- old/pygal-3.0.0/pygal/__init__.py 2020-10-13 09:18:52.000000000 +0200
+++ new/pygal-3.0.4/pygal/__init__.py 2023-11-21 09:55:45.000000000 +0100
@@ -29,7 +29,7 @@
import traceback
import warnings
-import pkg_resources
+from importlib_metadata import entry_points
from pygal import maps
from pygal.config import Config
@@ -62,7 +62,7 @@
from pygal.graph.map import BaseMap
-for entry in pkg_resources.iter_entry_points('pygal.maps'):
+for entry in entry_points(group="pygal.maps"):
try:
module = entry.load()
except Exception:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/pygal/test/test_maps.py new/pygal-3.0.4/pygal/test/test_maps.py
--- old/pygal-3.0.0/pygal/test/test_maps.py 2020-10-12 14:50:29.000000000 +0200
+++ new/pygal-3.0.4/pygal/test/test_maps.py 2023-11-21 09:55:45.000000000 +0100
@@ -18,10 +18,10 @@
# along with pygal. If not, see <http://www.gnu.org/licenses/>.
"""Map plugins tests are imported here"""
-import pkg_resources
+from importlib_metadata import entry_points
# Load plugins tests
-for entry in pkg_resources.iter_entry_points('pygal.test.test_maps'):
+for entry in entry_points(group="pygal.test.test_maps"):
module = entry.load()
for k, v in module.__dict__.items():
if k.startswith('test_'):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/pygal.egg-info/PKG-INFO new/pygal-3.0.4/pygal.egg-info/PKG-INFO
--- old/pygal-3.0.0/pygal.egg-info/PKG-INFO 2021-11-24 22:09:38.000000000 +0100
+++ new/pygal-3.0.4/pygal.egg-info/PKG-INFO 2023-11-21 16:33:36.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pygal
-Version: 3.0.0
+Version: 3.0.4
Summary: A Python svg graph plotting library
Home-page: https://www.pygal.org/
Author: Florian Mounier / Kozea
@@ -16,11 +16,92 @@
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Provides: pygal
+Requires-Python: >=3.8
+Description-Content-Type: text/x-rst
+License-File: COPYING
+Requires-Dist: importlib-metadata
Provides-Extra: lxml
+Requires-Dist: lxml; extra == "lxml"
Provides-Extra: docs
+Requires-Dist: sphinx; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
+Requires-Dist: pygal_sphinx_directives; extra == "docs"
Provides-Extra: png
+Requires-Dist: cairosvg; extra == "png"
Provides-Extra: test
-License-File: COPYING
+Requires-Dist: pyquery; extra == "test"
+Requires-Dist: flask; extra == "test"
+Requires-Dist: cairosvg; extra == "test"
+Requires-Dist: lxml; extra == "test"
+Requires-Dist: pygal_maps_world; extra == "test"
+Requires-Dist: pygal_maps_fr; extra == "test"
+Requires-Dist: pygal_maps_ch; extra == "test"
+Requires-Dist: coveralls; extra == "test"
+Requires-Dist: flake8; extra == "test"
+Requires-Dist: pytest-runner; extra == "test"
+Requires-Dist: pytest-cov; extra == "test"
+Requires-Dist: pytest-isort; extra == "test"
+Requires-Dist: pytest; extra == "test"
+
+# Pygal
+
+
+[![Build Status](https://travis-ci.org/Kozea/pygal.svg?branch=master)](https://travi…
+[![Coverage Status](https://coveralls.io/repos/Kozea/pygal/badge.svg?branch=master&service=github)](https://coveralls.io/github/Kozea/pygal?branch=master)
+[![Documentation Status](https://readthedocs.org/projects/pygal/badge/?version=latest)](http…
+
+
+@@TOC@@
+
+## Description
+
+**pygal** is a dynamic SVG charting library written in python.
+All the documentation is on http://pygal.org
+
+
+## Installation
+
+As simple as::
+
+ $ pip install pygal
+
+
+## Test
+
+Pygal is tested with py.test::
+
+
+ $ pip install pytest
+ $ py.test
+
+
+## Contribute
+
+You are welcomed to fork the project and make pull requests.
+Be sure to create a branch for each feature, write tests if needed and run the current tests !
+
+
+You can also support the project:
+
+[![Flattr](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=paradoxxx_zero&url=https://github.com/Kozea/pygal&title=Pygal&tags=github&category=software)
+[![gittip](http://i.imgur.com/IKcQB2P.png)](https://www.gittip.com/paradoxxxzero/)
+
+
+
+## License
+
+Copyright © 2012-2016 Kozea
+LGPLv3:
+
+ 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 3 of the License, or
+ (at your option) any later version.
-UNKNOWN
+ 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/>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/pygal.egg-info/requires.txt new/pygal-3.0.4/pygal.egg-info/requires.txt
--- old/pygal-3.0.0/pygal.egg-info/requires.txt 2021-11-24 22:09:38.000000000 +0100
+++ new/pygal-3.0.4/pygal.egg-info/requires.txt 2023-11-21 16:33:36.000000000 +0100
@@ -1,3 +1,4 @@
+importlib-metadata
[docs]
sphinx
@@ -19,8 +20,8 @@
pygal_maps_fr
pygal_maps_ch
coveralls
+flake8
pytest-runner
pytest-cov
-pytest-flake8
pytest-isort
pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/setup.cfg new/pygal-3.0.4/setup.cfg
--- old/pygal-3.0.0/setup.cfg 2021-11-24 22:09:38.822427000 +0100
+++ new/pygal-3.0.4/setup.cfg 2023-11-21 16:33:36.095948700 +0100
@@ -4,12 +4,10 @@
[pycodestyle]
ignore = E731,E402,E741,W503
-[tool:pytest]
-flake8-ignore =
- *.py E731 E402 E741 W503 W504
- pygal/__init__.py F401
- pygal/_compat.py F821 F401
- docs/conf.py ALL
+[flake8]
+per-file-ignores =
+ *.py:E731 E741
+ pygal/__init__.py:E402 F401
[egg_info]
tag_build =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygal-3.0.0/setup.py new/pygal-3.0.4/setup.py
--- old/pygal-3.0.0/setup.py 2020-10-14 16:00:24.000000000 +0200
+++ new/pygal-3.0.4/setup.py 2023-11-21 15:25:16.000000000 +0100
@@ -40,18 +40,11 @@
ROOT = os.path.dirname(__file__)
-# Explicitly specify the encoding of pygal/__init__.py if we're on py3.
-kwargs = {}
-if sys.version_info[0] == 3:
- kwargs['encoding'] = 'utf-8'
- cairosvg = 'cairosvg'
-else:
- cairosvg = 'cairosvg==0.5'
-
tests_requirements = [
- "pyquery", "flask", cairosvg, 'lxml', 'pygal_maps_world', 'pygal_maps_fr',
+ "pyquery", "flask", 'cairosvg', 'lxml', 'pygal_maps_world', 'pygal_maps_fr',
'pygal_maps_ch', 'coveralls',
- 'pytest-runner', 'pytest-cov', 'pytest-flake8', 'pytest-isort',
+ 'flake8',
+ 'pytest-runner', 'pytest-cov', 'pytest-isort',
'pytest'
]
@@ -64,23 +57,27 @@
name=about['__title__'],
version=about['__version__'],
description=about['__summary__'],
+ long_description=open('README').read(),
+ long_description_content_type="text/x-rst",
url=about['__uri__'],
author=about['__author__'],
author_email=about['__email__'],
license=about['__license__'],
platforms="Any",
+ python_requires=">=3.8",
packages=find_packages(),
provides=['pygal'],
scripts=["pygal_gen.py"],
keywords=[
"svg", "chart", "graph", "diagram", "plot", "histogram", "kiviat"],
setup_requires=['pytest-runner'],
+ install_requires=['importlib-metadata'], # TODO: remove this (see #545, #546)
cmdclass={'test': PyTest},
package_data={'pygal': ['css/*', 'graph/maps/*.svg']},
extras_require={
'lxml': ['lxml'],
'docs': ['sphinx', 'sphinx_rtd_theme', 'pygal_sphinx_directives'],
- 'png': [cairosvg],
+ 'png': ['cairosvg'],
'test': tests_requirements
},
classifiers=[
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pcp for openSUSE:Factory checked in at 2023-12-15 21:46:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pcp (Old)
and /work/SRC/openSUSE:Factory/.pcp.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pcp"
Fri Dec 15 21:46:01 2023 rev:70 rq:1133028 version:5.3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/pcp/pcp.changes 2023-11-29 21:18:46.696853584 +0100
+++ /work/SRC/openSUSE:Factory/.pcp.new.25432/pcp.changes 2023-12-15 21:46:04.151496316 +0100
@@ -1,0 +2,6 @@
+Thu Dec 14 10:36:41 CET 2023 - mls(a)suse.de
+
+- declare the users/groups we create in the preinstall scripts
+ (this is needed for newer rpm versions)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pcp.spec ++++++
--- /var/tmp/diff_new_pack.fsLADN/_old 2023-12-15 21:46:05.203534770 +0100
+++ /var/tmp/diff_new_pack.fsLADN/_new 2023-12-15 21:46:05.207534917 +0100
@@ -266,6 +266,10 @@
%global disable_zabbix_agent 0
%endif
+# declare the user/group we create in the preinstall script
+Provides: user(pcp)
+Provides: group(pcp)
+
# KVM PMDA moved into pcp (no longer using Perl, default on)
Obsoletes: pcp-pmda-kvm < %{version}
Provides: pcp-pmda-kvm = %{version}
@@ -536,6 +540,7 @@
+
#
# pcp-conf
#
@@ -555,6 +560,7 @@
+
#
# pcp-libs
#
@@ -645,6 +651,7 @@
+
#
# pcp-devel
#
@@ -668,6 +675,7 @@
+
#
# pcp-testsuite
#
@@ -684,6 +692,9 @@
Requires: pcp-devel = %{version}-%{release}
Obsoletes: pcp-gui-testsuite < %{version}
Provides: pcp-gui-testsuite = %{version}
+# declare the user/group we create in the preinstall script
+Provides: user(pcpqa)
+Provides: group(pcpqa)
%description testsuite
Quality assurance test suite for Performance Co-Pilot (PCP).
@@ -693,6 +704,7 @@
+
#
# perl-PCP-PMDA. This is the PCP agent perl binding.
#
@@ -718,6 +730,7 @@
+
#
# perl-PCP-MMV
#
@@ -744,6 +757,7 @@
+
#
# perl-PCP-LogImport
#
@@ -767,6 +781,7 @@
+
#
# perl-PCP-LogSummary
#
@@ -793,6 +808,7 @@
+
#
# pcp-import-sar2pcp
#
@@ -816,6 +832,7 @@
+
#
# pcp-import-iostat2pcp
#
@@ -877,6 +894,7 @@
+
#
# pcp-import-ganglia2pcp
#
@@ -899,6 +917,7 @@
+
#
# pcp-import-collectl2pcp
#
@@ -960,6 +979,7 @@
+
#
# pcp-export-pcp2graphite
#
@@ -982,6 +1002,7 @@
+
# pcp-export-pcp2influxdb
#
%package export-pcp2influxdb
@@ -1005,6 +1026,7 @@
+
#
# pcp-export-pcp2json
#
@@ -1025,6 +1047,7 @@
+
#
# pcp-export-pcp2spark
#
@@ -1080,6 +1103,7 @@
+
#
# pcp-export-pcp2zabbix
#
@@ -1184,6 +1208,7 @@
+
#
# pcp-pmda-bind2
#
@@ -1207,6 +1232,7 @@
+
#
# pcp-pmda-redis
#
@@ -1262,6 +1288,7 @@
+
#
# pcp-pmda-dbping
#
@@ -1283,6 +1310,7 @@
+
#
# pcp-pmda-ds389
#
@@ -1308,6 +1336,7 @@
+
#
# pcp-pmda-ds389log
#
@@ -1329,6 +1358,7 @@
+
#
# pcp-pmda-gpfs
#
@@ -1349,6 +1379,7 @@
+
#
# pcp-pmda-gpsd
#
@@ -1370,6 +1401,7 @@
+
#
# pcp-pmda-docker
#
@@ -1389,6 +1421,7 @@
+
#
# pcp-pmda-lustre
#
@@ -1409,6 +1442,7 @@
+
#
# pcp-pmda-lustrecomm
#
@@ -1433,6 +1467,7 @@
+
#
# pcp-pmda-memcache
#
@@ -1454,6 +1489,7 @@
+
#
# pcp-pmda-mysql
#
@@ -1479,6 +1515,7 @@
+
#
# pcp-pmda-named
#
@@ -1500,6 +1537,7 @@
+
# pcp-pmda-netfilter
#
%package pmda-netfilter
@@ -1520,6 +1558,7 @@
+
#
# pcp-pmda-news
#
@@ -1541,6 +1580,7 @@
+
#
# pcp-pmda-nginx
#
@@ -1563,6 +1603,7 @@
+
#
# pcp-pmda-oracle
#
@@ -1585,6 +1626,7 @@
+
#
# pcp-pmda-pdns
#
@@ -1606,6 +1648,7 @@
+
#
# pcp-pmda-postfix
#
@@ -1639,6 +1682,7 @@
+
#
# pcp-pmda-rsyslog
#
@@ -1660,6 +1704,7 @@
+
#
# pcp-pmda-samba
#
@@ -1681,6 +1726,7 @@
+
#
# pcp-pmda-slurm
#
@@ -1739,6 +1785,7 @@
+
#
# pcp-pmda-zimbra
#
@@ -1760,6 +1807,7 @@
+
#
# pcp-pmda-dm
#
@@ -1798,6 +1846,7 @@
+
#
# pcp-pmda-nfsclient
#
@@ -1852,6 +1901,7 @@
+
#
# pcp-pmda-unbound
#
@@ -1872,6 +1922,7 @@
+
#
# pcp-pmda-mic
#
@@ -1892,6 +1943,7 @@
+
#
# pcp-pmda-haproxy
#
@@ -1954,6 +2006,7 @@
+
#
# pcp-pmda-openvswitch
#
@@ -1974,6 +2027,7 @@
+
#
# pcp-pmda-rabbitmq
#
@@ -2040,6 +2094,7 @@
+
#
# pcp-pmda-lmsensors
#
@@ -2063,6 +2118,7 @@
+
#
# pcp-pmda-netcheck
#
@@ -2148,6 +2204,7 @@
+
#
# pcp-pmda-bash
#
@@ -2171,6 +2228,7 @@
+
#
# pcp-pmda-cifs
#
@@ -2193,6 +2251,7 @@
+
#
# pcp-pmda-cisco
#
@@ -2216,6 +2275,7 @@
+
#
# pcp-pmda-gfs2
#
@@ -2238,6 +2298,7 @@
+
#
# pcp-pmda-logger
#
@@ -2262,6 +2323,7 @@
+
#
# pcp-pmda-mailq
#
@@ -2285,6 +2347,7 @@
+
#
# pcp-pmda-mounts
#
@@ -2308,6 +2371,7 @@
+
#
# pcp-pmda-nvidia-gpu
#
@@ -2330,6 +2394,7 @@
+
#
# pcp-pmda-roomtemp
#
@@ -2393,6 +2458,7 @@
+
#
# pcp-pmda-shping
#
@@ -2417,6 +2483,7 @@
+
#
# pcp-pmda-smart
#
@@ -2438,6 +2505,7 @@
+
#
# pcp-pmda-sockets
#
@@ -2459,6 +2527,7 @@
+
#
# pcp-pmda-hacluster
#
@@ -2479,6 +2548,7 @@
+
#
# pcp-pmda-summary
#
@@ -2540,6 +2610,7 @@
+
#
# pcp-pmda-weblog
#
@@ -2560,6 +2631,7 @@
+
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-15 21:06:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Fri Dec 15 21:06:03 2023 rev:2398 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_3840.2.packages.zst
factory_20231214.packages.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
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-15 00:07:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri Dec 15 00:07:14 2023 rev:3840 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.kAIecj/_old 2023-12-15 00:07:19.000237338 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.004237489 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__MicroOS___20231213" schemaversion="4.1">
+<image name="OBS__MicroOS___20231214" 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">20231213</productvar>
+ <productvar name="VERSION">20231214</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231213,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231214,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231213/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231214/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.kAIecj/_old 2023-12-15 00:07:19.028238398 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.032238550 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20231213" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20231214" 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">20231213</productvar>
+ <productvar name="VERSION">20231214</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231213,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231214,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.kAIecj/_old 2023-12-15 00:07:19.056239459 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.056239459 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231213" schemaversion="4.1">
+<image name="OBS__openSUSE___20231214" 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">20231213</productvar>
+ <productvar name="VERSION">20231214</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231213,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231214,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/20231213/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231214/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.kAIecj/_old 2023-12-15 00:07:19.100241126 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.104241278 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231213" schemaversion="4.1">
+<image name="OBS__openSUSE___20231214" 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-20231213-i586</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231214-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">20231213</productvar>
+ <productvar name="VERSION">20231214</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231213,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231214,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/20231213/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231214/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.kAIecj/_old 2023-12-15 00:07:19.124242036 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.128242187 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231213" schemaversion="4.1">
+<image name="OBS__openSUSE___20231214" 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-20231213-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231214-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">20231213</productvar>
+ <productvar name="VERSION">20231214</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231213,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231214,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/20231213/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231214/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.kAIecj/_old 2023-12-15 00:07:19.164243551 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.168243702 +0100
@@ -6,7 +6,7 @@
<name>Aeon</name>
<releasepkgname>Aeon-release</releasepkgname>
<endoflife/>
- <version>20231213</version>
+ <version>20231214</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>Aeon</productline>
++++++ MicroOS.product ++++++
--- /var/tmp/diff_new_pack.kAIecj/_old 2023-12-15 00:07:19.184244309 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.188244460 +0100
@@ -6,7 +6,7 @@
<name>MicroOS</name>
<releasepkgname>MicroOS-release</releasepkgname>
<endoflife/>
- <version>20231213</version>
+ <version>20231214</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>MicroOS</productline>
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.kAIecj/_old 2023-12-15 00:07:19.264247339 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.268247490 +0100
@@ -232,7 +232,7 @@
<package name="busybox-gawk" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-base -->
<package name="busybox-grep" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="busybox-gzip" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
- <package name="busybox-misc" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_tools -->
+ <package name="busybox-misc" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="busybox-psmisc" supportstatus="unsupported"/> <!-- reason: dvd:patterns-yast-yast2_server -->
<package name="busybox-sed" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="busybox-sendmail" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde_utilities -->
@@ -2716,7 +2716,7 @@
<package name="libvirglrenderer1" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="libvirt-client" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="libvirt-daemon-common" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
- <package name="libvirt-daemon-config-network" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_tools -->
+ <package name="libvirt-daemon-config-network" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="libvirt-daemon-driver-interface" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="libvirt-daemon-driver-libxl" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-xen_server -->
<package name="libvirt-daemon-driver-network" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.kAIecj/_old 2023-12-15 00:07:19.288248248 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.292248400 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231213</version>
+ <version>20231214</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.kAIecj/_old 2023-12-15 00:07:19.308249006 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.312249157 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231213</version>
+ <version>20231214</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.kAIecj/_old 2023-12-15 00:07:19.404252643 +0100
+++ /var/tmp/diff_new_pack.kAIecj/_new 2023-12-15 00:07:19.412252946 +0100
@@ -18632,8 +18632,6 @@
- ocaml-augeas-devel
- ocaml-base64
- ocaml-base64-devel
- - ocaml-benchmark
- - ocaml-benchmark-devel
- ocaml-bigarray-compat
- ocaml-bigarray-compat-devel
- ocaml-bisect_ppx
@@ -24551,6 +24549,7 @@
- python310-minio
- python310-miniupnpc
- python310-misaka
+ - python310-mistletoe
- python310-mistune
- python310-mistune2
- python310-mitmproxy
@@ -27975,6 +27974,7 @@
- python311-minio
- python311-miniupnpc
- python311-misaka
+ - python311-mistletoe
- python311-mistune
- python311-mistune2
- python311-mitmproxy
@@ -31438,6 +31438,7 @@
- python39-minio
- python39-miniupnpc
- python39-misaka
+ - python39-mistletoe
- python39-mistune
- python39-mistune2
- python39-mitmproxy
@@ -33714,7 +33715,6 @@
- rainbow-zsh-completion
- rakkess
- rakudo
- - raleway-fonts
- rancher-cli
- rancher-kim
- rang-devel
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-15 00:07:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Fri Dec 15 00:07:11 2023 rev:2646 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.ZdqS9P/_old 2023-12-15 00:07:14.560069128 +0100
+++ /var/tmp/diff_new_pack.ZdqS9P/_new 2023-12-15 00:07:14.572069582 +0100
@@ -18940,6 +18940,8 @@
Provides: weakremover(obs-service-rust2rpm)
Provides: weakremover(ocaml-base)
Provides: weakremover(ocaml-base-devel)
+Provides: weakremover(ocaml-benchmark)
+Provides: weakremover(ocaml-benchmark-devel)
Provides: weakremover(ocaml-bin_prot)
Provides: weakremover(ocaml-bin_prot-devel)
Provides: weakremover(ocaml-camlbz2)
@@ -29052,6 +29054,7 @@
Provides: weakremover(radiotray-lang)
Provides: weakremover(radiotray-ng)
Provides: weakremover(ragel-6)
+Provides: weakremover(raleway-fonts)
Provides: weakremover(rancher-selinux)
Provides: weakremover(rapport)
Provides: weakremover(rarian)
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-14 22:41:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Thu Dec 14 22:41:36 2023 rev:2645 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Aeon-release.spec ++++++
--- /var/tmp/diff_new_pack.YWOnkn/_old 2023-12-14 22:41:39.348339948 +0100
+++ /var/tmp/diff_new_pack.YWOnkn/_new 2023-12-14 22:41:39.352340094 +0100
@@ -17,7 +17,7 @@
Name: Aeon-release
-Version: 20231213
+Version: 20231214
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) = 20231213-0
+Provides: product(Aeon) = 20231214-0
Provides: product-label() = openSUSE%20Aeon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231213
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231214
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) = 20231213-0
+Provides: product_flavor(Aeon) = 20231214-0
Summary: openSUSE Aeon%{?betaversion: %{betaversion}}
%description appliance
@@ -255,11 +255,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Aeon</name>
- <version>20231213</version>
+ <version>20231214</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:aeon:20231213</cpeid>
+ <cpeid>cpe:/o:opensuse:aeon:20231214</cpeid>
<productline>Aeon</productline>
<register>
<pool>
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.YWOnkn/_old 2023-12-14 22:41:39.404341992 +0100
+++ /var/tmp/diff_new_pack.YWOnkn/_new 2023-12-14 22:41:39.408342138 +0100
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20231213
+Version: 20231214
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) = 20231213-0
+Provides: product(MicroOS) = 20231214-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231213
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231214
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) = 20231213-0
+Provides: product_flavor(MicroOS) = 20231214-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) = 20231213-0
+Provides: product_flavor(MicroOS) = 20231214-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -276,11 +276,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20231213</version>
+ <version>20231214</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20231213</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20231214</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.YWOnkn/_old 2023-12-14 22:41:39.436343160 +0100
+++ /var/tmp/diff_new_pack.YWOnkn/_new 2023-12-14 22:41:39.436343160 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20231213)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20231214)
#
# 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: 20231213
+Version: 20231214
#!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) = 20231213-0
+Provides: product(openSUSE-Addon-NonOss) = 20231214-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231213
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231214
AutoReqProv: on
@@ -50,10 +50,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231213</version>
+ <version>20231214</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231213</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231214</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.YWOnkn/_old 2023-12-14 22:41:39.464344182 +0100
+++ /var/tmp/diff_new_pack.YWOnkn/_new 2023-12-14 22:41:39.464344182 +0100
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20231213
+Version: 20231214
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -184,7 +184,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20231213-0
+Provides: product(openSUSE) = 20231214-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -198,7 +198,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231213
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231214
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)
@@ -212,7 +212,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -227,7 +227,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -242,7 +242,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -257,7 +257,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -272,7 +272,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -287,7 +287,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -302,7 +302,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -317,7 +317,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -332,7 +332,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -347,7 +347,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -362,7 +362,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -377,7 +377,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -392,7 +392,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -407,7 +407,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -422,7 +422,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -437,7 +437,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -452,7 +452,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -467,7 +467,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -482,7 +482,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20231213-0
+Provides: product_flavor(openSUSE) = 20231214-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -562,10 +562,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231213</version>
+ <version>20231214</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20231213</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20231214</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 perl-GnuPG-Interface for openSUSE:Factory checked in at 2023-12-14 22:03:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-GnuPG-Interface (Old)
and /work/SRC/openSUSE:Factory/.perl-GnuPG-Interface.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-GnuPG-Interface"
Thu Dec 14 22:03:58 2023 rev:6 rq:1133120 version:1.40.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-GnuPG-Interface/perl-GnuPG-Interface.changes 2023-09-29 21:15:14.473358161 +0200
+++ /work/SRC/openSUSE:Factory/.perl-GnuPG-Interface.new.25432/perl-GnuPG-Interface.changes 2023-12-14 22:03:59.913924162 +0100
@@ -1,0 +2,15 @@
+Thu Dec 14 14:14:13 UTC 2023 - Tina Müller <tina.mueller(a)suse.com>
+
+- Remove make test workaround, fixed upstream
+
+-------------------------------------------------------------------
+Thu Dec 14 03:08:50 UTC 2023 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 1.04
+ see /usr/share/doc/packages/perl-GnuPG-Interface/Changes
+
+ 1.04 - 2023-12-12
+ - Use the included fake gpg for better test portability
+ - Update tests for gpg 2.4
+
+-------------------------------------------------------------------
Old:
----
GnuPG-Interface-1.03.tar.gz
New:
----
GnuPG-Interface-1.04.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-GnuPG-Interface.spec ++++++
--- /var/tmp/diff_new_pack.z9WQjF/_old 2023-12-14 22:04:00.561947537 +0100
+++ /var/tmp/diff_new_pack.z9WQjF/_new 2023-12-14 22:04:00.561947537 +0100
@@ -18,9 +18,9 @@
%define cpan_name GnuPG-Interface
Name: perl-GnuPG-Interface
-Version: 1.30.0
+Version: 1.40.0
Release: 0
-%define cpan_version 1.03
+%define cpan_version 1.04
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Supply object methods for interacting with GnuPG
URL: https://metacpan.org/release/%{cpan_name}
@@ -41,7 +41,7 @@
Provides: perl(GnuPG::Fingerprint)
Provides: perl(GnuPG::Handles)
Provides: perl(GnuPG::HashInit)
-Provides: perl(GnuPG::Interface) = 1.30.0
+Provides: perl(GnuPG::Interface) = %{version}
Provides: perl(GnuPG::Key)
Provides: perl(GnuPG::Options)
Provides: perl(GnuPG::PrimaryKey)
@@ -79,9 +79,7 @@
# MANUAL END
%check
-# RT#88963
-%{__make} test || :
-%{__make} test
+make test
%install
%perl_make_install
++++++ GnuPG-Interface-1.03.tar.gz -> GnuPG-Interface-1.04.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/Changes new/GnuPG-Interface-1.04/Changes
--- old/GnuPG-Interface-1.03/Changes 2023-09-15 17:31:11.000000000 +0200
+++ new/GnuPG-Interface-1.04/Changes 2023-12-12 23:28:17.000000000 +0100
@@ -1,5 +1,9 @@
Revision history for GnuPG-Interface
+1.04 - 2023-12-12
+ - Use the included fake gpg for better test portability
+ - Update tests for gpg 2.4
+
1.03 - 2023-09-14
- Add fix for running in taint mode for Perl 5.38.0(thanks to Andrew Ruthven)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/MANIFEST new/GnuPG-Interface-1.04/MANIFEST
--- old/GnuPG-Interface-1.03/MANIFEST 2023-09-15 17:28:58.000000000 +0200
+++ new/GnuPG-Interface-1.04/MANIFEST 2023-12-12 23:28:17.000000000 +0100
@@ -77,6 +77,7 @@
test/public_keys.pgp
test/secret-keys/1.0.test
test/secret-keys/1.1.test
+test/secret-keys/1.2.2.test
test/secret-keys/1.2.test
test/secret-keys/2.0.test
test/secret_keys.pgp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/META.yml new/GnuPG-Interface-1.04/META.yml
--- old/GnuPG-Interface-1.03/META.yml 2023-09-15 17:32:30.000000000 +0200
+++ new/GnuPG-Interface-1.04/META.yml 2023-12-12 23:28:44.000000000 +0100
@@ -28,4 +28,4 @@
Scalar::Util: 0
resources:
license: http://dev.perl.org/licenses/
-version: '1.03'
+version: '1.04'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/README new/GnuPG-Interface-1.04/README
--- old/GnuPG-Interface-1.03/README 2023-09-15 17:32:30.000000000 +0200
+++ new/GnuPG-Interface-1.04/README 2023-12-12 23:28:44.000000000 +0100
@@ -68,16 +68,16 @@
Another Process" in perlipc.
GnuPG Versions
- As of this version of GnuPG::Interface, there are two supported versions
- of GnuPG: 1.4.x and 2.2.x. The GnuPG download page
+ As of this version of GnuPG::Interface, there are three supported
+ versions of GnuPG: 1.4.x, 2.2.x, and 2.4.x. The GnuPG download page
<https://gnupg.org/download/index.html> has updated information on the
currently supported versions.
GnuPG released 2.0 and 2.1 versions in the past and some packaging
systems may still provide these if you install the default "gpg",
- "gnupg", "gnupg2", etc. packages. This modules supports only version
- 2.2.x, so you may need to find additional package repositories or build
- from source to get the updated version.
+ "gnupg", "gnupg2", etc. packages. 2.0 and 2.1 versions are not
+ supported, so you may need to find additional package repositories or
+ build from source to get the updated version.
OBJECT METHODS
Initialization Methods
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/SIGNATURE new/GnuPG-Interface-1.04/SIGNATURE
--- old/GnuPG-Interface-1.03/SIGNATURE 2023-09-15 17:32:33.000000000 +0200
+++ new/GnuPG-Interface-1.04/SIGNATURE 2023-12-12 23:28:46.000000000 +0100
@@ -14,12 +14,12 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
-SHA256 91b53f531350d31d21c7e9f3104b7ef0d48a96e5c6ea9eaa64fa475d51c1bce2 Changes
-SHA256 1335737b60af96b1dd394fe1b04dc82a4023da6f9285c0a8abd77c7eaf8ed41e MANIFEST
+SHA256 914b1d734a8bfb2e1790216ae61c994ac01a407ade764fbae8bf3eaed6b3f218 Changes
+SHA256 9a3d14a50a9fbc4795dd9cf6aeeca3c577d6ac6e08250d51cb8afe3d529f97ec MANIFEST
SHA256 93d50f37fd222dbe3a8590a019f39d7a79ba725227b53ea6f9dd195830e2fb77 MANIFEST.SKIP
-SHA256 0531f930cd01f4e65819a463cf121a66c54a25533b85e97714e8abfd54098bab META.yml
+SHA256 65cf2e606a9231947d4c6bf732e196d0bfe06e7d65aede96d221089b94a6df8b META.yml
SHA256 d66b805878b178c170e04ea8e8c06bff2b83c43463e191fd38472360f60835b0 Makefile.PL
-SHA256 c0d74f2b2987828dc66017694f36454f429b5be29ca235db1e626f12d67cc1b2 README
+SHA256 5617f493744e229ff25cecf195de7861c322eb6b5d6b316bd1ecb91fc354df6b README
SHA256 cd5397bbe618f5bbd4e12a33b0cf5d21114e771c2dbd0ce28e2135beb52c35a8 inc/Module/Install.pm
SHA256 798836f9ccb8d204b1be31fc3835631f57e9d818b21a8f0d14bfcfb82ff4a72a inc/Module/Install/Base.pm
SHA256 d64cd4c16f83c5baf11f64a44bea3a0abc060a49da5aba040f0eb01394bf75ab inc/Module/Install/Can.pm
@@ -32,7 +32,7 @@
SHA256 21170a181c773923aa779477d62eed6357f44c9ab27b2abd216f097d78901c9e lib/GnuPG/Fingerprint.pm
SHA256 341fe948514a63dc081708c3a5356e0237ef1f333d964d99e9829a9e956f82d9 lib/GnuPG/Handles.pm
SHA256 fa9fca26659ef2baba11543b4cbcb141dc6d66191cea9bc07140a8cb3bccec9f lib/GnuPG/HashInit.pm
-SHA256 77ae56969e71a7109f1920edb389fedff97a74a791d3cc43b38fe73113818983 lib/GnuPG/Interface.pm
+SHA256 32b0f6871e31bb8dded183e887b65c172b329371b0bc7e6b9b943163119c7379 lib/GnuPG/Interface.pm
SHA256 f53d8e10107713b8c72d1e0ae13021964344ed205e412fb49621ada6fd32bf3e lib/GnuPG/Key.pm
SHA256 729f79dfaf58ba9d7321a8005f90a9dea1614b61556c50120bc323fe753e0022 lib/GnuPG/Options.pm
SHA256 de1dbcd19ece6fd939367f1132f08afdede2553e4c20028d08c186d10ec0d9c8 lib/GnuPG/PrimaryKey.pm
@@ -55,16 +55,16 @@
SHA256 d2cd3e45ddcafc924573c675d9613203633fc37c1deeba0f4338781b550a9ab9 t/encrypt.t
SHA256 2f9d931effb1b8bfdb20c250ae7ad0cdfac1b9546408e2b1c722b8559f7d57f6 t/encrypt_symmetrically.t
SHA256 5bad9360f0e5cfe956c7aed6691da13a233eaf869d6b9c89d8717970f450035d t/export_keys.t
-SHA256 8f31e088ceb6dac7b61b23b5e6f2857ff377f371945df68e6f48bff443ca9588 t/get_public_keys.t
-SHA256 b1a0059daf0f74eb56a6bf644db37f50b0fb9fd8a0a4460b3b61b8a6e698e448 t/get_secret_keys.t
+SHA256 bba1c007605d318c39e86a32920ab86492032b694c8061471374622c74a8d8fb t/get_public_keys.t
+SHA256 84c267e9f4b07d19a82340924e6d32733026c4774d8f555b876e7ab65b1237a8 t/get_secret_keys.t
SHA256 e6551cf8c9b417e97ad7ae0ba17cba696420d0fd82f6dbfed906ba95c990a3ce t/import_keys.t
SHA256 3d1a6a667e365bcfe4fe21af2d13dfb0aced9077bf140cfa859b955ba9def388 t/list_public_keys.t
-SHA256 bc59185d9c1634eca69c08b9541556902f81cde96fc74ee898472abf05ff61b4 t/list_secret_keys.t
+SHA256 36b31c3626ce993f8b383758440f8da9d84269e5bb140c5f0a4c88006501b0e9 t/list_secret_keys.t
SHA256 233a3438cadd21602d821271e4f4d117e131b7d09098543c556689f3a00bb840 t/list_sigs.t
SHA256 998f85987922a9f55895b696808c677b036e199ba6054773cc0318ab55f21150 t/passphrase_handling.t
SHA256 dbba8768ec668f5963cda97b50ebf0bd4759cf53c7d584afe724e05f2e3ecc32 t/sign.t
SHA256 58dd4921945ed7347ba028f52c87fe5ea43487ec3c4765afb73e97686e277a15 t/sign_and_encrypt.t
-SHA256 33a8d7e5104d012d0e261ef8fbf1173323b8f9c0d3213abbb39f1088e9da0873 t/taint_mode.t
+SHA256 831355318808cb3be7b32afeec1ec8fbd2f6b9a90fb5d5e3c7f33f1c616ef16a t/taint_mode.t
SHA256 845140735d2be4acc0ae4c3459ef06646d26843584d370b18f49fcc17d27ccae t/verify.t
SHA256 f7c37ee27283212cbbbe15046060ae76007c346041a8111528a0a64efe4b4db1 t/version_updates.t
SHA256 4fe916000a3a23c7a06386252ae5731ffb5c08d2f03c07826908529844cc3c27 t/wrap_call.t
@@ -92,18 +92,19 @@
SHA256 6b3ef18f32c501a3cfdd94644594055796271ac2634b21cb82c5126c60454de0 test/public_keys.pgp
SHA256 f37f6448e73bdb18977c459e949fa30e59e1d6abb3a0533005191112c8dd0e34 test/secret-keys/1.0.test
SHA256 53100dae1939540999ee2dea39e46077fdaa905870dea5e426eb5add32290619 test/secret-keys/1.1.test
-SHA256 8eb233c6c122e84cb3ccd758c1787300e93aeb38b16e986761a03455e2ed1f8c test/secret-keys/1.2.test
+SHA256 8eb233c6c122e84cb3ccd758c1787300e93aeb38b16e986761a03455e2ed1f8c test/secret-keys/1.2.2.test
+SHA256 6af01a4c0d8dcab51cf0a022ccc60b85300fc8ed8f9aa22de7710526698b0896 test/secret-keys/1.2.test
SHA256 83c081e123ec2453b42388865b8948e8bbc5276c739ee6087aad4cdc98f127a5 test/secret-keys/2.0.test
SHA256 b84cf371c144ae5bdb201c7a8fa0461562ac7d87395c94406b8611bc855d5bb3 test/secret_keys.pgp
SHA256 1fb329b56306f80d4c23398f2f8076b8f7fffa19fcda7193be24c8792807ea80 test/signed.1.asc
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCAAdFiEExJs3Lyv4ShkBFmAnDfCig/6sgLIFAmUEeREACgkQDfCig/6s
-gLK3dAgAoY9RnyW4Pkft/4XuAl6GVZ2AZ8Pj/xioYQWQsQt4R8TKK9N3061qtFMY
-kQ8gUv6K3SCw+yMSDNrZekFIEYNOLKzwhvLIg6TePmJqu6HqsqEYCKUDxBovJHx3
-3GOv2XGWwvPiLz60jM4/0JBnFJRX01eyxNmQGGqw1G48sVEf8ZR9dQS/3nv50jIT
-s1JH5l8pPI3qVEwu+4SEFpj4WC63TV71ymsnozJ49gQyd4/vG+onnp5EFPgiCHHy
-CzgHxHPrMG8PLhXsVUlp5GOiO6XYVxjxRRCvTMtGjb7B4LLtY9WNnw4ttHGN1uh4
-VblscWEmudvnUqv6e/fwJ2C344/+gA==
-=vwDX
+iQEzBAEBCAAdFiEExJs3Lyv4ShkBFmAnDfCig/6sgLIFAmV43p4ACgkQDfCig/6s
+gLIQ6wgAvW45WwBI9uA+ZqdJ0IPj+KSXIhh7anJEe8R0vfMEblgaBtFEHujai6CO
+IzM0RqwMYa+aWdwjwJv1jmjvwStaz+PR0+KGJyfEanTPGDCmcjwugtkTDj+rpXVV
+Zwr7vuB1izmyF1q4oXIMh75+w8CaFOoIiEV9FyXZBJfh+N0RKJAnlEhjazQhTMYK
+O3IG4LJ0/OsIjBOPqCW37DnHPD+GLZLM022jwnGHOsbxKGMXC++Gf0x2JkfxfXCr
+k8t6l1uZfEG5EcezkSaaih9qKhWffQZzOoctbIyEW2CO7qm/HgKZZnO05pNRwLUl
+c7J7oBZYYwErVFv+qBfNaF24eAv0tA==
+=5cp+
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/lib/GnuPG/Interface.pm new/GnuPG-Interface-1.04/lib/GnuPG/Interface.pm
--- old/GnuPG-Interface-1.03/lib/GnuPG/Interface.pm 2023-09-15 17:28:58.000000000 +0200
+++ new/GnuPG-Interface-1.04/lib/GnuPG/Interface.pm 2023-12-12 23:28:17.000000000 +0100
@@ -29,7 +29,7 @@
use GnuPG::Handles;
use Scalar::Util 'tainted';
-$VERSION = '1.03';
+$VERSION = '1.04';
has passphrase => (
isa => 'Any',
@@ -46,7 +46,7 @@
# NB: GnuPG versions
#
-# There are now two supported versions of GnuPG: legacy 1.4 and stable 2.2
+# There are now three supported versions of GnuPG: legacy 1.4, 2.2, and 2.4.
# They are detected and each behave slightly differently.
#
# When using features specific to branches, check that the system's
@@ -988,16 +988,16 @@
=head1 GnuPG Versions
-As of this version of GnuPG::Interface, there are two supported
-versions of GnuPG: 1.4.x and 2.2.x. The
+As of this version of GnuPG::Interface, there are three supported
+versions of GnuPG: 1.4.x, 2.2.x, and 2.4.x. The
L<GnuPG download page|https://gnupg.org/download/index.html> has
updated information on the currently supported versions.
GnuPG released 2.0 and 2.1 versions in the past and some packaging
systems may still provide these if you install the default C<gpg>,
-C<gnupg>, C<gnupg2>, etc. packages. This modules supports only
-version 2.2.x, so you may need to find additional package
-repositories or build from source to get the updated version.
+C<gnupg>, C<gnupg2>, etc. packages. 2.0 and 2.1 versions are not
+supported, so you may need to find additional package repositories
+or build from source to get the updated version.
=head1 OBJECT METHODS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/t/get_public_keys.t new/GnuPG-Interface-1.04/t/get_public_keys.t
--- old/GnuPG-Interface-1.03/t/get_public_keys.t 2023-02-06 06:42:45.000000000 +0100
+++ new/GnuPG-Interface-1.04/t/get_public_keys.t 2023-12-12 22:37:53.000000000 +0100
@@ -181,7 +181,7 @@
hex_id => 'ADB99D9C2E854A6B',
creation_date => 949813119,
creation_date_string => '2000-02-06',
- usage_flags => 'e',
+ usage_flags => $gnupg->cmp_version($gnupg->version, '2.3.8') >= 0 ? 'er' : 'e',
pubkey_data => $subkey_pub_data,
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/t/get_secret_keys.t new/GnuPG-Interface-1.04/t/get_secret_keys.t
--- old/GnuPG-Interface-1.03/t/get_secret_keys.t 2023-02-06 06:42:45.000000000 +0100
+++ new/GnuPG-Interface-1.04/t/get_secret_keys.t 2023-12-12 22:37:53.000000000 +0100
@@ -87,7 +87,7 @@
hex_id => 'ADB99D9C2E854A6B',
creation_date => 949813119,
creation_date_string => '2000-02-06',
- usage_flags => 'e',
+ usage_flags => $gnupg->cmp_version($gnupg->version, '2.3.8') >= 0 ? 'er' : 'e',
pubkey_data => $subkey_pub_data,
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/t/list_secret_keys.t new/GnuPG-Interface-1.04/t/list_secret_keys.t
--- old/GnuPG-Interface-1.03/t/list_secret_keys.t 2023-02-06 06:42:45.000000000 +0100
+++ new/GnuPG-Interface-1.04/t/list_secret_keys.t 2023-12-12 22:37:53.000000000 +0100
@@ -45,17 +45,20 @@
TEST
{
my $keylist;
- if ($gnupg->cmp_version($gnupg->version, '2.1') < 0) {
- $keylist = '0';
+ if ( $gnupg->cmp_version( $gnupg->version, '2.1' ) < 0 ) {
+ $keylist = '0';
+ }
+ elsif ( $gnupg->cmp_version( $gnupg->version, '2.1.11' ) <= 0 ) {
+ $keylist = '1';
+ }
+ elsif ( $gnupg->cmp_version( $gnupg->version, '2.3.8' ) < 0 ) {
+ $keylist = '2.2';
}
else {
- if ($gnupg->cmp_version($gnupg->version, '2.1.11') <= 0) {
- $keylist = '1';
- }
- else {
- $keylist = '2';
- }
+ $keylist = '2';
}
+
+
my @files_to_test = ( 'test/secret-keys/1.'.$keylist.'.test' );
return file_match( $outfile, @files_to_test );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/t/taint_mode.t new/GnuPG-Interface-1.04/t/taint_mode.t
--- old/GnuPG-Interface-1.03/t/taint_mode.t 2023-09-15 17:28:58.000000000 +0200
+++ new/GnuPG-Interface-1.04/t/taint_mode.t 2023-12-12 22:37:53.000000000 +0100
@@ -16,7 +16,7 @@
# See that we instantiate an object in Taint mode
TEST
{
- $gnupg = GnuPG::Interface->new( call => '/usr/bin/gpg' );
+ $gnupg = GnuPG::Interface->new( call => './test/fake-gpg-v2' );
};
# See that version is set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/test/secret-keys/1.2.2.test new/GnuPG-Interface-1.04/test/secret-keys/1.2.2.test
--- old/GnuPG-Interface-1.03/test/secret-keys/1.2.2.test 1970-01-01 01:00:00.000000000 +0100
+++ new/GnuPG-Interface-1.04/test/secret-keys/1.2.2.test 2023-12-12 22:37:53.000000000 +0100
@@ -0,0 +1,13 @@
+test/gnupghome/pubring.kbx
+--------------------------
+sec dsa1024 2000-02-06 [SCA]
+ 93AFC4B1B0288A104996B44253AE596EF950DA9C
+uid [ unknown] GnuPG test key (for testing purposes only)
+uid [ unknown] Foo Bar (1)
+ssb elg768 2000-02-06 [E]
+
+sec rsa2048 2016-10-12 [SC]
+ 278F850AA702911F1318F0A61B913CE9B6747DDC
+uid [ unknown] GnuPG::Interface Test key <test(a)example.org>
+ssb rsa2048 2016-10-12 [E]
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GnuPG-Interface-1.03/test/secret-keys/1.2.test new/GnuPG-Interface-1.04/test/secret-keys/1.2.test
--- old/GnuPG-Interface-1.03/test/secret-keys/1.2.test 2023-02-06 06:42:45.000000000 +0100
+++ new/GnuPG-Interface-1.04/test/secret-keys/1.2.test 2023-12-12 22:37:53.000000000 +0100
@@ -4,7 +4,7 @@
93AFC4B1B0288A104996B44253AE596EF950DA9C
uid [ unknown] GnuPG test key (for testing purposes only)
uid [ unknown] Foo Bar (1)
-ssb elg768 2000-02-06 [E]
+ssb elg768 2000-02-06 [ER]
sec rsa2048 2016-10-12 [SC]
278F850AA702911F1318F0A61B913CE9B6747DDC
++++++ cpanspec.yml ++++++
--- /var/tmp/diff_new_pack.z9WQjF/_old 2023-12-14 22:04:00.665951288 +0100
+++ /var/tmp/diff_new_pack.z9WQjF/_new 2023-12-14 22:04:00.669951432 +0100
@@ -9,9 +9,9 @@
post_build: |-
chmod 755 ./test/fake-gpg-v*
-custom_test: |-
- # RT#88963
- %{__make} test || :
- %{__make} test
+#custom_test: |-
+# # RT#88963
+# %{__make} test || :
+# %{__make} test
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package scapy for openSUSE:Factory checked in at 2023-12-14 22:03:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scapy (Old)
and /work/SRC/openSUSE:Factory/.scapy.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scapy"
Thu Dec 14 22:03:56 2023 rev:2 rq:1133109 version:2.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/scapy/scapy.changes 2023-12-11 21:52:03.858894174 +0100
+++ /work/SRC/openSUSE:Factory/.scapy.new.25432/scapy.changes 2023-12-14 22:03:58.625877704 +0100
@@ -1,0 +2,17 @@
+Thu Dec 14 11:13:45 UTC 2023 - Martin Hauke <mardnh(a)gmx.de>
+
+- Add python3-cryptography to BuildRequires to have out of the
+ box support for
+ + PKI & TLS crypto-related features
+ + WEP decryption/encryption. (Dot11)
+ + IPsec encryption/authentication.
+- Recommend python3-PyX to be able to be able to use psdump() or
+ pdfdump().
+- Recommend python3-ipython for better experience when working in
+ interactive mode (command completion, history, ...).
+ mode
+- Add workaround for openSUSE where /etc/protocols and
+ /etc/protocols no longer live in /etc/ but /usr/etc/
+- Run spec-cleaner
+
+-------------------------------------------------------------------
Old:
----
v2.5.0.tar.gz
New:
----
scapy-2.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scapy.spec ++++++
--- /var/tmp/diff_new_pack.M3aJ3j/_old 2023-12-14 22:03:59.277901222 +0100
+++ /var/tmp/diff_new_pack.M3aJ3j/_new 2023-12-14 22:03:59.277901222 +0100
@@ -1,7 +1,7 @@
#
# spec file for package scapy
#
-# Copyright (c) 2013 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,25 +12,29 @@
# 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: scapy
Version: 2.5.0
Release: 0
Summary: Interactive Packet Manipulation Tool
-Source: https://github.com/secdev/scapy/archive/v%{version}.tar.gz
-URL: https://scapy.net
+License: GPL-2.0-only
Group: Productivity/Networking/Security
-License: GPL-2.0
+URL: https://scapy.net
+Source: https://github.com/secdev/scapy/archive/v%{version}.tar.gz#/%{name}-%{versi…
BuildRequires: fdupes
BuildRequires: python3-devel
BuildRequires: python3-setuptools
# Testing requirements: (require root permission and a fully functional network stack)
#BuildRequires: tcpdump
-BuildArch: noarch
+Requires: python3-cryptography
+Recommends: python3-PyX
+Recommends: python3-ipython
Provides: python-scapy = %version
Obsoletes: python-scapy < 2.2.0
+BuildArch: noarch
%description
Scapy is a powerful interactive packet manipulation tool, packet generator,
@@ -54,6 +58,11 @@
# redistribute it (sr#172834):
rm -r doc/scapy
+# In (open)SUSE /etc/protocols and /etc/services
+# moved to /usr/etc/
+sed 's|%{_sysconfdir}/protocols|%{_prefix}%{_sysconfdir}/protocols|g' -i scapy/data.py
+sed 's|%{_sysconfdir}/services|%{_prefix}%{_sysconfdir}/services|g' -i scapy/data.py
+
%install
%python3_install
%fdupes %{buildroot}%{python3_sitelib}
@@ -63,10 +72,9 @@
#cd test && ./run_tests
%files
-%defattr(-,root,root)
%license LICENSE
%doc README.md
%{_bindir}/scapy
-%{_mandir}/man1/scapy.1%{ext_man}
+%{_mandir}/man1/scapy.1%{?ext_man}
%{python3_sitelib}/scapy*
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package arpwatch-ethercodes for openSUSE:Factory checked in at 2023-12-14 22:03:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arpwatch-ethercodes (Old)
and /work/SRC/openSUSE:Factory/.arpwatch-ethercodes.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arpwatch-ethercodes"
Thu Dec 14 22:03:54 2023 rev:771 rq:1133108 version:20231212
Changes:
--------
--- /work/SRC/openSUSE:Factory/arpwatch-ethercodes/arpwatch-ethercodes.changes 2023-08-09 17:26:22.441798930 +0200
+++ /work/SRC/openSUSE:Factory/.arpwatch-ethercodes.new.25432/arpwatch-ethercodes.changes 2023-12-14 22:03:57.221827063 +0100
@@ -1,0 +2,5 @@
+Tue Dec 12 12:12:12 UTC 2023 - olaf(a)aepfle.de
+
+- Update to version 20231212
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ arpwatch-ethercodes.spec ++++++
--- /var/tmp/diff_new_pack.zBfe69/_old 2023-12-14 22:03:58.205862555 +0100
+++ /var/tmp/diff_new_pack.zBfe69/_new 2023-12-14 22:03:58.209862699 +0100
@@ -18,7 +18,7 @@
Name: arpwatch-ethercodes
-Version: 20230808
+Version: 20231212
Release: 0
Summary: Ethercodes Data for arpwatch
License: BSD-3-Clause
++++++ oui.csv ++++++
++++ 5119 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/arpwatch-ethercodes/oui.csv
++++ and /work/SRC/openSUSE:Factory/.arpwatch-ethercodes.new.25432/oui.csv
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package budgie-extras for openSUSE:Factory checked in at 2023-12-14 22:03:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/budgie-extras (Old)
and /work/SRC/openSUSE:Factory/.budgie-extras.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "budgie-extras"
Thu Dec 14 22:03:52 2023 rev:8 rq:1133097 version:1.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/budgie-extras/budgie-extras.changes 2023-11-26 19:37:49.435308329 +0100
+++ /work/SRC/openSUSE:Factory/.budgie-extras.new.25432/budgie-extras.changes 2023-12-14 22:03:55.989782624 +0100
@@ -1,0 +2,18 @@
+Thu Dec 14 12:58:56 UTC 2023 - Callum Farmer <gmbr3(a)opensuse.org>
+
+- Budgie Extras 1.7.1 "Tinker Tailor..."
+ * CVE-2023-49347: budgie-wpreviews: use of fixed paths in /tmp
+ (bsc#1213341)
+ * CVE-2023-49344: windowshufflerdaemon: uses various fixed /tmp
+ file paths (bsc#1213342)
+ * CVE-2023-49345: budgie-takeabreak: fixed /tmp path use in
+ /tmp/nextbreak_<user> (bsc#1216281)
+ * CVE-2023-49346: budgie-weathershow: use of fixed path in
+ /tmp/<username>_weatherdata (bsc#1216282)
+ * CVE-2023-49342: budgie-clockworks: uses fixed temporary files
+ in /tmp/<user>_clockworks (bsc#1217595)
+ * CVE-2023-49343: budgie-dropby: use of fixed paths in
+ /tmp/<user>_call_dropby and /tmp/<user>_dropby_icon_copy
+ (bsc#1217597)
+
+-------------------------------------------------------------------
Old:
----
budgie-extras-1.7.0.tar.xz
budgie-extras-1.7.0.tar.xz.asc
New:
----
budgie-extras-1.7.1.tar.xz
budgie-extras-1.7.1.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ budgie-extras.spec ++++++
--- /var/tmp/diff_new_pack.isllt3/_old 2023-12-14 22:03:56.781811191 +0100
+++ /var/tmp/diff_new_pack.isllt3/_new 2023-12-14 22:03:56.781811191 +0100
@@ -24,7 +24,7 @@
%define _distconfdir %{_sysconfdir}
%endif
Name: budgie-extras
-Version: 1.7.0
+Version: 1.7.1
Release: 0
Summary: Additional Budgie Desktop enhancements for user experience
License: GPL-3.0-or-later
++++++ budgie-extras-1.7.0.tar.xz -> budgie-extras-1.7.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/budgie-extras/budgie-extras-1.7.0.tar.xz /work/SRC/openSUSE:Factory/.budgie-extras.new.25432/budgie-extras-1.7.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 python-guessit for openSUSE:Factory checked in at 2023-12-14 22:03:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-guessit (Old)
and /work/SRC/openSUSE:Factory/.python-guessit.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-guessit"
Thu Dec 14 22:03:51 2023 rev:23 rq:1133092 version:3.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-guessit/python-guessit.changes 2023-02-20 17:47:01.863830669 +0100
+++ /work/SRC/openSUSE:Factory/.python-guessit.new.25432/python-guessit.changes 2023-12-14 22:03:54.733737320 +0100
@@ -1,0 +2,19 @@
+Thu Dec 14 12:26:28 UTC 2023 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 3.8.0
+ Chore:
+ * migrate setup.cfg to pyproject.toml
+ * remove win_private_assemblies from pyinstaller spec
+ * Silence pylint
+ Feature:
+ * detect Dolby Vision from DV
+ * add Paramount+ to Streaming Services
+ * add amzn-cbr
+ * add python 3.12 and pypy 3.10 support
+ Fix:
+ * pathlib.Path.__enter__() is deprecated
+ * importlib.resources.read_text() is deprecated
+ Style:
+ * fix pylint false positive
+
+-------------------------------------------------------------------
Old:
----
guessit-3.7.1.tar.gz
New:
----
guessit-3.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-guessit.spec ++++++
--- /var/tmp/diff_new_pack.Uwk2ur/_old 2023-12-14 22:03:55.281757087 +0100
+++ /var/tmp/diff_new_pack.Uwk2ur/_new 2023-12-14 22:03:55.285757230 +0100
@@ -18,7 +18,7 @@
%define skip_python2 1
Name: python-guessit
-Version: 3.7.1
+Version: 3.8.0
Release: 0
Summary: A library for guessing information from video files
License: LGPL-3.0-only
++++++ guessit-3.7.1.tar.gz -> guessit-3.8.0.tar.gz ++++++
++++ 8721 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pymdown-extensions for openSUSE:Factory checked in at 2023-12-14 22:03:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pymdown-extensions (Old)
and /work/SRC/openSUSE:Factory/.python-pymdown-extensions.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pymdown-extensions"
Thu Dec 14 22:03:50 2023 rev:4 rq:1133071 version:10.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pymdown-extensions/python-pymdown-extensions.changes 2023-09-07 21:15:22.382950670 +0200
+++ /work/SRC/openSUSE:Factory/.python-pymdown-extensions.new.25432/python-pymdown-extensions.changes 2023-12-14 22:03:53.533694036 +0100
@@ -1,0 +2,18 @@
+Thu Dec 14 10:45:48 UTC 2023 - Elisei Roca <eroca(a)mailbox.org>
+
+- update to 10.5:
+ * NEW: Blocks: Admonitions and Details now allow configuring
+ custom block classes and default titles.
+ * FIX: Keys: Ensure that Keys does not parse base64 encoded URLs.
+
+- from 10.4:
+ * NEW: Snippets: Allow PathLike objects for base_path to better
+ support interactions with MkDocs.
+ * FIX: Block Admonitions: Empty titles should be respected.
+ * FIX: Block Details: Empty summary should be respected.
+
+- from 10.3.1:
+ * FIX: SuperFences: Fix an issue where braces were not handled
+ properly in attributes.
+
+-------------------------------------------------------------------
Old:
----
_service
pymdown-extensions-10.3.tar.gz
New:
----
pymdown-extensions-10.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pymdown-extensions.spec ++++++
--- /var/tmp/diff_new_pack.qqmrk0/_old 2023-12-14 22:03:54.405725489 +0100
+++ /var/tmp/diff_new_pack.qqmrk0/_new 2023-12-14 22:03:54.405725489 +0100
@@ -17,7 +17,7 @@
Name: python-pymdown-extensions
-Version: 10.3
+Version: 10.5
Release: 0
Summary: Extension pack for Python Markdown
License: MIT
++++++ pymdown-extensions-10.3.tar.gz -> pymdown-extensions-10.5.tar.gz ++++++
++++ 8263 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-allauth for openSUSE:Factory checked in at 2023-12-14 22:03:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-allauth (Old)
and /work/SRC/openSUSE:Factory/.python-django-allauth.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-allauth"
Thu Dec 14 22:03:48 2023 rev:11 rq:1133055 version:0.59.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-allauth/python-django-allauth.changes 2023-11-13 22:20:36.102908155 +0100
+++ /work/SRC/openSUSE:Factory/.python-django-allauth.new.25432/python-django-allauth.changes 2023-12-14 22:03:51.857633582 +0100
@@ -1,0 +2,24 @@
+Thu Dec 14 10:22:34 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.59.0:
+ * The MFA authenticator model now features "created at" an
+ "last used "at" timestamps.
+ * The MFA authenticator model is now registered with the Django
+ admin.
+ * Added MFA signals emitted when authenticators are added,
+ removed or (in case of recovery codes) reset.
+ * There is now an MFA adapter method
+ ``can_delete_authenticator(authenticator)``
+ available that can be used to prevent users from deactivating
+ e.g. their TOTP authenticator.
+ * Added a new app, user sessions, allowing users to view a list
+ of all their active sessions, as well as offering a means to
+ end these sessions.
+ * A configurable timeout (``SOCIALACCOUNT_REQUESTS_TIMEOUT``)
+ is now applied to all upstream requests.
+ * Added a setting ``ACCOUNT_EMAIL_UNKNOWN_ACCOUNTS`` to disable
+ sending of emails to unknown accounts.
+ * You can now override the MFA forms via the ``MFA_FORMS``
+ setting.
+
+-------------------------------------------------------------------
Old:
----
django-allauth-0.58.2.tar.gz
New:
----
django-allauth-0.59.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-allauth.spec ++++++
--- /var/tmp/diff_new_pack.e5fyK0/_old 2023-12-14 22:03:52.437654503 +0100
+++ /var/tmp/diff_new_pack.e5fyK0/_new 2023-12-14 22:03:52.441654648 +0100
@@ -32,7 +32,7 @@
%{?sle15_python_module_pythons}
Name: python-django-allauth
-Version: 0.58.2
+Version: 0.59.0
Release: 0
Summary: Django authentication, registration, account management
License: MIT
++++++ django-allauth-0.58.2.tar.gz -> django-allauth-0.59.0.tar.gz ++++++
++++ 41367 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ShellCheck for openSUSE:Factory checked in at 2023-12-14 22:03:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ShellCheck (Old)
and /work/SRC/openSUSE:Factory/.ShellCheck.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ShellCheck"
Thu Dec 14 22:03:42 2023 rev:28 rq:1133048 version:0.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ShellCheck/ShellCheck.changes 2023-11-23 21:43:08.545003509 +0100
+++ /work/SRC/openSUSE:Factory/.ShellCheck.new.25432/ShellCheck.changes 2023-12-14 22:03:47.453474731 +0100
@@ -1,0 +2,6 @@
+Wed Dec 6 17:05:35 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update ShellCheck to version 0.9.0 revision 2.
+ Upstream has revised the Cabal build instructions on Hackage.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ShellCheck.spec ++++++
--- /var/tmp/diff_new_pack.VfNIj8/_old 2023-12-14 22:03:48.357507337 +0100
+++ /var/tmp/diff_new_pack.VfNIj8/_new 2023-12-14 22:03:48.357507337 +0100
@@ -26,7 +26,7 @@
License: GPL-3.0-or-later
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: chrpath
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-Diff-devel
@@ -112,9 +112,6 @@
%prep
%autosetup
cp -p %{SOURCE1} %{name}.cabal
-cabal-tweak-dep-ver fgl '< 5.8.1.0' '< 6'
-cabal-tweak-dep-ver mtl '< 2.3' '< 3'
-cabal-tweak-dep-ver transformers '< 0.6' '< 1'
%build
%ghc_lib_build
++++++ ShellCheck.cabal ++++++
--- /var/tmp/diff_new_pack.VfNIj8/_old 2023-12-14 22:03:48.393508636 +0100
+++ /var/tmp/diff_new_pack.VfNIj8/_new 2023-12-14 22:03:48.397508781 +0100
@@ -1,148 +1,148 @@
-Name: ShellCheck
-Version: 0.9.0
-x-revision: 1
-Synopsis: Shell script analysis tool
-License: GPL-3
-License-file: LICENSE
-Category: Static Analysis
-Author: Vidar Holen
-Maintainer: vidar(a)vidarholen.net
-Homepage: https://www.shellcheck.net/
-Build-Type: Simple
-Cabal-Version: 1.18
-Bug-reports: https://github.com/koalaman/shellcheck/issues
-Description:
- The goals of ShellCheck are:
- .
- * To point out and clarify typical beginner's syntax issues,
- that causes a shell to give cryptic error messages.
- .
- * To point out and clarify typical intermediate level semantic problems,
- that causes a shell to behave strangely and counter-intuitively.
- .
- * To point out subtle caveats, corner cases and pitfalls, that may cause an
- advanced user's otherwise working script to fail under future circumstances.
-
-Extra-Doc-Files:
- README.md
- CHANGELOG.md
-Extra-Source-Files:
- -- documentation
- shellcheck.1.md
- -- A script to build the man page using pandoc
- manpage
- -- convenience script for stripping tests
- striptests
- -- tests
- test/shellcheck.hs
-
-source-repository head
- type: git
- location: git://github.com/koalaman/shellcheck.git
-
-library
- hs-source-dirs: src
- if impl(ghc < 8.0)
- build-depends:
- semigroups
- build-depends:
- -- The lower bounds are based on GHC 7.10.3
- -- The upper bounds are based on GHC 9.4.3
- aeson >= 1.4.0 && < 2.2,
- array >= 0.5.1 && < 0.6,
- base >= 4.8.0.0 && < 5,
- bytestring >= 0.10.6 && < 0.12,
- containers >= 0.5.6 && < 0.7,
- deepseq >= 1.4.1 && < 1.5,
- Diff >= 0.4.0 && < 0.5,
- fgl >= 5.7.0 && < 5.8.1.0,
- filepath >= 1.4.0 && < 1.5,
- mtl >= 2.2.2 && < 2.3,
- parsec >= 3.1.14 && < 3.2,
- QuickCheck >= 2.14.2 && < 2.15,
- regex-tdfa >= 1.2.0 && < 1.4,
- transformers >= 0.4.2 && < 0.6,
-
- -- getXdgDirectory from 1.2.3.0
- directory >= 1.2.3 && < 1.4,
-
- -- When cabal supports it, move this to setup-depends:
- process
- exposed-modules:
- ShellCheck.AST
- ShellCheck.ASTLib
- ShellCheck.Analytics
- ShellCheck.Analyzer
- ShellCheck.AnalyzerLib
- ShellCheck.CFG
- ShellCheck.CFGAnalysis
- ShellCheck.Checker
- ShellCheck.Checks.Commands
- ShellCheck.Checks.ControlFlow
- ShellCheck.Checks.Custom
- ShellCheck.Checks.ShellSupport
- ShellCheck.Data
- ShellCheck.Debug
- ShellCheck.Fixer
- ShellCheck.Formatter.Format
- ShellCheck.Formatter.CheckStyle
- ShellCheck.Formatter.Diff
- ShellCheck.Formatter.GCC
- ShellCheck.Formatter.JSON
- ShellCheck.Formatter.JSON1
- ShellCheck.Formatter.TTY
- ShellCheck.Formatter.Quiet
- ShellCheck.Interface
- ShellCheck.Parser
- ShellCheck.Prelude
- ShellCheck.Regex
- other-modules:
- Paths_ShellCheck
- default-language: Haskell98
-
-executable shellcheck
- if impl(ghc < 8.0)
- build-depends:
- semigroups
- build-depends:
- aeson,
- array,
- base,
- bytestring,
- containers,
- deepseq,
- Diff,
- directory,
- fgl,
- mtl,
- filepath,
- parsec,
- QuickCheck,
- regex-tdfa,
- transformers,
- ShellCheck
- default-language: Haskell98
- main-is: shellcheck.hs
-
-test-suite test-shellcheck
- type: exitcode-stdio-1.0
- build-depends:
- aeson,
- array,
- base,
- bytestring,
- containers,
- deepseq,
- Diff,
- directory,
- fgl,
- filepath,
- mtl,
- parsec,
- QuickCheck,
- regex-tdfa,
- transformers,
- ShellCheck
- default-language: Haskell98
- main-is: test/shellcheck.hs
+Name: ShellCheck
+Version: 0.9.0
+x-revision: 2
+Synopsis: Shell script analysis tool
+License: GPL-3
+License-file: LICENSE
+Category: Static Analysis
+Author: Vidar Holen
+Maintainer: vidar(a)vidarholen.net
+Homepage: https://www.shellcheck.net/
+Build-Type: Simple
+Cabal-Version: 1.18
+Bug-reports: https://github.com/koalaman/shellcheck/issues
+Description:
+ The goals of ShellCheck are:
+ .
+ * To point out and clarify typical beginner's syntax issues,
+ that causes a shell to give cryptic error messages.
+ .
+ * To point out and clarify typical intermediate level semantic problems,
+ that causes a shell to behave strangely and counter-intuitively.
+ .
+ * To point out subtle caveats, corner cases and pitfalls, that may cause an
+ advanced user's otherwise working script to fail under future circumstances.
+
+Extra-Doc-Files:
+ README.md
+ CHANGELOG.md
+Extra-Source-Files:
+ -- documentation
+ shellcheck.1.md
+ -- A script to build the man page using pandoc
+ manpage
+ -- convenience script for stripping tests
+ striptests
+ -- tests
+ test/shellcheck.hs
+
+source-repository head
+ type: git
+ location: https://github.com/koalaman/shellcheck.git
+
+library
+ hs-source-dirs: src
+ if impl(ghc < 8.0)
+ build-depends:
+ semigroups
+ build-depends:
+ -- The lower bounds are based on GHC 7.10.3
+ -- The upper bounds are based on GHC 9.8.1
+ aeson >= 1.4.0 && < 2.3,
+ array >= 0.5.1 && < 0.6,
+ base >= 4.8.0.0 && < 5,
+ bytestring >= 0.10.6 && < 0.13,
+ containers >= 0.5.6 && < 0.8,
+ deepseq >= 1.4.1 && < 1.6,
+ Diff >= 0.4.0 && < 0.5,
+ fgl (>= 5.7.0 && < 5.8.1.0) || (>= 5.8.1.1 && < 5.9),
+ filepath >= 1.4.0 && < 1.5,
+ mtl >= 2.2.2 && < 2.4,
+ parsec >= 3.1.14 && < 3.2,
+ QuickCheck >= 2.14.2 && < 2.15,
+ regex-tdfa >= 1.2.0 && < 1.4,
+ transformers >= 0.4.2 && < 0.7,
+
+ -- getXdgDirectory from 1.2.3.0
+ directory >= 1.2.3 && < 1.4,
+
+ -- When cabal supports it, move this to setup-depends:
+ process
+ exposed-modules:
+ ShellCheck.AST
+ ShellCheck.ASTLib
+ ShellCheck.Analytics
+ ShellCheck.Analyzer
+ ShellCheck.AnalyzerLib
+ ShellCheck.CFG
+ ShellCheck.CFGAnalysis
+ ShellCheck.Checker
+ ShellCheck.Checks.Commands
+ ShellCheck.Checks.ControlFlow
+ ShellCheck.Checks.Custom
+ ShellCheck.Checks.ShellSupport
+ ShellCheck.Data
+ ShellCheck.Debug
+ ShellCheck.Fixer
+ ShellCheck.Formatter.Format
+ ShellCheck.Formatter.CheckStyle
+ ShellCheck.Formatter.Diff
+ ShellCheck.Formatter.GCC
+ ShellCheck.Formatter.JSON
+ ShellCheck.Formatter.JSON1
+ ShellCheck.Formatter.TTY
+ ShellCheck.Formatter.Quiet
+ ShellCheck.Interface
+ ShellCheck.Parser
+ ShellCheck.Prelude
+ ShellCheck.Regex
+ other-modules:
+ Paths_ShellCheck
+ default-language: Haskell98
+
+executable shellcheck
+ if impl(ghc < 8.0)
+ build-depends:
+ semigroups
+ build-depends:
+ aeson,
+ array,
+ base,
+ bytestring,
+ containers,
+ deepseq,
+ Diff,
+ directory,
+ fgl,
+ mtl,
+ filepath,
+ parsec,
+ QuickCheck,
+ regex-tdfa,
+ transformers,
+ ShellCheck
+ default-language: Haskell98
+ main-is: shellcheck.hs
+
+test-suite test-shellcheck
+ type: exitcode-stdio-1.0
+ build-depends:
+ aeson,
+ array,
+ base,
+ bytestring,
+ containers,
+ deepseq,
+ Diff,
+ directory,
+ fgl,
+ filepath,
+ mtl,
+ parsec,
+ QuickCheck,
+ regex-tdfa,
+ transformers,
+ ShellCheck
+ default-language: Haskell98
+ main-is: test/shellcheck.hs
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pdfminer.six for openSUSE:Factory checked in at 2023-12-14 22:03:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pdfminer.six (Old)
and /work/SRC/openSUSE:Factory/.python-pdfminer.six.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pdfminer.six"
Thu Dec 14 22:03:40 2023 rev:7 rq:1133035 version:20221105
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pdfminer.six/python-pdfminer.six.changes 2023-08-28 17:13:45.905526345 +0200
+++ /work/SRC/openSUSE:Factory/.python-pdfminer.six.new.25432/python-pdfminer.six.changes 2023-12-14 22:03:44.681374745 +0100
@@ -1,0 +2,19 @@
+Mon Dec 11 17:24:21 UTC 2023 - Jonathan Papineau <jonathan(a)jontech.app>
+
+- Update to 20221105
+ - Option to disable boxes flow layout analysis when using pdf2txt
+ - Add support for PDF 2.0 (ISO 32000-2) AES-256 encryption
+ - Support for Paeth PNG filter compression (predictor value = 4)
+ - Type annotations
+ - Export type annotations from pypi package per PEP561
+ - Support for identity cmap's
+ - Add support for PDF page labels
+ - Installation of Pillow as an optional extra dependency
+ - Exporting images without any specific encoding
+ - Output converter for the hOCR format
+ - Font name aliases for Arial, Courier New and Times New Roman
+ - Documentation on why special characters can sometimes not be extracted
+- Remove patch python-pdfminer.six-remove-nose.patch
+- Update dependencies
+
+-------------------------------------------------------------------
Old:
----
pdfminer.six-20200726.tar.gz
python-pdfminer.six-remove-nose.patch
New:
----
pdfminer.six-20221105.tar.gz
BETA DEBUG BEGIN:
Old: - Documentation on why special characters can sometimes not be extracted
- Remove patch python-pdfminer.six-remove-nose.patch
- Update dependencies
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pdfminer.six.spec ++++++
--- /var/tmp/diff_new_pack.xYRB71/_old 2023-12-14 22:03:45.417401293 +0100
+++ /var/tmp/diff_new_pack.xYRB71/_new 2023-12-14 22:03:45.421401436 +0100
@@ -18,25 +18,22 @@
%{?sle15_python_module_pythons}
Name: python-pdfminer.six
-Version: 20200726
+Version: 20221105
Release: 0
Summary: PDF parser and analyzer
License: MIT
URL: https://github.com/pdfminer/pdfminer.six
Source: https://github.com/pdfminer/pdfminer.six/archive/%{version}.tar.gz#/pdfmine…
# https://github.com/pdfminer/pdfminer.six/pull/489
-Patch0: python-pdfminer.six-remove-nose.patch
-Patch1: import-from-non-pythonpath-files.patch
-BuildRequires: %{python_module chardet}
-BuildRequires: %{python_module cryptography}
+Patch0: import-from-non-pythonpath-files.patch
+BuildRequires: %{python_module charset-normalizer >= 2.0.0}
+BuildRequires: %{python_module cryptography >= 36.0.0}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module sortedcontainers}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-chardet
-Requires: python-cryptography
-Requires: python-sortedcontainers
+Requires: python-charset-normalizer >= 2.0.0
+Requires: python-cryptography >= 36.0.0
Requires(post): update-alternatives
Requires(postun):update-alternatives
Provides: python-pdfminer3k = %{version}
@@ -56,6 +53,7 @@
%autopatch -p1
sed -i -e '/^#!\//, 1d' pdfminer/psparser.py
sed -i '1i #!%{_bindir}/python3' tools/dumppdf.py tools/pdf2txt.py
+sed -i "s/__VERSION__/%{version}/g" pdfminer/__init__.py
%build
%python_build
++++++ import-from-non-pythonpath-files.patch ++++++
--- /var/tmp/diff_new_pack.xYRB71/_old 2023-12-14 22:03:45.441402158 +0100
+++ /var/tmp/diff_new_pack.xYRB71/_new 2023-12-14 22:03:45.441402158 +0100
@@ -1,36 +1,34 @@
-Index: pdfminer.six-20200726/tests/test_tools_dumppdf.py
-===================================================================
---- pdfminer.six-20200726.orig/tests/test_tools_dumppdf.py
-+++ pdfminer.six-20200726/tests/test_tools_dumppdf.py
-@@ -5,8 +5,11 @@ from tempfile import NamedTemporaryFile
+diff '--color=auto' -rub pdfminer.six-20221105.orig/tests/test_tools_dumppdf.py pdfminer.six-20221105/tests/test_tools_dumppdf.py
+--- pdfminer.six-20221105.orig/tests/test_tools_dumppdf.py 2022-11-05 12:22:08.000000000 -0400
++++ pdfminer.six-20221105/tests/test_tools_dumppdf.py 2023-12-11 12:12:06.044210731 -0500
+@@ -4,7 +4,11 @@
from helpers import absolute_sample_path
- from pdfminer.pdfdocument import PDFNoValidXRefWarning
+ from tempfilepath import TemporaryFilePath
-from tools import dumppdf
-
++
+import importlib.util
+spec = importlib.util.spec_from_file_location("dumppdf", "tools/dumppdf.py")
+dumppdf = importlib.util.module_from_spec(spec)
+spec.loader.exec_module(dumppdf)
+
def run(filename, options=None):
- absolute_path = absolute_sample_path(filename)
-Index: pdfminer.six-20200726/tests/test_tools_pdf2txt.py
-===================================================================
---- pdfminer.six-20200726.orig/tests/test_tools_pdf2txt.py
-+++ pdfminer.six-20200726/tests/test_tools_pdf2txt.py
-@@ -4,9 +4,13 @@ import os
- from shutil import rmtree
- from tempfile import NamedTemporaryFile, mkdtemp
+diff '--color=auto' -rub pdfminer.six-20221105.orig/tests/test_tools_pdf2txt.py pdfminer.six-20221105/tests/test_tools_pdf2txt.py
+--- pdfminer.six-20221105.orig/tests/test_tools_pdf2txt.py 2022-11-05 12:22:08.000000000 -0400
++++ pdfminer.six-20221105/tests/test_tools_pdf2txt.py 2023-12-11 12:12:40.848031179 -0500
+@@ -3,10 +3,13 @@
+ from tempfile import mkdtemp
+ import filecmp
-import tools.pdf2txt as pdf2txt
from helpers import absolute_sample_path
+ from tempfilepath import TemporaryFilePath
+import importlib.util
+spec = importlib.util.spec_from_file_location("pdf2txt", "tools/pdf2txt.py")
+pdf2txt = importlib.util.module_from_spec(spec)
+spec.loader.exec_module(pdf2txt)
-+
def run(sample_path, options=None):
absolute_path = absolute_sample_path(sample_path)
++++++ pdfminer.six-20200726.tar.gz -> pdfminer.six-20221105.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-pdfminer.six/pdfminer.six-20200726.tar.gz /work/SRC/openSUSE:Factory/.python-pdfminer.six.new.25432/pdfminer.six-20221105.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 qt-creator for openSUSE:Factory checked in at 2023-12-14 22:03:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt-creator (Old)
and /work/SRC/openSUSE:Factory/.qt-creator.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt-creator"
Thu Dec 14 22:03:36 2023 rev:29 rq:1133017 version:12.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt-creator/qt-creator.changes 2023-11-26 19:37:02.609591695 +0100
+++ /work/SRC/openSUSE:Factory/.qt-creator.new.25432/qt-creator.changes 2023-12-14 22:03:42.473295103 +0100
@@ -1,0 +2,6 @@
+Wed Dec 13 08:54:19 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 12.0.1. Bugfix release:
+ * https://www.qt.io/blog/qt-creator-12.0.1-released
+
+-------------------------------------------------------------------
Old:
----
qt-creator-opensource-src-12.0.0.tar.xz
New:
----
qt-creator-opensource-src-12.0.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt-creator.spec ++++++
--- /var/tmp/diff_new_pack.plodVL/_old 2023-12-14 22:03:43.537333480 +0100
+++ /var/tmp/diff_new_pack.plodVL/_new 2023-12-14 22:03:43.537333480 +0100
@@ -16,7 +16,7 @@
#
-%define real_version 12.0.0
+%define real_version 12.0.1
%define short_version 12.0
%define tar_name qt-creator-opensource-src
%define tar_suffix %{nil}
@@ -50,7 +50,7 @@
%endif
Name: %{pkgname_prefix}-creator
-Version: 12.0.0
+Version: 12.0.1
Release: 0
Summary: Integrated Development Environment targeting Qt apps
# src/plugins/cmakeprojectmanager/configmodelitemdelegate.* -> LGPL-2.1-only OR LGPL-3.0-only
++++++ qt-creator-opensource-src-12.0.0.tar.xz -> qt-creator-opensource-src-12.0.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/qt-creator/qt-creator-opensource-src-12.0.0.tar.xz /work/SRC/openSUSE:Factory/.qt-creator.new.25432/qt-creator-opensource-src-12.0.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 gh for openSUSE:Factory checked in at 2023-12-14 22:03:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gh (Old)
and /work/SRC/openSUSE:Factory/.gh.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gh"
Thu Dec 14 22:03:33 2023 rev:41 rq:1132985 version:2.40.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/gh/gh.changes 2023-11-10 12:37:33.753903018 +0100
+++ /work/SRC/openSUSE:Factory/.gh.new.25432/gh.changes 2023-12-14 22:03:39.513188335 +0100
@@ -1,0 +2,8 @@
+Thu Dec 14 07:41:39 UTC 2023 - Bernhard Wiedemann <bwiedemann(a)suse.com>
+
+- update to 2.40.1:
+ * add Multiple Account Support
+ * fix build after 2024-01-06
+ * Full changelog https://github.com/cli/cli/compare/v2.38.0...v2.40.1
+
+-------------------------------------------------------------------
Old:
----
cli-2.38.0.tar.gz
New:
----
cli-2.40.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gh.spec ++++++
--- /var/tmp/diff_new_pack.WdocrA/_old 2023-12-14 22:03:40.345218346 +0100
+++ /var/tmp/diff_new_pack.WdocrA/_new 2023-12-14 22:03:40.345218346 +0100
@@ -19,7 +19,7 @@
%define goflags "-buildmode=pie -trimpath -mod=vendor -modcacherw"
%define sname cli
Name: gh
-Version: 2.38.0
+Version: 2.40.1
Release: 0
Summary: The official CLI for GitHub
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.WdocrA/_old 2023-12-14 22:03:40.373219356 +0100
+++ /var/tmp/diff_new_pack.WdocrA/_new 2023-12-14 22:03:40.377219500 +0100
@@ -1,7 +1,7 @@
<services>
<service name="download_files" mode="manual"/>
<service name="go_modules" mode="manual">
- <param name="archive">cli-2.38.0.tar.gz</param>
+ <param name="archive">cli-2.40.1.tar.gz</param>
<param name="compression">zst</param>
</service>
</services>
++++++ cli-2.38.0.tar.gz -> cli-2.40.1.tar.gz ++++++
++++ 11426 lines of diff (skipped)
++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.WdocrA/_old and /var/tmp/diff_new_pack.WdocrA/_new differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package buildah for openSUSE:Factory checked in at 2023-12-14 22:03:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/buildah (Old)
and /work/SRC/openSUSE:Factory/.buildah.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "buildah"
Thu Dec 14 22:03:32 2023 rev:78 rq:1132992 version:1.34.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/buildah/buildah.changes 2023-12-07 19:12:43.832405240 +0100
+++ /work/SRC/openSUSE:Factory/.buildah.new.25432/buildah.changes 2023-12-14 22:03:38.345146206 +0100
@@ -1,0 +2,27 @@
+Thu Dec 14 07:42:07 UTC 2023 - danish.prakash(a)suse.com
+
+- Drop 0001-set-makefile-target-entrypoint.gz-as-.PHONY-on-non-x.patch
+ (merged upstream; https://github.com/containers/buildah/pull/5183)
+- Update to version 1.34.0:
+ * Bump to v1.34.0
+ * fix(deps): update module github.com/containerd/containerd to v1.7.11
+ * fix(deps): update github.com/containers/storage digest to 15c3cb7
+ * fix(deps): update module github.com/onsi/ginkgo/v2 to v2.13.2
+ * fix(deps): update github.com/containers/common digest to 630c929
+ * fix(deps): update module github.com/moby/buildkit to v0.12.4
+ * fix(deps): update github.com/openshift/imagebuilder digest to ef2a5fe
+ * [CI:DOCS] man pages: underscores, too-wide lines
+ * fix(deps): update module github.com/containerd/containerd to v1.7.10
+ * run.bats: use --quiet --pull=false when using a prefetched image
+ * internal/mkcw/embed/entrypoint.gz: rename to include the arch
+ * internal/mkcw/embed/entrypoint.gz: compress with -n9
+ * fix(deps): update module golang.org/x/crypto to v0.16.0
+ * Integration tests: make skip_if_no_unshare check --map-users
+ * fix(deps): update module golang.org/x/term to v0.15.0
+ * fix(deps): update module golang.org/x/sys to v0.15.0
+ * fix(deps): update module github.com/onsi/ginkgo to v2
+ * vendor: update c/{common,image,storage}
+ * run: Allow using just one jail per container on FreeBSD
+ * Remove makefile targets entrypoint{,.gz} for non x86_64
+
+-------------------------------------------------------------------
Old:
----
0001-set-makefile-target-entrypoint.gz-as-.PHONY-on-non-x.patch
buildah-1.33.2.tar.xz
New:
----
buildah-1.34.0.tar.xz
BETA DEBUG BEGIN:
Old:
- Drop 0001-set-makefile-target-entrypoint.gz-as-.PHONY-on-non-x.patch
(merged upstream; https://github.com/containers/buildah/pull/5183)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ buildah.spec ++++++
--- /var/tmp/diff_new_pack.7g6zwX/_old 2023-12-14 22:03:39.213177514 +0100
+++ /var/tmp/diff_new_pack.7g6zwX/_new 2023-12-14 22:03:39.213177514 +0100
@@ -18,7 +18,7 @@
%define project github.com/containers/buildah
Name: buildah
-Version: 1.33.2
+Version: 1.34.0
Release: 0
Summary: Tool for building OCI containers
License: Apache-2.0
@@ -26,8 +26,6 @@
URL: https://%{project}
Source0: %{name}-%{version}.tar.xz
Source1: %{name}-rpmlintrc
-# https://github.com/containers/buildah/pull/5183
-Patch0: 0001-set-makefile-target-entrypoint.gz-as-.PHONY-on-non-x.patch
BuildRequires: bash-completion
BuildRequires: device-mapper-devel
BuildRequires: fdupes
++++++ _service ++++++
--- /var/tmp/diff_new_pack.7g6zwX/_old 2023-12-14 22:03:39.241178524 +0100
+++ /var/tmp/diff_new_pack.7g6zwX/_new 2023-12-14 22:03:39.241178524 +0100
@@ -5,7 +5,7 @@
<param name="filename">buildah</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
- <param name="revision">v1.33.2</param>
+ <param name="revision">v1.34.0</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.7g6zwX/_old 2023-12-14 22:03:39.261179246 +0100
+++ /var/tmp/diff_new_pack.7g6zwX/_new 2023-12-14 22:03:39.265179390 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/containers/buildah.git</param>
- <param name="changesrevision">7fffb33667f502737b66c1c1034744ed2dcc3b69</param></service></servicedata>
+ <param name="changesrevision">21ec7aceb20e475c00bb4d65ae3d5764c59ec997</param></service></servicedata>
(No newline at EOF)
++++++ buildah-1.33.2.tar.xz -> buildah-1.34.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/buildah/buildah-1.33.2.tar.xz /work/SRC/openSUSE:Factory/.buildah.new.25432/buildah-1.34.0.tar.xz differ: char 13, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pikepdf for openSUSE:Factory checked in at 2023-12-14 22:03:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pikepdf (Old)
and /work/SRC/openSUSE:Factory/.python-pikepdf.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pikepdf"
Thu Dec 14 22:03:29 2023 rev:20 rq:1133036 version:8.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pikepdf/python-pikepdf.changes 2023-10-24 20:09:19.622640135 +0200
+++ /work/SRC/openSUSE:Factory/.python-pikepdf.new.25432/python-pikepdf.changes 2023-12-14 22:03:30.796873948 +0100
@@ -1,0 +2,44 @@
+Wed Dec 13 14:43:49 UTC 2023 - ecsos <ecsos(a)opensuse.org>
+
+- Update to 8.9.0
+ - Overhauled documentation. Previously the documentation could only
+ be generated in an environment where pikepdf was compiled and installed,
+ since generating the final result depended on executing pikepdf.
+ Now, these dynamic features are removed and the documentation is static.
+ All documentation that was defined in C++ has been pulled out and defined
+ in Python stub files instead, which means compiled binaries are no longer
+ needed to access documentation. This change simplifies the generation of
+ documentation and makes it easier for IDEs to look up function signatures.
+ - Similarly, typing is now defined only in Python stub files.
+- Update to 8.8.0
+ - Added new pikepdf.canvas module with rudimentary content stream creation functions.
+- Update to 8.7.1
+ - Fixed pikepdf.Matrix.rotated() so it now rotates in the advertised direction.
+- Update to 8.7.0
+ - pikepdf.PdfMatrix is now deprecated, in favor of pikepdf.Matrix.
+ The former, unfortunately, implemented some operations backwards
+ compared to the PDF reference manual. The new class fixes these issues,
+ and adds more functionality, promoting transformation matrix to first class objects.
+ PdfMatrix is now deprecated and will be removed in the next major release.
+ - Improve behavior around truthiness of pikepdf.Name.
+- Update to 8.6.0
+ - Implemented Page.artbox and Page.bleedbox to access these page dimension boxes.
+- Update to 8.5.3
+ - Fixed exception on certain PdfImage.__repr__ when the image's mode was invalid.
+ - Fixed some minor issues that caused code coverage to miss some covered lines.
+ - Removed some unused code.
+
+-------------------------------------------------------------------
+Mon Dec 11 17:29:49 UTC 2023 - Jonathan Papineau <jonathan(a)jontech.app>
+
+- update to 8.9.0
+ * Overhauled documentation
+ * Added new pikepdf.canvas module with rudimentary content stream creation functions
+ * Fixed pikepdf.Matrix.rotated() so it now rotates in the advertised direction
+ * pikepdf.PdfMatrix is now deprecated, in favor of pikepdf.Matrix
+ * Improve behavior around truthiness of pikepdf.Name
+ * Implemented Page.artbox and Page.bleedbox to access these page dimension boxes
+ * Fixed exception on certain PdfImage.__repr__ when the image’s mode was invalid
+ * Fixed some minor issues that caused code coverage to miss some covered lines
+
+-------------------------------------------------------------------
Old:
----
pikepdf-8.5.2.tar.gz
New:
----
pikepdf-8.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pikepdf.spec ++++++
--- /var/tmp/diff_new_pack.RNSThN/_old 2023-12-14 22:03:32.408932094 +0100
+++ /var/tmp/diff_new_pack.RNSThN/_new 2023-12-14 22:03:32.424932671 +0100
@@ -19,7 +19,7 @@
%{?sle15_python_module_pythons}
Name: python-pikepdf
-Version: 8.5.2
+Version: 8.9.0
Release: 0
Summary: Read and write PDFs with Python, powered by qpdf
License: MPL-2.0
@@ -27,12 +27,14 @@
URL: https://github.com/pikepdf/pikepdf
Source: https://files.pythonhosted.org/packages/source/p/pikepdf/pikepdf-%{version}…
## SECTION test requirements
-BuildRequires: %{python_module Pillow >= 9.0.0}
+BuildRequires: %{python_module Deprecated}
+BuildRequires: %{python_module Pillow >= 10.0.1}
BuildRequires: %{python_module attrs >= 20.2.0}
+BuildRequires: %{python_module deprecated}
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module hypothesis >= 6.36}
BuildRequires: %{python_module ipython}
-BuildRequires: %{python_module lxml >= 4.0}
+BuildRequires: %{python_module lxml >= 4.8}
BuildRequires: %{python_module packaging}
BuildRequires: %{python_module psutil >= 5.9}
BuildRequires: %{python_module pybind11 >= 2.10.1}
@@ -56,8 +58,9 @@
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: pkgconfig(libqpdf) >= 11.5.0
-Requires: python-Pillow >= 9.0.0
-Requires: python-lxml >= 4.0
+Requires: python-Deprecated
+Requires: python-Pillow >= 10.0.1
+Requires: python-lxml >= 4.8
Requires: python-packaging
%python_subpackages
++++++ pikepdf-8.5.2.tar.gz -> pikepdf-8.9.0.tar.gz ++++++
++++ 21861 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-ansi2html for openSUSE:Factory checked in at 2023-12-14 22:03:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ansi2html (Old)
and /work/SRC/openSUSE:Factory/.python-ansi2html.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ansi2html"
Thu Dec 14 22:03:28 2023 rev:7 rq:1132991 version:1.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ansi2html/python-ansi2html.changes 2023-05-10 16:18:40.783029801 +0200
+++ /work/SRC/openSUSE:Factory/.python-ansi2html.new.25432/python-ansi2html.changes 2023-12-14 22:03:29.084812197 +0100
@@ -1,0 +2,16 @@
+Wed Dec 13 08:54:07 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- update to 1.9.1 (skipping non-existent release 1.9.0):
+ * Bugfixes
+ - Enable testing with py312 (#230) @ssbarnea
+ - Fix project description (#229) @ssbarnea
+ - Fix RTD builds (#228) @ssbarnea
+ - tests/test_ansi2html.py: use sys.executable instead of
+ hardcoded python3 (#214) @johanneskastl
+ - Replace optparse with argparse (#205) @ssbarnea
+ - Replace sphinx with mkdocs (#204) @ssbarnea
+- remove patch
+ 0001-tests-test_ansi2html.py-use-sys.executable-instead-o.patch
+- change upstream to pycontribs/ansi2html
+
+-------------------------------------------------------------------
Old:
----
0001-tests-test_ansi2html.py-use-sys.executable-instead-o.patch
1.8.0.tar.gz
New:
----
v1.9.1.tar.gz
BETA DEBUG BEGIN:
Old:- remove patch
0001-tests-test_ansi2html.py-use-sys.executable-instead-o.patch
- change upstream to pycontribs/ansi2html
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ansi2html.spec ++++++
--- /var/tmp/diff_new_pack.Hki2O9/_old 2023-12-14 22:03:30.228853461 +0100
+++ /var/tmp/diff_new_pack.Hki2O9/_new 2023-12-14 22:03:30.232853605 +0100
@@ -18,35 +18,33 @@
%{?sle15_python_module_pythons}
Name: python-ansi2html
-Version: 1.8.0
+Version: 1.9.1
Release: 0
Summary: Python module to convert text with ANSI color codes to HTML or LaTeX
License: LGPL-3.0-or-later
Group: Development/Languages/Python
-URL: https://github.com/ralphbean/ansi2html/
-Source: https://github.com/ralphbean/ansi2html/archive/%{version}.tar.gz
-# PATCH-FIX-UPSTREAM
-# 0001-tests-test_ansi2html.py-use-sys.executable-instead-o.patch
-# gh#pycontribs/ansi2html#210 kastl(a)b1-systems.de
-Patch0: 0001-tests-test_ansi2html.py-use-sys.executable-instead-o.patch
+URL: https://github.com/pycontribs/ansi2html/
+Source: https://github.com/pycontribs/ansi2html/archive/v%{version}.tar.gz
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-six
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
%python_subpackages
%description
-A module to convert text with ANSI color codes to HTML or to LaTeX.
+Convert text with ANSI color codes to HTML or to LaTeX.
+
+Inspired by and developed off of the work of pixelbeat and blackjack.
+
+Read the [docs](https://ansi2html.readthedocs.io/) for more informations.
%prep
%setup -q -n ansi2html-%{version}
-%patch0 -p1
%build
%pyproject_wheel
@@ -71,7 +69,8 @@
%files %{python_files}
%license LICENSE
-%doc README.rst CHANGELOG.rst
+%doc README.md
%python_alternative %{_bindir}/ansi2html
-%{python_sitelib}/*
+%{python_sitelib}/ansi2html/
+%{python_sitelib}/ansi2html-*.dist-info/
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-PyMuPDF for openSUSE:Factory checked in at 2023-12-14 22:03:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-PyMuPDF (Old)
and /work/SRC/openSUSE:Factory/.python-PyMuPDF.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-PyMuPDF"
Thu Dec 14 22:03:26 2023 rev:26 rq:1132989 version:1.21.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-PyMuPDF/python-PyMuPDF.changes 2023-03-08 14:52:40.422709083 +0100
+++ /work/SRC/openSUSE:Factory/.python-PyMuPDF.new.25432/python-PyMuPDF.changes 2023-12-14 22:03:27.916770067 +0100
@@ -1,0 +2,5 @@
+Wed Dec 13 14:54:54 UTC 2023 - ecsos <ecsos(a)opensuse.org>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-PyMuPDF.spec ++++++
--- /var/tmp/diff_new_pack.34aXcN/_old 2023-12-14 22:03:28.736799644 +0100
+++ /var/tmp/diff_new_pack.34aXcN/_new 2023-12-14 22:03:28.736799644 +0100
@@ -16,10 +16,10 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
# Python 2 build fails always
%define skip_python2 1
%define pypi_name PyMuPDF
+%{?sle15_python_module_pythons}
Name: python-%{pypi_name}
Version: 1.21.1
Release: 0
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-14 22:03:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netdata (Old)
and /work/SRC/openSUSE:Factory/.netdata.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netdata"
Thu Dec 14 22:03:23 2023 rev:46 rq:1132981 version:1.44.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/netdata/netdata.changes 2023-12-11 21:51:57.322651638 +0100
+++ /work/SRC/openSUSE:Factory/.netdata.new.25432/netdata.changes 2023-12-14 22:03:26.272710768 +0100
@@ -1,0 +2,6 @@
+Thu Dec 14 07:00:36 UTC 2023 - Mia Herkt <mia(a)0x0.st>
+
+- Update to 1.44.1
+ See https://github.com/netdata/netdata/tree/v1.44.1
+
+-------------------------------------------------------------------
Old:
----
netdata-v1.44.0.tar.gz
New:
----
netdata-v1.44.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ netdata.spec ++++++
--- /var/tmp/diff_new_pack.BcvsYb/_old 2023-12-14 22:03:27.364750156 +0100
+++ /var/tmp/diff_new_pack.BcvsYb/_new 2023-12-14 22:03:27.364750156 +0100
@@ -20,7 +20,7 @@
%define netdata_group netdata
%define godplugin_version 0.57.2
Name: netdata
-Version: 1.44.0
+Version: 1.44.1
Release: 0
Summary: A system for distributed real-time performance and health monitoring
# netdata is GPL-3.0+, other licenses refer to included third-party software (see REDISTRIBUTED.md)
++++++ netdata-v1.44.0.tar.gz -> netdata-v1.44.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/netdata/netdata-v1.44.0.tar.gz /work/SRC/openSUSE:Factory/.netdata.new.25432/netdata-v1.44.1.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 rubygem-rubocop for openSUSE:Factory checked in at 2023-12-14 22:03:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-rubocop (Old)
and /work/SRC/openSUSE:Factory/.rubygem-rubocop.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-rubocop"
Thu Dec 14 22:03:21 2023 rev:51 rq:1132980 version:1.59.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-rubocop/rubygem-rubocop.changes 2023-12-06 23:49:16.065534158 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-rubocop.new.25432/rubygem-rubocop.changes 2023-12-14 22:03:23.504610926 +0100
@@ -1,0 +2,55 @@
+Tue Dec 12 16:48:05 UTC 2023 - Mykola Krachkovsky <w01dnick(a)gmail.com>
+
+- updated to version 1.59.0
+
+ ## 1.59.0 (2023-12-11)
+
+ ### New features
+
+ * [#12518](https://github.com/rubocop/rubocop/pull/12518): Add new `Lint/ItWithoutArgumentsInBlock` cop. ([@koic][])
+
+ ### Bug fixes
+
+ * [#12434](https://github.com/rubocop/rubocop/issues/12434): Fix a false positive for `Lint/LiteralAssignmentInCondition` when using interpolated string or xstring literals. ([@koic][])
+ * [#12435](https://github.com/rubocop/rubocop/issues/12435): Fix a false positive for `Lint/SelfAssignment` when using attribute assignment with method call with arguments. ([@koic][])
+ * [#12444](https://github.com/rubocop/rubocop/issues/12444): Fix false positive for `Style/HashEachMethods` when receiver literal is not a hash literal. ([@koic][])
+ * [#12524](https://github.com/rubocop/rubocop/issues/12524): Fix a false positive for `Style/MethodCallWithArgsParentheses` when `EnforcedStyle: omit_parentheses` and parens in `when` clause is used to pass an argument. ([@koic][])
+ * [#12505](https://github.com/rubocop/rubocop/pull/12505): Fix a false positive for `Style/RedundantParentheses` when using parenthesized `lambda` or `proc` with `do`...`end` block. ([@koic][])
+ * [#12442](https://github.com/rubocop/rubocop/issues/12442): Fix an incorrect autocorrect for `Style/CombinableLoops` when looping over the same data as previous loop in `do`...`end` and `{`...`}` blocks. ([@koic][])
+ * [#12432](https://github.com/rubocop/rubocop/pull/12432): Fix a false positive for `Lint/LiteralAssignmentInCondition` when using parallel assignment with splat operator in block of guard condition. ([@koic][])
+ * [#12441](https://github.com/rubocop/rubocop/issues/12441): Fix false positives for `Style/HashEachMethods` when using destructed block arguments. ([@koic][])
+ * [#12436](https://github.com/rubocop/rubocop/issues/12436): Fix false positives for `Style/RedundantParentheses` when a part of range is a parenthesized condition. ([@koic][])
+ * [#12429](https://github.com/rubocop/rubocop/issues/12429): Fix incorrect autocorrect for `Style/MapToHash` when using dot method calls for `to_h`. ([@koic][])
+ * [#12488](https://github.com/rubocop/rubocop/issues/12488): Make `Lint/HashCompareByIdentity` aware of safe navigation operator. ([@koic][])
+ * [#12489](https://github.com/rubocop/rubocop/issues/12489): Make `Lint/NextWithoutAccumulator` aware of safe navigation operator. ([@koic][])
+ * [#12490](https://github.com/rubocop/rubocop/issues/12490): Make `Lint/NumberConversion` aware of safe navigation operator. ([@koic][])
+ * [#12491](https://github.com/rubocop/rubocop/issues/12491): Make `Lint/RedundantWithIndex` aware of safe navigation operator. ([@koic][])
+ * [#12492](https://github.com/rubocop/rubocop/issues/12492): Make `Lint/RedundantWithObject` aware of safe navigation operator. ([@koic][])
+ * [#12493](https://github.com/rubocop/rubocop/issues/12493): Make `Lint/UnmodifiedReduceAccumulator` aware of safe navigation operator. ([@koic][])
+ * [#12473](https://github.com/rubocop/rubocop/issues/12473): Make `Style/ClassCheck` aware of safe navigation operator. ([@koic][])
+ * [#12445](https://github.com/rubocop/rubocop/issues/12445): Make `Style/CollectionCompact` aware of safe navigation operator. ([@koic][])
+ * [#12474](https://github.com/rubocop/rubocop/issues/12474): Make `Style/ConcatArrayLiterals` aware of safe navigation operator. ([@koic][])
+ * [#12476](https://github.com/rubocop/rubocop/issues/12476): Make `Style/DateTime` aware of safe navigation operator. ([@koic][])
+ * [#12479](https://github.com/rubocop/rubocop/issues/12479): Make `Style/EachWithObject` aware of safe navigation operator. ([@koic][])
+ * [#12446](https://github.com/rubocop/rubocop/issues/12446): Make `Style/HashExcept` aware of safe navigation operator. ([@koic][])
+ * [#12447](https://github.com/rubocop/rubocop/issues/12447): Make `Style/MapCompactWithConditionalBlock` aware of safe navigation operator. ([@koic][])
+ * [#12484](https://github.com/rubocop/rubocop/issues/12484): Make `Style/Next` aware of safe navigation operator. ([@koic][])
+ * [#12486](https://github.com/rubocop/rubocop/issues/12486): Make `Style/RedundantArgument` aware of safe navigation operator. ([@koic][])
+ * [#12454](https://github.com/rubocop/rubocop/issues/12454): Make `Style/RedundantFetchBlock` aware of safe navigation operator. ([@koic][])
+ * [#12495](https://github.com/rubocop/rubocop/issues/12495): Make `Layout/RedundantLineBreak` aware of safe navigation operator. ([@koic][])
+ * [#12455](https://github.com/rubocop/rubocop/issues/12455): Make `Style/RedundantSortBy` aware of safe navigation operator. ([@koic][])
+ * [#12456](https://github.com/rubocop/rubocop/issues/12456): Make `Style/RedundantSortBy` aware of safe navigation operator. ([@koic][])
+ * [#12480](https://github.com/rubocop/rubocop/issues/12480): Make `Style/ExactRegexpMatch` aware of safe navigation operator. ([@koic][])
+ * [#12457](https://github.com/rubocop/rubocop/issues/12457): Make `Style/Sample` aware of safe navigation operator. ([@koic][])
+ * [#12458](https://github.com/rubocop/rubocop/issues/12458): Make `Style/SelectByRegexp` cops aware of safe navigation operator. ([@koic][])
+ * [#12494](https://github.com/rubocop/rubocop/issues/12494): Make `Layout/SingleLineBlockChain` aware of safe navigation operator. ([@koic][])
+ * [#12461](https://github.com/rubocop/rubocop/issues/12461): Make `Style/StringChars` aware of safe navigation operator. ([@koic][])
+ * [#12468](https://github.com/rubocop/rubocop/issues/12468): Make `Style/Strip` aware of safe navigation operator. ([@koic][])
+ * [#12469](https://github.com/rubocop/rubocop/issues/12469): Make `Style/UnpackFirst` aware of safe navigation operator. ([@koic][])
+
+ ### Changes
+
+ * [#12522](https://github.com/rubocop/rubocop/pull/12522): Make `Style/MethodCallWithoutArgsParentheses` allow the parenthesized `it` method in a block. ([@koic][])
+ * [#12523](https://github.com/rubocop/rubocop/pull/12523): Make `Style/RedundantSelf` allow the `self.it` method in a block. ([@koic][])
+
+-------------------------------------------------------------------
Old:
----
rubocop-1.58.0.gem
New:
----
rubocop-1.59.0.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-rubocop.spec ++++++
--- /var/tmp/diff_new_pack.AfY1sb/_old 2023-12-14 22:03:24.140633866 +0100
+++ /var/tmp/diff_new_pack.AfY1sb/_new 2023-12-14 22:03:24.140633866 +0100
@@ -24,7 +24,7 @@
#
Name: rubygem-rubocop
-Version: 1.58.0
+Version: 1.59.0
Release: 0
%define mod_name rubocop
%define mod_full_name %{mod_name}-%{version}
++++++ rubocop-1.58.0.gem -> rubocop-1.59.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2023-12-01 13:49:31.000000000 +0100
+++ new/README.md 2023-12-11 11:24:09.000000000 +0100
@@ -53,7 +53,7 @@
in your `Gemfile`:
```rb
-gem 'rubocop', '~> 1.58', require: false
+gem 'rubocop', '~> 1.59', require: false
```
See [our versioning policy](https://docs.rubocop.org/rubocop/versioning.html) for further details.
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/default.yml new/config/default.yml
--- old/config/default.yml 2023-12-01 13:49:31.000000000 +0100
+++ new/config/default.yml 2023-12-11 11:24:09.000000000 +0100
@@ -1963,6 +1963,12 @@
VersionAdded: '0.50'
VersionChanged: '1.40'
+Lint/ItWithoutArgumentsInBlock:
+ Description: 'Checks uses of `it` calls without arguments in block.'
+ Reference: 'https://bugs.ruby-lang.org/issues/18980'
+ Enabled: pending
+ VersionAdded: '1.59'
+
Lint/LambdaWithoutLiteralBlock:
Description: 'Checks uses of lambda without a literal block.'
Enabled: pending
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/layout/heredoc_indentation.rb new/lib/rubocop/cop/layout/heredoc_indentation.rb
--- old/lib/rubocop/cop/layout/heredoc_indentation.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/layout/heredoc_indentation.rb 2023-12-11 11:24:09.000000000 +0100
@@ -8,7 +8,7 @@
#
# Note: When ``Layout/LineLength``'s `AllowHeredoc` is false (not default),
# this cop does not add any offenses for long here documents to
- # avoid `Layout/LineLength`'s offenses.
+ # avoid ``Layout/LineLength``'s offenses.
#
# @example
# # bad
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/layout/redundant_line_break.rb new/lib/rubocop/cop/layout/redundant_line_break.rb
--- old/lib/rubocop/cop/layout/redundant_line_break.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/layout/redundant_line_break.rb 2023-12-11 11:24:09.000000000 +0100
@@ -62,6 +62,7 @@
register_offense(node)
end
+ alias on_csend on_send
private
@@ -135,7 +136,7 @@
.gsub(/" *\\\n\s*'/, %q(" + ')) # Double quote, backslash, and then single quote
.gsub(/' *\\\n\s*"/, %q(' + ")) # Single quote, backslash, and then double quote
.gsub(/(["']) *\\\n\s*\1/, '') # Double or single quote, backslash, then same quote
- .gsub(/\n\s*(?=\.\w)/, '') # Extra space within method chaining
+ .gsub(/\n\s*(?=(&)?\.\w)/, '') # Extra space within method chaining which includes `&.`
.gsub(/\s*\\?\n\s*/, ' ') # Any other line break, with or without backslash
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/layout/single_line_block_chain.rb new/lib/rubocop/cop/layout/single_line_block_chain.rb
--- old/lib/rubocop/cop/layout/single_line_block_chain.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/layout/single_line_block_chain.rb 2023-12-11 11:24:09.000000000 +0100
@@ -33,6 +33,7 @@
range = offending_range(node)
add_offense(range) { |corrector| corrector.insert_before(range, "\n") } if range
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb new/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb
--- old/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb 2023-12-11 11:24:09.000000000 +0100
@@ -6,10 +6,10 @@
# Checks for places where binary operator has identical operands.
#
# It covers arithmetic operators: `-`, `/`, `%`;
- # comparison operators: `==`, `===`, `=~`, `>`, `>=`, `<`, `<=`;
+ # comparison operators: `==`, `===`, `=~`, `>`, `>=`, `<`, ``<=``;
# bitwise operators: `|`, `^`, `&`;
# boolean operators: `&&`, `||`
- # and "spaceship" operator - `<=>`.
+ # and "spaceship" operator - ``<=>``.
#
# Simple arithmetic operations are allowed by this cop: `+`, `*`, `**`, `<<` and `>>`.
# Although these can be rewritten in a different way, it should not be necessary to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb new/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb
--- old/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb 2023-12-11 11:24:09.000000000 +0100
@@ -3,7 +3,7 @@
module RuboCop
module Cop
module Lint
- # Checks for overwriting an exception with an exception result by use `rescue =>`.
+ # Checks for overwriting an exception with an exception result by use ``rescue =>``.
#
# You intended to write as `rescue StandardError`.
# However, you have written `rescue => StandardError`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/hash_compare_by_identity.rb new/lib/rubocop/cop/lint/hash_compare_by_identity.rb
--- old/lib/rubocop/cop/lint/hash_compare_by_identity.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/hash_compare_by_identity.rb 2023-12-11 11:24:09.000000000 +0100
@@ -35,12 +35,13 @@
# @!method id_as_hash_key?(node)
def_node_matcher :id_as_hash_key?, <<~PATTERN
- (send _ {:key? :has_key? :fetch :[] :[]=} (send _ :object_id) ...)
+ (call _ {:key? :has_key? :fetch :[] :[]=} (send _ :object_id) ...)
PATTERN
def on_send(node)
add_offense(node) if id_as_hash_key?(node)
end
+ alias on_csend on_send
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/it_without_arguments_in_block.rb new/lib/rubocop/cop/lint/it_without_arguments_in_block.rb
--- old/lib/rubocop/cop/lint/it_without_arguments_in_block.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/rubocop/cop/lint/it_without_arguments_in_block.rb 2023-12-11 11:24:09.000000000 +0100
@@ -0,0 +1,56 @@
+# frozen_string_literal: true
+
+module RuboCop
+ module Cop
+ module Lint
+ # Emulates the following Ruby warning in Ruby 3.3.
+ #
+ # [source,ruby]
+ # ----
+ # $ ruby -e '0.times { it }'
+ # -e:1: warning: `it` calls without arguments will refer to the first block param in Ruby 3.4;
+ # use it() or self.it
+ # ----
+ #
+ # `it` calls without arguments will refer to the first block param in Ruby 3.4.
+ # So use `it()` or `self.it` to ensure compatibility.
+ #
+ # @example
+ #
+ # # bad
+ # do_something { it }
+ #
+ # # good
+ # do_something { it() }
+ # do_something { self.it }
+ #
+ class ItWithoutArgumentsInBlock < Base
+ include NodePattern::Macros
+
+ MSG = '`it` calls without arguments will refer to the first block param in Ruby 3.4; ' \
+ 'use `it()` or `self.it`.'
+
+ def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler
+ return unless (body = node.body)
+ return unless node.arguments.empty_and_without_delimiters?
+
+ if body.send_type? && deprecated_it_method?(body)
+ add_offense(body)
+ else
+ body.each_descendant(:send).each do |send_node|
+ next unless deprecated_it_method?(send_node)
+
+ add_offense(send_node)
+ end
+ end
+ end
+
+ def deprecated_it_method?(node)
+ return false unless node.method?(:it)
+
+ !node.receiver && node.arguments.empty? && !node.parenthesized? && !node.block_literal?
+ end
+ end
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/literal_assignment_in_condition.rb new/lib/rubocop/cop/lint/literal_assignment_in_condition.rb
--- old/lib/rubocop/cop/lint/literal_assignment_in_condition.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/literal_assignment_in_condition.rb 2023-12-11 11:24:09.000000000 +0100
@@ -41,9 +41,9 @@
next unless asgn_node.loc.operator
rhs = asgn_node.to_a.last
- next unless rhs.respond_to?(:literal?) && rhs.literal?
+ next if !forbidden_literal?(rhs) || parallel_assignment_with_splat_operator?(rhs)
- range = asgn_node.loc.operator.join(rhs.source_range.end)
+ range = offense_range(asgn_node, rhs)
add_offense(range, message: format(MSG, literal: rhs.source))
end
@@ -58,6 +58,20 @@
node.each_child_node { |child| traverse_node(child, &block) }
end
+
+ def forbidden_literal?(node)
+ return false if node.dstr_type? || node.xstr_type?
+
+ node.respond_to?(:literal?) && node.literal?
+ end
+
+ def parallel_assignment_with_splat_operator?(node)
+ node.array_type? && node.values.first&.splat_type?
+ end
+
+ def offense_range(asgn_node, rhs)
+ asgn_node.loc.operator.join(rhs.source_range.end)
+ end
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/next_without_accumulator.rb new/lib/rubocop/cop/lint/next_without_accumulator.rb
--- old/lib/rubocop/cop/lint/next_without_accumulator.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/next_without_accumulator.rb 2023-12-11 11:24:09.000000000 +0100
@@ -34,35 +34,20 @@
add_offense(void_next) if void_next
end
end
-
- def on_numblock(node)
- on_numblock_body_of_reduce(node) do |body|
- void_next = body.each_node(:next).find do |n|
- n.children.empty? && parent_numblock_node(n) == node
- end
-
- add_offense(void_next) if void_next
- end
- end
+ alias on_numblock on_block
private
# @!method on_block_body_of_reduce(node)
def_node_matcher :on_block_body_of_reduce, <<~PATTERN
- (block (send _recv {:reduce :inject} !sym) _blockargs $(begin ...))
- PATTERN
-
- # @!method on_numblock_body_of_reduce(node)
- def_node_matcher :on_numblock_body_of_reduce, <<~PATTERN
- (numblock (send _recv {:reduce :inject} !sym) _argscount $(begin ...))
+ {
+ (block (call _recv {:reduce :inject} !sym) _blockargs $(begin ...))
+ (numblock (call _recv {:reduce :inject} !sym) _argscount $(begin ...))
+ }
PATTERN
def parent_block_node(node)
- node.each_ancestor(:block).first
- end
-
- def parent_numblock_node(node)
- node.each_ancestor(:numblock).first
+ node.each_ancestor(:block, :numblock).first
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/number_conversion.rb new/lib/rubocop/cop/lint/number_conversion.rb
--- old/lib/rubocop/cop/lint/number_conversion.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/number_conversion.rb 2023-12-11 11:24:09.000000000 +0100
@@ -9,7 +9,7 @@
#
# Conversion with `Integer`, `Float`, etc. will raise an `ArgumentError`
# if given input that is not numeric (eg. an empty string), whereas
- # `to_i`, etc. will try to convert regardless of input (`''.to_i => 0`).
+ # `to_i`, etc. will try to convert regardless of input (``''.to_i => 0``).
# As such, this cop is disabled by default because it's not necessarily
# always correct to raise if a value is not numeric.
#
@@ -91,19 +91,24 @@
# @!method to_method(node)
def_node_matcher :to_method, <<~PATTERN
- (send $_ ${#{METHODS}})
+ (call $_ ${#{METHODS}})
PATTERN
# @!method to_method_symbol(node)
def_node_matcher :to_method_symbol, <<~PATTERN
- {(send _ $_ ${(sym ${#{METHODS}})} ...)
- (send _ $_ ${(block_pass (sym ${#{METHODS}}))} ...)}
+ (call _ $_ ${
+ {
+ (sym ${#{METHODS}})
+ (block_pass (sym ${#{METHODS}}))
+ }
+ } ...)
PATTERN
def on_send(node)
handle_conversion_method(node)
handle_as_symbol(node)
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/redundant_with_index.rb new/lib/rubocop/cop/lint/redundant_with_index.rb
--- old/lib/rubocop/cop/lint/redundant_with_index.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/redundant_with_index.rb 2023-12-11 11:24:09.000000000 +0100
@@ -56,10 +56,10 @@
def_node_matcher :redundant_with_index?, <<~PATTERN
{
(block
- $(send _ {:each_with_index :with_index} ...)
+ $(call _ {:each_with_index :with_index} ...)
(args (arg _)) ...)
(numblock
- $(send _ {:each_with_index :with_index} ...) 1 ...)
+ $(call _ {:each_with_index :with_index} ...) 1 ...)
}
PATTERN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/redundant_with_object.rb new/lib/rubocop/cop/lint/redundant_with_object.rb
--- old/lib/rubocop/cop/lint/redundant_with_object.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/redundant_with_object.rb 2023-12-11 11:24:09.000000000 +0100
@@ -56,9 +56,9 @@
def_node_matcher :redundant_with_object?, <<~PATTERN
{
(block
- $(send _ {:each_with_object :with_object} _) (args (arg _)) ...)
+ $(call _ {:each_with_object :with_object} _) (args (arg _)) ...)
(numblock
- $(send _ {:each_with_object :with_object} _) 1 ...)
+ $(call _ {:each_with_object :with_object} _) 1 ...)
}
PATTERN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/self_assignment.rb new/lib/rubocop/cop/lint/self_assignment.rb
--- old/lib/rubocop/cop/lint/self_assignment.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/self_assignment.rb 2023-12-11 11:24:09.000000000 +0100
@@ -102,6 +102,7 @@
def handle_attribute_assignment(node)
first_argument = node.first_argument
+ return unless first_argument.respond_to?(:arguments) && first_argument.arguments.empty?
if first_argument.call_type? &&
node.receiver == first_argument.receiver &&
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb new/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb
--- old/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb 2023-12-11 11:24:09.000000000 +0100
@@ -69,8 +69,8 @@
# @!method reduce_with_block?(node)
def_node_matcher :reduce_with_block?, <<~PATTERN
{
- (block (send _recv {:reduce :inject} ...) args ...)
- (numblock (send _recv {:reduce :inject} ...) ...)
+ (block (call _recv {:reduce :inject} ...) args ...)
+ (numblock (call _recv {:reduce :inject} ...) ...)
}
PATTERN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/lint/useless_times.rb new/lib/rubocop/cop/lint/useless_times.rb
--- old/lib/rubocop/cop/lint/useless_times.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/lint/useless_times.rb 2023-12-11 11:24:09.000000000 +0100
@@ -4,7 +4,7 @@
module Cop
module Lint
# Checks for uses of `Integer#times` that will never yield
- # (when the integer <= 0) or that will only ever yield once
+ # (when the integer ``<= 0``) or that will only ever yield once
# (`1.times`).
#
# @safety
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/metrics/abc_size.rb new/lib/rubocop/cop/metrics/abc_size.rb
--- old/lib/rubocop/cop/metrics/abc_size.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/metrics/abc_size.rb 2023-12-11 11:24:09.000000000 +0100
@@ -10,9 +10,9 @@
#
# Interpreting ABC size:
#
- # * <= 17 satisfactory
- # * 18..30 unsatisfactory
- # * > 30 dangerous
+ # * ``<= 17`` satisfactory
+ # * `18..30` unsatisfactory
+ # * `>` 30 dangerous
#
# You can have repeated "attributes" calls count as a single "branch".
# For this purpose, attributes are any method with no argument; no attempt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/naming/constant_name.rb new/lib/rubocop/cop/naming/constant_name.rb
--- old/lib/rubocop/cop/naming/constant_name.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/naming/constant_name.rb 2023-12-11 11:24:09.000000000 +0100
@@ -61,8 +61,7 @@
end
def allowed_method_call_on_rhs?(node)
- node&.send_type? &&
- (node.receiver.nil? || !literal_receiver?(node))
+ node&.send_type? && (node.receiver.nil? || !literal_receiver?(node))
end
# @!method literal_receiver?(node)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/array_first_last.rb new/lib/rubocop/cop/style/array_first_last.rb
--- old/lib/rubocop/cop/style/array_first_last.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/array_first_last.rb 2023-12-11 11:24:09.000000000 +0100
@@ -4,7 +4,7 @@
module Cop
module Style
# Identifies usages of `arr[0]` and `arr[-1]` and suggests to change
- # them to use `arr.first` and `arr.instead`.
+ # them to use `arr.first` and `arr.last` instead.
#
# The cop is disabled by default due to safety concerns.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/class_check.rb new/lib/rubocop/cop/style/class_check.rb
--- old/lib/rubocop/cop/style/class_check.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/class_check.rb 2023-12-11 11:24:09.000000000 +0100
@@ -40,6 +40,7 @@
corrector.replace(node.loc.selector, replacement)
end
end
+ alias on_csend on_send
def message(node)
if node.method?(:is_a?)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/collection_compact.rb new/lib/rubocop/cop/style/collection_compact.rb
--- old/lib/rubocop/cop/style/collection_compact.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/collection_compact.rb 2023-12-11 11:24:09.000000000 +0100
@@ -53,7 +53,7 @@
# @!method reject_method_with_block_pass?(node)
def_node_matcher :reject_method_with_block_pass?, <<~PATTERN
- (send !nil? {:reject :delete_if :reject!}
+ (call !nil? {:reject :delete_if :reject!}
(block_pass
(sym :nil?)))
PATTERN
@@ -61,21 +61,21 @@
# @!method reject_method?(node)
def_node_matcher :reject_method?, <<~PATTERN
(block
- (send
+ (call
!nil? {:reject :delete_if :reject!})
$(args ...)
- (send
+ (call
$(lvar _) :nil?))
PATTERN
# @!method select_method?(node)
def_node_matcher :select_method?, <<~PATTERN
(block
- (send
+ (call
!nil? {:select :select!})
$(args ...)
- (send
- (send
+ (call
+ (call
$(lvar _) :nil?) :!))
PATTERN
@@ -91,6 +91,7 @@
add_offense(range, message: message) { |corrector| corrector.replace(range, good) }
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/combinable_loops.rb new/lib/rubocop/cop/style/combinable_loops.rb
--- old/lib/rubocop/cop/style/combinable_loops.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/combinable_loops.rb 2023-12-11 11:24:09.000000000 +0100
@@ -105,6 +105,17 @@
def combine_with_left_sibling(corrector, node)
corrector.remove(node.left_sibling.body.source_range.end.join(node.left_sibling.loc.end))
corrector.remove(node.source_range.begin.join(node.body.source_range.begin))
+
+ correct_end_of_block(corrector, node)
+ end
+
+ def correct_end_of_block(corrector, node)
+ return unless node.left_sibling.respond_to?(:braces?)
+ return if node.right_sibling&.block_type? || node.right_sibling&.numblock_type?
+
+ end_of_block = node.left_sibling.braces? ? '}' : ' end'
+ corrector.remove(node.loc.end)
+ corrector.insert_before(node.source_range.end, end_of_block)
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/concat_array_literals.rb new/lib/rubocop/cop/style/concat_array_literals.rb
--- old/lib/rubocop/cop/style/concat_array_literals.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/concat_array_literals.rb 2023-12-11 11:24:09.000000000 +0100
@@ -63,6 +63,7 @@
end
end
# rubocop:enable Metrics
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/date_time.rb new/lib/rubocop/cop/style/date_time.rb
--- old/lib/rubocop/cop/style/date_time.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/date_time.rb 2023-12-11 11:24:09.000000000 +0100
@@ -49,12 +49,12 @@
class DateTime < Base
extend AutoCorrector
- CLASS_MSG = 'Prefer Time over DateTime.'
- COERCION_MSG = 'Do not use #to_datetime.'
+ CLASS_MSG = 'Prefer `Time` over `DateTime`.'
+ COERCION_MSG = 'Do not use `#to_datetime`.'
# @!method date_time?(node)
def_node_matcher :date_time?, <<~PATTERN
- (send (const {nil? (cbase)} :DateTime) ...)
+ (call (const {nil? (cbase)} :DateTime) ...)
PATTERN
# @!method historic_date?(node)
@@ -64,7 +64,7 @@
# @!method to_datetime?(node)
def_node_matcher :to_datetime?, <<~PATTERN
- (send _ :to_datetime)
+ (call _ :to_datetime)
PATTERN
def on_send(node)
@@ -75,6 +75,7 @@
add_offense(node, message: message) { |corrector| autocorrect(corrector, node) }
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/each_with_object.rb new/lib/rubocop/cop/style/each_with_object.rb
--- old/lib/rubocop/cop/style/each_with_object.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/each_with_object.rb 2023-12-11 11:24:09.000000000 +0100
@@ -58,12 +58,12 @@
# @!method each_with_object_block_candidate?(node)
def_node_matcher :each_with_object_block_candidate?, <<~PATTERN
- (block $(send _ {:inject :reduce} _) $_ $_)
+ (block $(call _ {:inject :reduce} _) $_ $_)
PATTERN
# @!method each_with_object_numblock_candidate?(node)
def_node_matcher :each_with_object_numblock_candidate?, <<~PATTERN
- (numblock $(send _ {:inject :reduce} _) 2 $_)
+ (numblock $(call _ {:inject :reduce} _) 2 $_)
PATTERN
def autocorrect_block(corrector, node, return_value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/exact_regexp_match.rb new/lib/rubocop/cop/style/exact_regexp_match.rb
--- old/lib/rubocop/cop/style/exact_regexp_match.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/exact_regexp_match.rb 2023-12-11 11:24:09.000000000 +0100
@@ -30,7 +30,7 @@
# @!method exact_regexp_match(node)
def_node_matcher :exact_regexp_match, <<~PATTERN
- (send
+ (call
_ {:=~ :=== :!~ :match :match?}
(regexp
(str $_)
@@ -49,6 +49,7 @@
corrector.replace(node, prefer)
end
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/hash_each_methods.rb new/lib/rubocop/cop/style/hash_each_methods.rb
--- old/lib/rubocop/cop/style/hash_each_methods.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/hash_each_methods.rb 2023-12-11 11:24:09.000000000 +0100
@@ -58,18 +58,20 @@
# rubocop:disable Metrics/AbcSize
def on_block(node)
+ return unless handleable?(node)
+
kv_each(node) do |target, method|
register_kv_offense(target, method) and return
end
return unless (key, value = each_arguments(node))
- if unused_block_arg_exist?(node, value.source)
+ if unused_block_arg_exist?(node, value)
message = message('each_key', node.method_name, value.source)
unused_range = key.source_range.end.join(value.source_range.end)
register_each_args_offense(node, message, 'each_key', unused_range)
- elsif unused_block_arg_exist?(node, key.source)
+ elsif unused_block_arg_exist?(node, key)
message = message('each_value', node.method_name, key.source)
unused_range = key.source_range.begin.join(value.source_range.begin)
@@ -88,6 +90,12 @@
private
+ def handleable?(node)
+ return false unless (root_receiver = root_receiver(node))
+
+ !root_receiver.literal? || root_receiver.hash_type?
+ end
+
def register_kv_offense(target, method)
return unless (parent_receiver = target.receiver.receiver)
return if allowed_receiver?(parent_receiver)
@@ -99,8 +107,16 @@
end
end
- def unused_block_arg_exist?(node, block_arg_source)
- node.body.each_descendant(:lvar).map(&:source).none?(block_arg_source)
+ def unused_block_arg_exist?(node, block_arg)
+ lvar_sources = node.body.each_descendant(:lvar).map(&:source)
+
+ if block_arg.mlhs_type?
+ block_arg.each_descendant(:arg).all? do |block_arg|
+ lvar_sources.none?(block_arg.source)
+ end
+ else
+ lvar_sources.none?(block_arg.source)
+ end
end
def message(prefer, method_name, unused_code)
@@ -127,6 +143,15 @@
end
end
+ def root_receiver(node)
+ receiver = node.receiver
+ if receiver&.receiver
+ root_receiver(receiver)
+ else
+ receiver
+ end
+ end
+
def format_message(method_name, current)
format(MSG, prefer: "each_#{method_name[0..-2]}", current: current)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/hash_except.rb new/lib/rubocop/cop/style/hash_except.rb
--- old/lib/rubocop/cop/style/hash_except.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/hash_except.rb 2023-12-11 11:24:09.000000000 +0100
@@ -43,7 +43,7 @@
# @!method bad_method_with_poro?(node)
def_node_matcher :bad_method_with_poro?, <<~PATTERN
(block
- (send _ _)
+ (call _ _)
(args
$(arg _)
(arg _))
@@ -86,6 +86,7 @@
corrector.replace(range, preferred_method)
end
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/map_compact_with_conditional_block.rb new/lib/rubocop/cop/style/map_compact_with_conditional_block.rb
--- old/lib/rubocop/cop/style/map_compact_with_conditional_block.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/map_compact_with_conditional_block.rb 2023-12-11 11:24:09.000000000 +0100
@@ -44,9 +44,9 @@
# @!method map_and_compact?(node)
def_node_matcher :map_and_compact?, <<~RUBY
- (send
+ (call
(block
- (send _ :map)
+ (call _ :map)
(args
$(arg _))
{
@@ -85,6 +85,7 @@
end
end
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/map_to_hash.rb new/lib/rubocop/cop/style/map_to_hash.rb
--- old/lib/rubocop/cop/style/map_to_hash.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/map_to_hash.rb 2023-12-11 11:24:09.000000000 +0100
@@ -68,6 +68,7 @@
removal_range = range_between(to_h.loc.dot.begin_pos, to_h.loc.selector.end_pos)
corrector.remove(range_with_surrounding_space(removal_range, side: :left))
+ corrector.replace(map.loc.dot, '.') if to_h.dot?
corrector.replace(map.loc.selector, 'to_h')
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb new/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb
--- old/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb 2023-12-11 11:24:09.000000000 +0100
@@ -86,6 +86,7 @@
def legitimate_call_with_parentheses?(node) # rubocop:disable Metrics/PerceivedComplexity
call_in_literals?(node) ||
+ node.parent&.when_type? ||
call_with_ambiguous_arguments?(node) ||
call_in_logical_operators?(node) ||
call_in_optional_arguments?(node) ||
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/method_call_without_args_parentheses.rb new/lib/rubocop/cop/style/method_call_without_args_parentheses.rb
--- old/lib/rubocop/cop/style/method_call_without_args_parentheses.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/method_call_without_args_parentheses.rb 2023-12-11 11:24:09.000000000 +0100
@@ -8,6 +8,9 @@
# This cop can be customized allowed methods with `AllowedMethods`.
# By default, there are no methods to allowed.
#
+ # NOTE: This cop allows the use of `it()` without arguments in blocks,
+ # as in `0.times { it() }`, following `Lint/ItWithoutArgumentsInBlock` cop.
+ #
# @example
# # bad
# object.some_method()
@@ -30,15 +33,18 @@
MSG = 'Do not use parentheses for method calls with no arguments.'
+ # rubocop:disable Metrics/CyclomaticComplexity
def on_send(node)
return unless !node.arguments? && node.parenthesized?
return if ineligible_node?(node)
return if default_argument?(node)
return if allowed_method_name?(node.method_name)
return if same_name_assignment?(node)
+ return if parenthesized_it_method_in_block?(node)
register_offense(node)
end
+ # rubocop:enable Metrics/CyclomaticComplexity
private
@@ -71,6 +77,20 @@
end
end
+ # Respects `Lint/ItWithoutArgumentsInBlock` cop and the following Ruby 3.3's warning:
+ #
+ # $ ruby -e '0.times { begin; it; end }'
+ # -e:1: warning: `it` calls without arguments will refer to the first block param in
+ # Ruby 3.4; use it() or self.it
+ #
+ def parenthesized_it_method_in_block?(node)
+ return false unless node.method?(:it)
+ return false unless (block_node = node.each_ancestor(:block).first)
+ return false unless block_node.arguments.empty_and_without_delimiters?
+
+ !node.receiver && node.arguments.empty? && !node.block_literal?
+ end
+
def any_assignment?(node)
node.each_ancestor(*AST::Node::ASSIGNMENTS).any? do |asgn_node|
# `obj.method = value` parses as (send ... :method= ...), and will
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/next.rb new/lib/rubocop/cop/style/next.rb
--- old/lib/rubocop/cop/style/next.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/next.rb 2023-12-11 11:24:09.000000000 +0100
@@ -66,7 +66,7 @@
end
def on_block(node)
- return unless node.send_node.send_type? && node.send_node.enumerator_method?
+ return unless node.send_node.call_type? && node.send_node.enumerator_method?
check(node)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/operator_method_call.rb new/lib/rubocop/cop/style/operator_method_call.rb
--- old/lib/rubocop/cop/style/operator_method_call.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/operator_method_call.rb 2023-12-11 11:24:09.000000000 +0100
@@ -4,8 +4,8 @@
module Cop
module Style
# Checks for redundant dot before operator method call.
- # The target operator methods are `|`, `^`, `&`, `<=>`, `==`, `===`, `=~`, `>`, `>=`, `<`,
- # `<=`, `<<`, `>>`, `+`, `-`, `*`, `/`, `%`, `**`, `~`, `!`, `!=`, and `!~`.
+ # The target operator methods are `|`, `^`, `&`, ``<=>``, `==`, `===`, `=~`, `>`, `>=`, `<`,
+ # ``<=``, `<<`, `>>`, `+`, `-`, `*`, `/`, `%`, `**`, `~`, `!`, `!=`, and `!~`.
#
# @example
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/redundant_argument.rb new/lib/rubocop/cop/style/redundant_argument.rb
--- old/lib/rubocop/cop/style/redundant_argument.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/redundant_argument.rb 2023-12-11 11:24:09.000000000 +0100
@@ -73,6 +73,7 @@
corrector.remove(offense_range)
end
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/redundant_fetch_block.rb new/lib/rubocop/cop/style/redundant_fetch_block.rb
--- old/lib/rubocop/cop/style/redundant_fetch_block.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/redundant_fetch_block.rb 2023-12-11 11:24:09.000000000 +0100
@@ -47,7 +47,7 @@
# @!method redundant_fetch_block_candidate?(node)
def_node_matcher :redundant_fetch_block_candidate?, <<~PATTERN
(block
- $(send _ :fetch _)
+ $(call _ :fetch _)
(args)
${nil? #basic_literal? #const_type?})
PATTERN
@@ -61,10 +61,10 @@
bad = build_bad_method(send, body)
add_offense(range, message: format(MSG, good: good, bad: bad)) do |corrector|
- receiver, _, key = send.children
+ _, _, key = send.children
default_value = body ? body.source : 'nil'
- corrector.replace(node, "#{receiver.source}.fetch(#{key.source}, #{default_value})")
+ corrector.replace(range, "fetch(#{key.source}, #{default_value})")
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/redundant_parentheses.rb new/lib/rubocop/cop/style/redundant_parentheses.rb
--- old/lib/rubocop/cop/style/redundant_parentheses.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/redundant_parentheses.rb 2023-12-11 11:24:09.000000000 +0100
@@ -22,9 +22,6 @@
# @!method square_brackets?(node)
def_node_matcher :square_brackets?, '(send {(send _recv _msg) str array hash} :[] ...)'
- # @!method range_end?(node)
- def_node_matcher :range_end?, '^^{irange erange}'
-
# @!method method_node_and_args(node)
def_node_matcher :method_node_and_args, '$(call _recv _msg $...)'
@@ -64,7 +61,8 @@
allowed_ancestor?(node) ||
allowed_method_call?(node) ||
allowed_multiple_expression?(node) ||
- allowed_ternary?(node)
+ allowed_ternary?(node) ||
+ node.parent&.range_type?
end
def allowed_ancestor?(node)
@@ -144,7 +142,9 @@
return 'a literal' if disallowed_literal?(begin_node, node)
return 'a variable' if node.variable?
return 'a constant' if node.const_type?
- return 'an expression' if node.lambda_or_proc?
+ if node.lambda_or_proc? && (node.braces? || node.send_node.lambda_literal?)
+ return 'an expression'
+ end
return 'an interpolated expression' if interpolation?(begin_node)
return if begin_node.chained?
@@ -229,7 +229,6 @@
def method_call_with_redundant_parentheses?(node)
return false unless node.call_type?
return false if node.prefix_not?
- return false if range_end?(node)
send_node, args = method_node_and_args(node)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/redundant_self.rb new/lib/rubocop/cop/style/redundant_self.rb
--- old/lib/rubocop/cop/style/redundant_self.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/redundant_self.rb 2023-12-11 11:24:09.000000000 +0100
@@ -17,7 +17,8 @@
# protected scope, you cannot send private messages this way.
#
# Note we allow uses of `self` with operators because it would be awkward
- # otherwise.
+ # otherwise. Also allows the use of `self.it` without arguments in blocks,
+ # as in `0.times { self.it }`, following `Lint/ItWithoutArgumentsInBlock` cop.
#
# @example
#
@@ -107,8 +108,8 @@
def on_send(node)
return unless node.self_receiver? && regular_method_call?(node)
return if node.parent&.mlhs_type?
-
return if allowed_send_node?(node)
+ return if it_method_in_block?(node)
add_offense(node.receiver) do |corrector|
corrector.remove(node.receiver)
@@ -155,6 +156,20 @@
KERNEL_METHODS.include?(node.method_name)
end
+ # Respects `Lint/ItWithoutArgumentsInBlock` cop and the following Ruby 3.3's warning:
+ #
+ # $ ruby -e '0.times { begin; it; end }'
+ # -e:1: warning: `it` calls without arguments will refer to the first block param in
+ # Ruby 3.4; use it() or self.it
+ #
+ def it_method_in_block?(node)
+ return false unless node.method?(:it)
+ return false unless (block_node = node.each_ancestor(:block).first)
+ return false unless block_node.arguments.empty_and_without_delimiters?
+
+ node.arguments.empty? && !node.block_literal?
+ end
+
def regular_method_call?(node)
!(node.operator_method? ||
KEYWORDS.include?(node.method_name) ||
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/redundant_sort.rb new/lib/rubocop/cop/style/redundant_sort.rb
--- old/lib/rubocop/cop/style/redundant_sort.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/redundant_sort.rb 2023-12-11 11:24:09.000000000 +0100
@@ -16,7 +16,7 @@
# This cop is unsafe, because `sort...last` and `max` may not return the
# same element in all cases.
#
- # In an enumerable where there are multiple elements where `a <=> b == 0`,
+ # In an enumerable where there are multiple elements where ``a <=> b == 0``,
# or where the transformation done by the `sort_by` block has the
# same result, `sort.last` and `max` (or `sort_by.last` and `max_by`)
# will return different elements. `sort.last` will return the last
@@ -87,15 +87,15 @@
# @!method redundant_sort?(node)
def_node_matcher :redundant_sort?, <<~MATCHER
{
- (send $(send _ $:sort) ${:last :first})
- (send $(send _ $:sort) ${:[] :at :slice} {(int 0) (int -1)})
+ (call $(call _ $:sort) ${:last :first})
+ (call $(call _ $:sort) ${:[] :at :slice} {(int 0) (int -1)})
- (send $(send _ $:sort_by _) ${:last :first})
+ (call $(call _ $:sort_by _) ${:last :first})
(send $(send _ $:sort_by _) ${:[] :at :slice} {(int 0) (int -1)})
- (send ({block numblock} $(send _ ${:sort_by :sort}) ...) ${:last :first})
- (send
- ({block numblock} $(send _ ${:sort_by :sort}) ...)
+ (call ({block numblock} $(call _ ${:sort_by :sort}) ...) ${:last :first})
+ (call
+ ({block numblock} $(call _ ${:sort_by :sort}) ...)
${:[] :at :slice} {(int 0) (int -1)}
)
}
@@ -108,6 +108,7 @@
register_offense(ancestor, sort_node, sorter, accessor)
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/redundant_sort_by.rb new/lib/rubocop/cop/style/redundant_sort_by.rb
--- old/lib/rubocop/cop/style/redundant_sort_by.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/redundant_sort_by.rb 2023-12-11 11:24:09.000000000 +0100
@@ -46,12 +46,12 @@
# @!method redundant_sort_by_block(node)
def_node_matcher :redundant_sort_by_block, <<~PATTERN
- (block $(send _ :sort_by) (args (arg $_x)) (lvar _x))
+ (block $(call _ :sort_by) (args (arg $_x)) (lvar _x))
PATTERN
# @!method redundant_sort_by_numblock(node)
def_node_matcher :redundant_sort_by_numblock, <<~PATTERN
- (numblock $(send _ :sort_by) 1 (lvar :_1))
+ (numblock $(call _ :sort_by) 1 (lvar :_1))
PATTERN
def sort_by_range(send, node)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/sample.rb new/lib/rubocop/cop/style/sample.rb
--- old/lib/rubocop/cop/style/sample.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/sample.rb 2023-12-11 11:24:09.000000000 +0100
@@ -35,7 +35,7 @@
# @!method sample_candidate?(node)
def_node_matcher :sample_candidate?, <<~PATTERN
- (send $(send _ :shuffle $...) ${:#{RESTRICT_ON_SEND.join(' :')}} $...)
+ (call $(call _ :shuffle $...) ${:#{RESTRICT_ON_SEND.join(' :')}} $...)
PATTERN
def on_send(node)
@@ -52,6 +52,7 @@
end
end
end
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/select_by_regexp.rb new/lib/rubocop/cop/style/select_by_regexp.rb
--- old/lib/rubocop/cop/style/select_by_regexp.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/select_by_regexp.rb 2023-12-11 11:24:09.000000000 +0100
@@ -55,8 +55,8 @@
# @!method regexp_match?(node)
def_node_matcher :regexp_match?, <<~PATTERN
{
- (block send (args (arg $_)) ${(send _ %REGEXP_METHODS _) match-with-lvasgn})
- (numblock send $1 ${(send _ %REGEXP_METHODS _) match-with-lvasgn})
+ (block call (args (arg $_)) ${(send _ %REGEXP_METHODS _) match-with-lvasgn})
+ (numblock call $1 ${(send _ %REGEXP_METHODS _) match-with-lvasgn})
}
PATTERN
@@ -64,9 +64,9 @@
# @!method creates_hash?(node)
def_node_matcher :creates_hash?, <<~PATTERN
{
- (send (const _ :Hash) {:new :[]} ...)
- (block (send (const _ :Hash) :new ...) ...)
- (send _ { :to_h :to_hash } ...)
+ (call (const _ :Hash) {:new :[]} ...)
+ (block (call (const _ :Hash) :new ...) ...)
+ (call _ { :to_h :to_hash } ...)
}
PATTERN
@@ -100,6 +100,7 @@
register_offense(node, block_node, regexp, replacement)
end
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
+ alias on_csend on_send
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/single_argument_dig.rb new/lib/rubocop/cop/style/single_argument_dig.rb
--- old/lib/rubocop/cop/style/single_argument_dig.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/single_argument_dig.rb 2023-12-11 11:24:09.000000000 +0100
@@ -3,8 +3,11 @@
module RuboCop
module Cop
module Style
- # Sometimes using dig method ends up with just a single
- # argument. In such cases, dig should be replaced with [].
+ # Sometimes using `dig` method ends up with just a single
+ # argument. In such cases, dig should be replaced with `[]`.
+ #
+ # Since replacing `hash&.dig(:key)` with `hash[:key]` could potentially lead to error,
+ # calls to the `dig` method using safe navigation will be ignored.
#
# @safety
# This cop is unsafe because it cannot be guaranteed that the receiver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/string_chars.rb new/lib/rubocop/cop/style/string_chars.rb
--- old/lib/rubocop/cop/style/string_chars.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/string_chars.rb 2023-12-11 11:24:09.000000000 +0100
@@ -35,6 +35,7 @@
corrector.replace(range, 'chars')
end
end
+ alias on_csend on_send
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/strip.rb new/lib/rubocop/cop/style/strip.rb
--- old/lib/rubocop/cop/style/strip.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/strip.rb 2023-12-11 11:24:09.000000000 +0100
@@ -22,20 +22,23 @@
# @!method lstrip_rstrip(node)
def_node_matcher :lstrip_rstrip, <<~PATTERN
- {(send $(send _ $:rstrip) $:lstrip)
- (send $(send _ $:lstrip) $:rstrip)}
+ {
+ (call $(call _ :rstrip) :lstrip)
+ (call $(call _ :lstrip) :rstrip)
+ }
PATTERN
def on_send(node)
- lstrip_rstrip(node) do |first_send, method_one, method_two|
+ lstrip_rstrip(node) do |first_send|
range = range_between(first_send.loc.selector.begin_pos, node.source_range.end_pos)
- message = format(MSG, methods: "#{method_one}.#{method_two}")
+ message = format(MSG, methods: range.source)
add_offense(range, message: message) do |corrector|
corrector.replace(range, 'strip')
end
end
end
+ alias on_csend on_send
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/cop/style/unpack_first.rb new/lib/rubocop/cop/style/unpack_first.rb
--- old/lib/rubocop/cop/style/unpack_first.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/cop/style/unpack_first.rb 2023-12-11 11:24:09.000000000 +0100
@@ -23,38 +23,35 @@
minimum_target_ruby_version 2.4
- MSG = 'Use `%<receiver>s.unpack1(%<format>s)` instead of ' \
- '`%<receiver>s.unpack(%<format>s)%<method>s`.'
+ MSG = 'Use `unpack1(%<format>s)` instead of `%<current>s`.'
RESTRICT_ON_SEND = %i[first [] slice at].freeze
# @!method unpack_and_first_element?(node)
def_node_matcher :unpack_and_first_element?, <<~PATTERN
{
- (send $(send (...) :unpack $(...)) :first)
- (send $(send (...) :unpack $(...)) {:[] :slice :at} (int 0))
+ (call $(call (...) :unpack $(...)) :first)
+ (call $(call (...) :unpack $(...)) {:[] :slice :at} (int 0))
}
PATTERN
def on_send(node)
unpack_and_first_element?(node) do |unpack_call, unpack_arg|
- range = first_element_range(node, unpack_call)
- message = format(MSG,
- receiver: unpack_call.receiver.source,
- format: unpack_arg.source,
- method: range.source)
- add_offense(node, message: message) do |corrector|
- corrector.remove(first_element_range(node, unpack_call))
+ first_element_range = first_element_range(node, unpack_call)
+ offense_range = unpack_call.loc.selector.join(node.source_range.end)
+ message = format(MSG, format: unpack_arg.source, current: offense_range.source)
+
+ add_offense(offense_range, message: message) do |corrector|
+ corrector.remove(first_element_range)
corrector.replace(unpack_call.loc.selector, 'unpack1')
end
end
end
+ alias on_csend on_send
private
def first_element_range(node, unpack_call)
- Parser::Source::Range.new(node.source_range.source_buffer,
- unpack_call.source_range.end_pos,
- node.source_range.end_pos)
+ unpack_call.source_range.end.join(node.source_range.end)
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop/version.rb new/lib/rubocop/version.rb
--- old/lib/rubocop/version.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop/version.rb 2023-12-11 11:24:09.000000000 +0100
@@ -3,7 +3,7 @@
module RuboCop
# This module holds the RuboCop version information.
module Version
- STRING = '1.58.0'
+ STRING = '1.59.0'
MSG = '%<version>s (using Parser %<parser_version>s, ' \
'rubocop-ast %<rubocop_ast_version>s, ' \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rubocop.rb new/lib/rubocop.rb
--- old/lib/rubocop.rb 2023-12-01 13:49:31.000000000 +0100
+++ new/lib/rubocop.rb 2023-12-11 11:24:09.000000000 +0100
@@ -332,6 +332,7 @@
require_relative 'rubocop/cop/lint/ineffective_access_modifier'
require_relative 'rubocop/cop/lint/inherit_exception'
require_relative 'rubocop/cop/lint/interpolation_check'
+require_relative 'rubocop/cop/lint/it_without_arguments_in_block'
require_relative 'rubocop/cop/lint/lambda_without_literal_block'
require_relative 'rubocop/cop/lint/literal_as_condition'
require_relative 'rubocop/cop/lint/literal_assignment_in_condition'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2023-12-01 13:49:31.000000000 +0100
+++ new/metadata 2023-12-11 11:24:09.000000000 +0100
@@ -1,16 +1,16 @@
--- !ruby/object:Gem::Specification
name: rubocop
version: !ruby/object:Gem::Version
- version: 1.58.0
+ version: 1.59.0
platform: ruby
authors:
- Bozhidar Batsov
- Jonas Arvidsson
- Yuji Nakayama
-autorequire:
+autorequire:
bindir: exe
cert_chain: []
-date: 2023-12-01 00:00:00.000000000 Z
+date: 2023-12-11 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: json
@@ -467,6 +467,7 @@
- lib/rubocop/cop/lint/ineffective_access_modifier.rb
- lib/rubocop/cop/lint/inherit_exception.rb
- lib/rubocop/cop/lint/interpolation_check.rb
+- lib/rubocop/cop/lint/it_without_arguments_in_block.rb
- lib/rubocop/cop/lint/lambda_without_literal_block.rb
- lib/rubocop/cop/lint/literal_as_condition.rb
- lib/rubocop/cop/lint/literal_assignment_in_condition.rb
@@ -1029,10 +1030,10 @@
homepage_uri: https://rubocop.org/
changelog_uri: https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md
source_code_uri: https://github.com/rubocop/rubocop/
- documentation_uri: https://docs.rubocop.org/rubocop/1.58/
+ documentation_uri: https://docs.rubocop.org/rubocop/1.59/
bug_tracker_uri: https://github.com/rubocop/rubocop/issues
rubygems_mfa_required: 'true'
-post_install_message:
+post_install_message:
rdoc_options: []
require_paths:
- lib
@@ -1047,8 +1048,8 @@
- !ruby/object:Gem::Version
version: '0'
requirements: []
-rubygems_version: 3.4.22
-signing_key:
+rubygems_version: 3.3.7
+signing_key:
specification_version: 4
summary: Automatic Ruby code style checking tool.
test_files: []
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-csvkit for openSUSE:Factory checked in at 2023-12-14 22:03:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-csvkit (Old)
and /work/SRC/openSUSE:Factory/.python-csvkit.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-csvkit"
Thu Dec 14 22:03:19 2023 rev:20 rq:1132979 version:1.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-csvkit/python-csvkit.changes 2023-10-02 20:08:45.931765412 +0200
+++ /work/SRC/openSUSE:Factory/.python-csvkit.new.25432/python-csvkit.changes 2023-12-14 22:03:21.196527677 +0100
@@ -1,0 +2,37 @@
+Thu Dec 14 06:03:03 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Update to 1.3.0:
+ * /scripts/csvformat adds a --skip-header (-E) option to not output a
+ header row.
+ * /scripts/csvlook adds a --max-precision option to set the maximum number
+ of decimal places to display.
+ * /scripts/csvlook adds a --no-number-ellipsis option to disable the
+ ellipsis (…) if --max-precision is exceeded.
+ * /scripts/csvstat supports the --no-inference (-I), --locale (-L),
+ --blanks, --date-format and datetime-format options.
+ * /scripts/csvstat reports a "Non-null values" statistic.
+ * /scripts/csvstat adds a --non-nulls option to only output counts
+ of non-null values.
+ * /scripts/csvstat reports a "Most decimal places" statistic.
+ * /scripts/csvstat adds a --max-precision option to only output the
+ most decimal places.
+ * /scripts/csvstat adds a --json option to output results as JSON text.
+ * /scripts/csvstat adds an --indent option to indent the JSON text when
+ --json is set.
+ * /scripts/in2csv adds a --use-sheet-names option to use the sheet names
+ as file names when --write-sheets is set.
+ * Add a --null-value option to commands with the --blanks option, to
+ convert additional values to NULL.
+ * Reconfigure the encoding of standard input according to the --encoding
+ option, which defaults to utf-8-sig.
+ * Prompt the user if additional input is expected (i.e. if no input file
+ or piped data is provided) in /scripts/csvjoin, /scripts/csvsql and
+ /scripts/csvstack.
+ * No longer errors if a NUL byte occurs in an input file.
+ * Add Python 3.12 support.
+ * /scripts/csvjoin uses the correct columns when performing a --right join.
+ * Add SQLAlchemy 2 support.
+ * Drop Python 3.7 support (end-of-life was June 5, 2023).
+- Switch to pyproject macros.
+
+-------------------------------------------------------------------
Old:
----
csvkit-1.1.1.tar.gz
New:
----
csvkit-1.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-csvkit.spec ++++++
--- /var/tmp/diff_new_pack.7yhujS/_old 2023-12-14 22:03:22.428572114 +0100
+++ /var/tmp/diff_new_pack.7yhujS/_new 2023-12-14 22:03:22.432572259 +0100
@@ -18,11 +18,10 @@
%define binaries csvclean csvcut csvformat csvgrep csvjoin csvjson csvlook csvpy csvsort csvsql csvstack csvstat in2csv sql2csv
Name: python-csvkit
-Version: 1.1.1
+Version: 1.3.0
Release: 0
Summary: A library of utilities for working with CSV
License: MIT
-Group: Development/Languages/Python
URL: https://github.com/wireservice/csvkit
Source0: https://files.pythonhosted.org/packages/source/c/csvkit/csvkit-%{version}.t…
Source1: https://raw.githubusercontent.com/wireservice/csvkit/5f22e664121b13d9ff005a…
@@ -31,14 +30,21 @@
BuildRequires: %{python_module agate-excel >= 0.2.2}
BuildRequires: %{python_module agate-sql >= 0.5.3}
BuildRequires: %{python_module importlib-metadata if %python-base < 3.10}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Requires: python-SQLAlchemy
Requires: python-agate
Requires: python-agate-dbf
Requires: python-agate-excel
Requires: python-agate-sql
-Requires: (python-importlib-metadata if python-base < 3.10)
+Requires: python-openpyxl
+Requires: python-xlrd
+%if %python_version_nodots < 310
+Requires: python-importlib-metadata
+%endif
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
@@ -59,10 +65,10 @@
%endif
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
for b in %{binaries}; do
%python_clone -a %{buildroot}%{_bindir}/$b
done
@@ -88,6 +94,6 @@
%{lua:for b in rpm.expand("%{binaries}"):gmatch("%S+") do
print(rpm.expand("%python_alternative %{_bindir}/" .. b .. "\n"))
end}
-%{python_sitelib}/csvkit-%{version}*-info
+%{python_sitelib}/csvkit-%{version}.dist-info
%{python_sitelib}/csvkit/
++++++ csvkit-1.1.1.tar.gz -> csvkit-1.3.0.tar.gz ++++++
++++ 6090 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jsonpickle for openSUSE:Factory checked in at 2023-12-14 22:03:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jsonpickle (Old)
and /work/SRC/openSUSE:Factory/.python-jsonpickle.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jsonpickle"
Thu Dec 14 22:03:17 2023 rev:12 rq:1132963 version:3.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jsonpickle/python-jsonpickle.changes 2023-06-16 16:56:07.938163374 +0200
+++ /work/SRC/openSUSE:Factory/.python-jsonpickle.new.25432/python-jsonpickle.changes 2023-12-14 22:03:19.592469820 +0100
@@ -1,0 +2,18 @@
+Wed Dec 13 16:18:51 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 3.0.2
+ * Properly raise warning if a custom pickling handler returns
+ None. (#433)
+ * Fix issue with serialization of certain sklearn objects
+ breaking when the numpy handler was enabled. (#431) (+434)
+ * Allow custom backends to not implement _encoder_options (#436)
+ (+446)
+ * Implement compatibility with pandas 2 (+446)
+ * Fix encoding/decoding of dictionary subclasses with referencing
+ (+455)
+ * Fix depth tracking for list/dict referencing (+456)
+- Drop pandas2.patch
+- Skip a noncritical test due to pandas built with Cython 3
+ gh#jsonpickle/jsonpickle#460
+
+-------------------------------------------------------------------
Old:
----
jsonpickle-3.0.1.tar.gz
pandas2.patch
New:
----
jsonpickle-3.0.2.tar.gz
BETA DEBUG BEGIN:
Old: * Fix depth tracking for list/dict referencing (+456)
- Drop pandas2.patch
- Skip a noncritical test due to pandas built with Cython 3
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jsonpickle.spec ++++++
--- /var/tmp/diff_new_pack.yWXvLH/_old 2023-12-14 22:03:20.388498532 +0100
+++ /var/tmp/diff_new_pack.yWXvLH/_new 2023-12-14 22:03:20.392498676 +0100
@@ -18,24 +18,23 @@
%{?sle15_python_module_pythons}
Name: python-jsonpickle
-Version: 3.0.1
+Version: 3.0.2
Release: 0
Summary: Python library for serializing any arbitrary object graph into JSON
License: BSD-3-Clause
URL: https://github.com/jsonpickle/jsonpickle
Source: https://files.pythonhosted.org/packages/source/j/jsonpickle/jsonpickle-%{ve…
-# PATCH-FIX-UPSTREAM https://github.com/jsonpickle/jsonpickle/commit/a24240bfdec6a9d5172c2f25e19… Implement compatibility with pandas 2
-Patch: pandas2.patch
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module importlib_metadata if %python-base < 3.8}
+BuildRequires: %{python_module pip}
+BuildRequires: %{python_module setuptools >= 42}
BuildRequires: %{python_module setuptools_scm >= 3.4.1}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Recommends: python-simplejson
-Suggests: python-ujson
-Suggests: python-numpy
-Suggests: python-pandas
+%if %python_version_nodots < 38
+Requires: python-importlib_metadata
+%endif
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module SQLAlchemy}
@@ -61,19 +60,22 @@
sed -i 's/ --cov//' pytest.ini
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# test_multindex_dataframe_roundtrip is flaky on i586
-%pytest -ra -k "not test_multindex_dataframe_roundtrip"
+donttest="test_multindex_dataframe_roundtrip"
+# https://github.com/jsonpickle/jsonpickle/issues/460
+donttest+=" or test_timedelta_index_roundtrip"
+%pytest -ra -k "not ($donttest)"
%files %{python_files}
%license LICENSE
%doc README.rst CHANGES.rst
%{python_sitelib}/jsonpickle
-%{python_sitelib}/jsonpickle-%{version}*-info
+%{python_sitelib}/jsonpickle-%{version}.dist-info
++++++ jsonpickle-3.0.1.tar.gz -> jsonpickle-3.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/.github/workflows/lint.yml new/jsonpickle-3.0.2/.github/workflows/lint.yml
--- old/jsonpickle-3.0.1/.github/workflows/lint.yml 2022-11-15 01:21:56.000000000 +0100
+++ new/jsonpickle-3.0.2/.github/workflows/lint.yml 2023-06-15 19:27:19.000000000 +0200
@@ -15,7 +15,7 @@
- name: Checkout code
uses: actions/checkout@v3
- - uses: actions/setup-python@v3
+ - uses: actions/setup-python@v4
with:
python-version: "3.10"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/.github/workflows/test.yml new/jsonpickle-3.0.2/.github/workflows/test.yml
--- old/jsonpickle-3.0.1/.github/workflows/test.yml 2022-12-11 23:29:25.000000000 +0100
+++ new/jsonpickle-3.0.2/.github/workflows/test.yml 2023-06-15 19:27:19.000000000 +0200
@@ -19,7 +19,7 @@
- TOXENV: sa13
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
@@ -29,7 +29,7 @@
- name: Get pip cache dir
id: pip-cache
run: |
- echo "::set-output name=dir::$(pip cache dir)"
+ echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
- name: Cache
uses: actions/cache@v3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/CHANGES.rst new/jsonpickle-3.0.2/CHANGES.rst
--- old/jsonpickle-3.0.1/CHANGES.rst 2022-12-16 20:10:47.000000000 +0100
+++ new/jsonpickle-3.0.2/CHANGES.rst 2023-05-26 20:17:00.000000000 +0200
@@ -1,3 +1,11 @@
+v3.0.2
+======
+ * Properly raise warning if a custom pickling handler returns None. (#433)
+ * Fix issue with serialization of certain sklearn objects breaking when
+ the numpy handler was enabled. (#431) (+434)
+ * Allow custom backends to not implement _encoder_options (#436) (+446)
+ * Implement compatibility with pandas 2 (+446)
+
v3.0.1
======
* Remove accidental pin of setuptools to versions below 59. This allows
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/PKG-INFO new/jsonpickle-3.0.2/PKG-INFO
--- old/jsonpickle-3.0.1/PKG-INFO 2022-12-18 00:45:49.252404700 +0100
+++ new/jsonpickle-3.0.2/PKG-INFO 2023-08-13 20:49:20.744231200 +0200
@@ -1,11 +1,10 @@
Metadata-Version: 2.1
Name: jsonpickle
-Version: 3.0.1
+Version: 3.0.2
Summary: Python library for serializing any arbitrary object graph into JSON
Home-page: https://github.com/jsonpickle/jsonpickle
Author: David Aguilar
Author-email: davvid(a)gmail.com
-License: UNKNOWN
Keywords: json pickle,json,pickle,marshal,serialization,JavaScript Object Notation
Platform: POSIX
Platform: Windows
@@ -18,6 +17,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 :: JavaScript
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
@@ -182,5 +182,3 @@
GPG Signing
===========
Releases before v3.0.0 are signed with `davvid's key <https://keys.openpgp.org/vks/v1/by-fingerprint/FA41BF59C1B48E8C5F3DA61C8CE2…>`_. v3.0.0 and after are likely signed by `Theelx's key <https://github.com/Theelx.gpg>`_. All upcoming releases should be signed by one of these two keys, usually Theelx's key.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/jsonpickle/backend.py new/jsonpickle-3.0.2/jsonpickle/backend.py
--- old/jsonpickle-3.0.1/jsonpickle/backend.py 2022-12-01 17:36:11.000000000 +0100
+++ new/jsonpickle-3.0.2/jsonpickle/backend.py 2023-05-23 01:46:28.000000000 +0200
@@ -137,7 +137,6 @@
return True
def load_backend(self, name, dumps='dumps', loads='loads', loads_exc=ValueError):
-
"""Load a JSON backend by name.
This method loads a backend and sets up references to that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/jsonpickle/ext/numpy.py new/jsonpickle-3.0.2/jsonpickle/ext/numpy.py
--- old/jsonpickle-3.0.1/jsonpickle/ext/numpy.py 2022-11-15 01:21:56.000000000 +0100
+++ new/jsonpickle-3.0.2/jsonpickle/ext/numpy.py 2023-08-13 20:22:05.000000000 +0200
@@ -324,6 +324,9 @@
else:
# decode array view, which references the data of another array
base = self.context.restore(base, reset=False)
+ if not isinstance(base, np.ndarray):
+ # the object is probably a nested list
+ base = np.array(base)
assert (
base.flags.forc
), "Current implementation assumes base is C or F contiguous"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/jsonpickle/ext/pandas.py new/jsonpickle-3.0.2/jsonpickle/ext/pandas.py
--- old/jsonpickle-3.0.1/jsonpickle/ext/pandas.py 2022-11-15 01:21:56.000000000 +0100
+++ new/jsonpickle-3.0.2/jsonpickle/ext/pandas.py 2023-05-26 19:34:56.000000000 +0200
@@ -62,10 +62,13 @@
parse_dates = []
converters = {}
timedeltas = []
+ # this is only for pandas v2+ due to a backwards-incompatible change
+ parse_datetime_v2 = {}
dtype = {}
for k, v in meta_dtypes.items():
if v.startswith('datetime'):
parse_dates.append(k)
+ parse_datetime_v2[k] = v
elif v.startswith('complex'):
converters[k] = complex
elif v.startswith('timedelta'):
@@ -79,6 +82,7 @@
dtype=dtype, header=header, parse_dates=parse_dates, converters=converters
),
timedeltas,
+ parse_datetime_v2,
)
@@ -104,7 +108,7 @@
def restore(self, data):
csv, meta = self.pp.restore_pandas(data)
- params, timedeltas = make_read_csv_params(meta, self.context)
+ params, timedeltas, parse_datetime_v2 = make_read_csv_params(meta, self.context)
# None makes it compatible with objects serialized before
# column_levels_names has been introduced.
column_level_names = meta.get('column_level_names', None)
@@ -115,6 +119,7 @@
)
for col in timedeltas:
df[col] = pd.to_timedelta(df[col])
+ df = df.astype(parse_datetime_v2)
df.set_index(decode(meta['index']), inplace=True)
# restore the column level(s) name(s)
@@ -143,7 +148,6 @@
class PandasIndexHandler(BaseHandler):
-
pp = PandasProcessor()
index_constructor = pd.Index
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/jsonpickle/pickler.py new/jsonpickle-3.0.2/jsonpickle/pickler.py
--- old/jsonpickle-3.0.1/jsonpickle/pickler.py 2022-12-01 18:06:59.000000000 +0100
+++ new/jsonpickle-3.0.2/jsonpickle/pickler.py 2023-08-13 20:29:44.000000000 +0200
@@ -111,8 +111,9 @@
:param include_properties:
Include the names and values of class properties in the generated json.
Properties are unpickled properly regardless of this setting, this is
- meant to be used if processing the json outside of Python. Defaults to
- ``False``.
+ meant to be used if processing the json outside of Python. Certain types
+ such as sets will not pickle due to not having a native-json equivalent.
+ Defaults to ``False``.
>>> encode('my string') == '"my string"'
True
@@ -220,7 +221,7 @@
self.include_properties = include_properties
def _determine_sort_keys(self):
- for _, options in self.backend._encoder_options.values():
+ for _, options in getattr(self.backend, '_encoder_options', {}).values():
if options.get("sort_keys", False):
# the user has set one of the backends to sort keys
return True
@@ -368,7 +369,6 @@
max_reached = self._max_reached()
try:
-
in_cycle = _in_cycle(obj, self._objs, max_reached, self.make_refs)
if in_cycle:
# break the cycle
@@ -521,7 +521,10 @@
if handler is not None:
if self.unpicklable:
data[tags.OBJECT] = class_name
- return handler(self).flatten(obj, data)
+ result = handler(self).flatten(obj, data)
+ if result is None:
+ self._pickle_warning(obj)
+ return result
reduce_val = None
@@ -771,10 +774,13 @@
data['default_factory'] = value
# Sub-classes of dict
- if hasattr(obj, '__dict__') and self.unpicklable:
- dict_data = {}
- self._flatten_dict_obj(obj.__dict__, dict_data)
- data['__dict__'] = dict_data
+ if hasattr(obj, '__dict__') and self.unpicklable and obj != obj.__dict__:
+ if self._mkref(obj.__dict__):
+ dict_data = {}
+ self._flatten_dict_obj(obj.__dict__, dict_data)
+ data['__dict__'] = dict_data
+ else:
+ data['__dict__'] = self._getref(obj.__dict__)
return data
@@ -785,7 +791,6 @@
self._list_recurse if type(obj) is list else self._flatten_dict_obj
)
else:
- self._push()
return self._getref
# We handle tuples and sets by encoding them in a "(tuple|set)dict"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/jsonpickle/unpickler.py new/jsonpickle-3.0.2/jsonpickle/unpickler.py
--- old/jsonpickle-3.0.1/jsonpickle/unpickler.py 2022-12-16 20:10:17.000000000 +0100
+++ new/jsonpickle-3.0.2/jsonpickle/unpickler.py 2023-08-13 20:22:05.000000000 +0200
@@ -327,7 +327,7 @@
def _swap_proxies(self):
"""Replace proxies with their corresponding instances"""
- for (obj, attr, proxy, method) in self._proxies:
+ for obj, attr, proxy, method in self._proxies:
method(obj, attr, proxy)
self._proxies = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/jsonpickle.egg-info/PKG-INFO new/jsonpickle-3.0.2/jsonpickle.egg-info/PKG-INFO
--- old/jsonpickle-3.0.1/jsonpickle.egg-info/PKG-INFO 2022-12-18 00:45:48.000000000 +0100
+++ new/jsonpickle-3.0.2/jsonpickle.egg-info/PKG-INFO 2023-08-13 20:49:20.000000000 +0200
@@ -1,11 +1,10 @@
Metadata-Version: 2.1
Name: jsonpickle
-Version: 3.0.1
+Version: 3.0.2
Summary: Python library for serializing any arbitrary object graph into JSON
Home-page: https://github.com/jsonpickle/jsonpickle
Author: David Aguilar
Author-email: davvid(a)gmail.com
-License: UNKNOWN
Keywords: json pickle,json,pickle,marshal,serialization,JavaScript Object Notation
Platform: POSIX
Platform: Windows
@@ -18,6 +17,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 :: JavaScript
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
@@ -182,5 +182,3 @@
GPG Signing
===========
Releases before v3.0.0 are signed with `davvid's key <https://keys.openpgp.org/vks/v1/by-fingerprint/FA41BF59C1B48E8C5F3DA61C8CE2…>`_. v3.0.0 and after are likely signed by `Theelx's key <https://github.com/Theelx.gpg>`_. All upcoming releases should be signed by one of these two keys, usually Theelx's key.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/pyproject.toml new/jsonpickle-3.0.2/pyproject.toml
--- old/jsonpickle-3.0.1/pyproject.toml 2022-12-16 19:49:07.000000000 +0100
+++ new/jsonpickle-3.0.2/pyproject.toml 2023-01-09 17:13:27.000000000 +0100
@@ -1,5 +1,5 @@
[build-system]
-requires = ["setuptools>=42", "wheel", "setuptools_scm[toml]>=3.4.1"]
+requires = ["setuptools>=42", "setuptools_scm[toml]>=3.4.1"]
build-backend = "setuptools.build_meta"
[tool.black]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/setup.cfg new/jsonpickle-3.0.2/setup.cfg
--- old/jsonpickle-3.0.1/setup.cfg 2022-12-18 00:45:49.252404700 +0100
+++ new/jsonpickle-3.0.2/setup.cfg 2023-08-13 20:49:20.744231200 +0200
@@ -1,6 +1,3 @@
-[bdist_wheel]
-universal = 1
-
[metadata]
license_file = LICENSE
name = jsonpickle
@@ -19,6 +16,7 @@
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
Programming Language :: JavaScript
Operating System :: OS Independent
Topic :: Software Development :: Libraries :: Python Modules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/tests/backend_test.py new/jsonpickle-3.0.2/tests/backend_test.py
--- old/jsonpickle-3.0.1/tests/backend_test.py 2022-12-01 17:50:41.000000000 +0100
+++ new/jsonpickle-3.0.2/tests/backend_test.py 2023-01-09 17:13:27.000000000 +0100
@@ -159,20 +159,6 @@
return True
-class YajlTestCase(BackendBase):
- def setUp(self):
- self.set_preferred_backend('yajl')
-
- def test_backend(self):
- expected_pickled = (
- '{"things":[{'
- '"py/object":"backend_test.Thing",'
- '"name":"data","child":null}'
- ']}'
- )
- self.assertEncodeDecode(expected_pickled)
-
-
class UJsonTestCase(BackendBase):
def setUp(self):
self.set_preferred_backend('ujson')
@@ -192,8 +178,6 @@
suite.addTest(unittest.makeSuite(JsonTestCase))
suite.addTest(unittest.makeSuite(UJsonTestCase))
suite.addTest(unittest.makeSuite(SimpleJsonTestCase))
- if has_module('yajl'):
- suite.addTest(unittest.makeSuite(YajlTestCase))
return suite
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/tests/ecdsa_test.py new/jsonpickle-3.0.2/tests/ecdsa_test.py
--- old/jsonpickle-3.0.1/tests/ecdsa_test.py 2022-11-15 01:21:56.000000000 +0100
+++ new/jsonpickle-3.0.2/tests/ecdsa_test.py 2023-01-09 17:13:27.000000000 +0100
@@ -12,9 +12,14 @@
@pytest.fixture(scope='module', autouse=True)
def gmpy_extension():
"""Initialize the gmpy extension for this test module"""
- jsonpickle.ext.gmpy.register_handlers()
- yield # control to the test function.
- jsonpickle.ext.gmpy.unregister_handlers()
+ try:
+ jsonpickle.ext.gmpy.register_handlers()
+ yield # control to the test function.
+ jsonpickle.ext.gmpy.unregister_handlers()
+ except AttributeError:
+ pytest.skip(
+ "gmpy was not detected, please try installing it for more complete tests!"
+ )
class EcdsaTestCase(SkippableTest):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/tests/jsonpickle_test.py new/jsonpickle-3.0.2/tests/jsonpickle_test.py
--- old/jsonpickle-3.0.1/tests/jsonpickle_test.py 2022-12-01 17:50:42.000000000 +0100
+++ new/jsonpickle-3.0.2/tests/jsonpickle_test.py 2023-08-13 20:29:11.000000000 +0200
@@ -563,6 +563,14 @@
jsonpickle.decode(encoded, classes={"MyPropertiesSlots": MyPropertiesDict}),
)
+ def test_warnings(self):
+ data = os.fdopen(os.pipe()[0])
+ with warnings.catch_warnings(record=True) as w:
+ jsonpickle.encode(data, warn=True)
+ assert len(w) == 1
+ assert issubclass(w[-1].category, UserWarning)
+ assert "replaced with None" in str(w[-1].message)
+
class JSONPickleTestCase(SkippableTest):
def setUp(self):
@@ -719,6 +727,21 @@
self.assertEqual(obj.s, actual.s)
self.assertEqual(obj.valid, actual.valid)
+ def test_dict_subclass_with_references(self):
+ d = UserDict()
+ d.s = 'string'
+ d['s'] = 'test'
+ obj = [d, d, d.__dict__]
+ pickle = jsonpickle.encode(obj)
+ actual = jsonpickle.decode(pickle)
+
+ self.assertEqual(type(actual), list)
+ self.assertEqual(type(actual[0]), UserDict)
+ self.assertEqual(actual[0].s, 'string')
+ self.assertEqual(actual[0]['s'], 'test')
+ self.assertIs(actual[0], actual[1])
+ self.assertIs(actual[0].__dict__, actual[2])
+
def test_list_of_objects(self):
"""Test that objects in lists are referenced correctly"""
a = Thing('a')
@@ -958,6 +981,12 @@
# TODO: Find a simple example that reproduces #364
self.assertTrue(True)
+ def test_depth_tracking(self):
+ l = []
+ pickler = jsonpickle.Pickler()
+ pickler.flatten([l, l, l, l, l])
+ self.assertEqual(pickler._depth, -1)
+
class PicklableNamedTuple(object):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/tests/object_test.py new/jsonpickle-3.0.2/tests/object_test.py
--- old/jsonpickle-3.0.1/tests/object_test.py 2022-12-07 17:15:52.000000000 +0100
+++ new/jsonpickle-3.0.2/tests/object_test.py 2023-08-13 20:26:13.000000000 +0200
@@ -122,7 +122,6 @@
class ThingWithSlots(object):
-
__slots__ = ('a', 'b')
def __init__(self, a, b):
@@ -131,7 +130,6 @@
class ThingWithInheritedSlots(ThingWithSlots):
-
__slots__ = ('c',)
def __init__(self, a, b, c):
@@ -140,7 +138,6 @@
class ThingWithIterableSlots(object):
-
__slots__ = iter('ab')
def __init__(self, a, b):
@@ -175,6 +172,25 @@
return self.__class__()
+class ThingWithDefaultFactoryRegistry:
+ """Counts calls to ThingWithDefaultFactory.__init__()"""
+
+ count = 0 # Incremented by ThingWithDefaultFactory().
+
+
+class ThingWithDefaultFactory:
+ """Class that ensures that provides a default factory"""
+
+ def __new__(cls, *args, **kwargs):
+ """Ensure that jsonpickle uses our constructor during initialization"""
+ return super().__new__(cls, *args, **kwargs)
+
+ def __init__(self):
+ self.default_factory = self.__class__
+ # Keep track of how many times this constructor has been run.
+ ThingWithDefaultFactoryRegistry.count += 1
+
+
class IntEnumTest(enum.IntEnum):
X = 1
Y = 2
@@ -618,6 +634,19 @@
assert newdefdict.default_factory == list
+def test_default_factory_initialization():
+ """Ensure that ThingWithDefaultFactory()'s constructor is called"""
+ thing = ThingWithDefaultFactory()
+ assert ThingWithDefaultFactoryRegistry.count == 1
+
+ thing.is_awesome = True
+ encoded = jsonpickle.encode(thing)
+ new_thing = jsonpickle.decode(encoded)
+
+ assert ThingWithDefaultFactoryRegistry.count == 2
+ assert new_thing.is_awesome
+
+
def test_defaultdict_roundtrip_simple_lambda():
"""Make sure we can handle defaultdict(lambda: defaultdict(int))"""
# setup a sparse collections.defaultdict with simple lambdas
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/tests/pandas_test.py new/jsonpickle-3.0.2/tests/pandas_test.py
--- old/jsonpickle-3.0.1/tests/pandas_test.py 2022-11-15 01:21:56.000000000 +0100
+++ new/jsonpickle-3.0.2/tests/pandas_test.py 2023-08-13 20:26:08.000000000 +0200
@@ -62,7 +62,7 @@
'an_inf': np.array([np.inf] * 3),
'a_str': np.str_('foo'),
'a_unicode': np.unicode_('bar'),
- 'date': np.array([np.datetime64('2014-01-01')] * 3),
+ 'date': np.array([np.datetime64('2014-01-01')] * 3, dtype="datetime64[s]"),
'complex': np.complex_([1 - 2j, 2 - 1.2j, 3 - 1.3j]),
# TODO: the following dtypes are not currently supported.
# 'object': np.object_([{'a': 'b'}]*3),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/tests/sklearn_test.py new/jsonpickle-3.0.2/tests/sklearn_test.py
--- old/jsonpickle-3.0.1/tests/sklearn_test.py 2022-11-15 01:21:56.000000000 +0100
+++ new/jsonpickle-3.0.2/tests/sklearn_test.py 2023-01-09 17:13:27.000000000 +0100
@@ -4,6 +4,8 @@
try:
import numpy as np
+ import sklearn.datasets
+ from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
except ImportError:
pytest.skip('sklearn is not available', allow_module_level=True)
@@ -53,5 +55,22 @@
assert actual.get_depth() == classifier.get_depth()
+def test_nested_array_serialization():
+ iris = sklearn.datasets.load_iris()
+ X = iris.data[:, :2]
+ y = (iris.target != 0) * 1
+
+ pipe = LogisticRegression(solver="lbfgs")
+ pipe.fit(X, y)
+ res = pipe.predict(X)
+
+ # Try serializing/deserializing.
+ # Pipe is a LogisticRegression object that contains a nested array
+ js = jsonpickle.dumps(pipe)
+ pipe2 = jsonpickle.loads(js)
+ # coef_ only appears on an instance that has already been fit to something
+ assert np.all(pipe.coef_ == pipe2.coef_)
+
+
if __name__ == '__main__':
pytest.main([__file__])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/tests/sqlalchemy_test.py new/jsonpickle-3.0.2/tests/sqlalchemy_test.py
--- old/jsonpickle-3.0.1/tests/sqlalchemy_test.py 2022-11-15 01:21:56.000000000 +0100
+++ new/jsonpickle-3.0.2/tests/sqlalchemy_test.py 2023-05-23 01:46:28.000000000 +0200
@@ -16,7 +16,6 @@
HAS_SQA = False
if HAS_SQA:
-
Base = declarative.declarative_base()
class Table(Base):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpickle-3.0.1/tests/util_test.py new/jsonpickle-3.0.2/tests/util_test.py
--- old/jsonpickle-3.0.1/tests/util_test.py 2022-11-15 01:21:56.000000000 +0100
+++ new/jsonpickle-3.0.2/tests/util_test.py 2023-05-23 01:46:28.000000000 +0200
@@ -30,7 +30,6 @@
class MethodTestClass(object):
-
variable = None
@staticmethod
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-unix-compat for openSUSE:Factory checked in at 2023-12-14 22:03:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-unix-compat (Old)
and /work/SRC/openSUSE:Factory/.ghc-unix-compat.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-unix-compat"
Thu Dec 14 22:03:15 2023 rev:27 rq:1132957 version:0.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-unix-compat/ghc-unix-compat.changes 2023-11-23 21:42:13.874989889 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-unix-compat.new.25432/ghc-unix-compat.changes 2023-12-14 22:03:17.876407923 +0100
@@ -1,0 +2,9 @@
+Wed Dec 6 12:31:37 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update unix-compat to version 0.7.1.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/unix-compat-0.7.1/src/CHANGELOG.md
+
+-------------------------------------------------------------------
Old:
----
unix-compat-0.7.tar.gz
New:
----
unix-compat-0.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-unix-compat.spec ++++++
--- /var/tmp/diff_new_pack.Bo00QX/_old 2023-12-14 22:03:18.644435625 +0100
+++ /var/tmp/diff_new_pack.Bo00QX/_new 2023-12-14 22:03:18.648435770 +0100
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.7
+Version: 0.7.1
Release: 0
Summary: Portable POSIX-compatibility layer
License: BSD-3-Clause
++++++ unix-compat-0.7.tar.gz -> unix-compat-0.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unix-compat-0.7/CHANGELOG.md new/unix-compat-0.7.1/CHANGELOG.md
--- old/unix-compat-0.7/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200
+++ new/unix-compat-0.7.1/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,10 @@
+## Version 0.7.1 (2023-12-06) Santa Clause edition
+
+- Add `System.PosixCompat.Process` module, exporting `getProcessID`
+
## Version 0.7 (2023-03-15)
-- Remote `System.PosixCompat.User` module
+- Remove `System.PosixCompat.User` module
## Version 0.6 (2022-05-22)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unix-compat-0.7/src/System/PosixCompat/Process.hs new/unix-compat-0.7.1/src/System/PosixCompat/Process.hs
--- old/unix-compat-0.7/src/System/PosixCompat/Process.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/unix-compat-0.7.1/src/System/PosixCompat/Process.hs 2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,23 @@
+{-# LANGUAGE CPP #-}
+
+{-|
+This module intends to make the operations of @System.Posix.Process@ available
+on all platforms.
+-}
+module System.PosixCompat.Process (
+ getProcessID
+ ) where
+
+#ifdef mingw32_HOST_OS
+
+import System.Posix.Types (ProcessID)
+import System.Win32.Process (getCurrentProcessId)
+
+getProcessID :: IO ProcessID
+getProcessID = fromIntegral <$> getCurrentProcessId
+
+#else
+
+import System.Posix.Process
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unix-compat-0.7/src/System/PosixCompat.hs new/unix-compat-0.7.1/src/System/PosixCompat.hs
--- old/unix-compat-0.7/src/System/PosixCompat.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/unix-compat-0.7.1/src/System/PosixCompat.hs 2001-09-09 03:46:40.000000000 +0200
@@ -7,6 +7,7 @@
-}
module System.PosixCompat (
module System.PosixCompat.Files
+ , module System.PosixCompat.Process
, module System.PosixCompat.Temp
, module System.PosixCompat.Time
, module System.PosixCompat.Types
@@ -15,6 +16,7 @@
) where
import System.PosixCompat.Files
+import System.PosixCompat.Process
import System.PosixCompat.Temp
import System.PosixCompat.Time
import System.PosixCompat.Types
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unix-compat-0.7/tests/ProcessSpec.hs new/unix-compat-0.7.1/tests/ProcessSpec.hs
--- old/unix-compat-0.7/tests/ProcessSpec.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/unix-compat-0.7.1/tests/ProcessSpec.hs 2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,12 @@
+module ProcessSpec (processSpec) where
+
+import System.PosixCompat
+import Test.HUnit
+import Test.Hspec
+
+processSpec :: Spec
+processSpec = do
+ describe "getProcessID" $ do
+ it "should work on Windows and Unix" $ do
+ pid <- getProcessID
+ assert $ pid > 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unix-compat-0.7/tests/main.hs new/unix-compat-0.7.1/tests/main.hs
--- old/unix-compat-0.7/tests/main.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/unix-compat-0.7.1/tests/main.hs 2001-09-09 03:46:40.000000000 +0200
@@ -2,6 +2,7 @@
import MkstempSpec
import LinksSpec
+import ProcessSpec
import Test.Hspec
@@ -9,3 +10,4 @@
main = hspec $ do
mkstempSpec
linksSpec
+ processSpec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unix-compat-0.7/unix-compat.cabal new/unix-compat-0.7.1/unix-compat.cabal
--- old/unix-compat-0.7/unix-compat.cabal 2001-09-09 03:46:40.000000000 +0200
+++ new/unix-compat-0.7.1/unix-compat.cabal 2001-09-09 03:46:40.000000000 +0200
@@ -1,16 +1,16 @@
name: unix-compat
-version: 0.7
+version: 0.7.1
synopsis: Portable POSIX-compatibility layer.
description: This package provides portable implementations of parts
of the unix package. This package re-exports the unix
package when available. When it isn't available,
portable implementations are used.
-homepage: http://github.com/haskell-pkg-janitors/unix-compat
+homepage: https://github.com/haskell-pkg-janitors/unix-compat
license: BSD3
license-file: LICENSE
author: Björn Bringert, Duncan Coutts, Jacob Stanley, Bryan O'Sullivan
-maintainer: Mitchell Rosen <mitchellwrosen(a)gmail.com>
+maintainer: https://github.com/haskell-pkg-janitors
category: System
build-type: Simple
cabal-version: >= 1.10
@@ -20,7 +20,7 @@
source-repository head
type: git
- location: git@github.com:haskell-pkg-janitors/unix-compat.git
+ location: https://github.com/haskell-pkg-janitors/unix-compat.git
flag old-time
description: build against old-time package
@@ -36,6 +36,7 @@
System.PosixCompat
System.PosixCompat.Extensions
System.PosixCompat.Files
+ System.PosixCompat.Process
System.PosixCompat.Temp
System.PosixCompat.Time
System.PosixCompat.Types
@@ -85,6 +86,7 @@
other-modules:
MkstempSpec
LinksSpec
+ ProcessSpec
-- ghc-options:
-- -Wall
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mirror for openSUSE:Factory checked in at 2023-12-14 22:03:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mirror (Old)
and /work/SRC/openSUSE:Factory/.mirror.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mirror"
Thu Dec 14 22:03:11 2023 rev:19 rq:1132931 version:2.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/mirror/mirror.changes 2023-09-13 20:48:11.785847301 +0200
+++ /work/SRC/openSUSE:Factory/.mirror.new.25432/mirror.changes 2023-12-14 22:03:15.148309524 +0100
@@ -1,0 +2,6 @@
+Sun Dec 10 11:14:15 UTC 2023 - Walter Haidinger <obs-walter(a)haidinger.xyz>
+
+- Fix perl 5.38+ package separator warning (bnc#1214412)
+ * Added patch mirror-fix-perl-5.38-package-separator.patch
+
+-------------------------------------------------------------------
New:
----
mirror-fix-perl-5.38-package-separator.patch
BETA DEBUG BEGIN:
New:- Fix perl 5.38+ package separator warning (bnc#1214412)
* Added patch mirror-fix-perl-5.38-package-separator.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mirror.spec ++++++
--- /var/tmp/diff_new_pack.JqNuoc/_old 2023-12-14 22:03:15.876335784 +0100
+++ /var/tmp/diff_new_pack.JqNuoc/_new 2023-12-14 22:03:15.876335784 +0100
@@ -18,7 +18,7 @@
Name: mirror
Version: 2.9
-Release: 0
+Release: 911.3
Summary: Perl Scripts for Mirroring FTP Servers
License: SUSE-mirror
Group: Productivity/Networking/Web/Utilities
@@ -33,6 +33,7 @@
Patch6: dont-build-as-root.diff
Patch7: mirror-timelocal.patch
Patch8: mirror-dump.patch
+Patch9: mirror-fix-perl-5.38-package-separator.patch
Requires: perl = %{perl_version}
BuildArch: noarch
++++++ mirror-fix-perl-5.38-package-separator.patch ++++++
++++ 1579 lines (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package eza for openSUSE:Factory checked in at 2023-12-14 22:03:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/eza (Old)
and /work/SRC/openSUSE:Factory/.eza.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "eza"
Thu Dec 14 22:03:09 2023 rev:16 rq:1132929 version:0.17.0+0
Changes:
--------
--- /work/SRC/openSUSE:Factory/eza/eza.changes 2023-12-07 19:12:29.643881811 +0100
+++ /work/SRC/openSUSE:Factory/.eza.new.25432/eza.changes 2023-12-14 22:03:12.492213722 +0100
@@ -1,0 +2,27 @@
+Wed Dec 13 17:13:28 UTC 2023 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 0.17.0:
+ Breaking changes:
+ * Extend the +<FORMAT> custom time style, accept an optional
+ ...<newline><FORMAT_2> to support setting a different custom time
+ style for recent files.
+ The behavior changes if the previous format string
+ already contains <newline>. Previously <newline>s are used as-is,
+ now the first newline will be interpreted as separation for non-recent
+ and recnet format; any content after the second newline, if any, are
+ simply ignored.
+ The implementation rejects some previously accepted
+ inputs, primarily empty non-recent format string. --time-style=+
+ and --time-style='+<newline>' will now get a panic message.
+ Bug Fixes:
+ * Add color scale mode to the bash completions
+ * Add color scale mode to the fish completions
+ * Quote symbolic links correctly when their destinations contain spaces
+ Documentation:
+ * Modify documentation about custom time style
+ Features:
+ * Add BSD file flags
+ * Add Windows file attributes
+ * [breaking] Support different custom time style for non-recent/recent files
+
+-------------------------------------------------------------------
Old:
----
eza-0.16.3+0.tar.zst
New:
----
eza-0.17.0+0.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ eza.spec ++++++
--- /var/tmp/diff_new_pack.LrEA4d/_old 2023-12-14 22:03:14.384281967 +0100
+++ /var/tmp/diff_new_pack.LrEA4d/_new 2023-12-14 22:03:14.384281967 +0100
@@ -17,7 +17,7 @@
Name: eza
-Version: 0.16.3+0
+Version: 0.17.0+0
Release: 0
Summary: Replacement for ls written in Rust
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.LrEA4d/_old 2023-12-14 22:03:14.416283121 +0100
+++ /var/tmp/diff_new_pack.LrEA4d/_new 2023-12-14 22:03:14.420283265 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/eza-community/eza.git</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="scm">git</param>
- <param name="revision">v0.16.3</param>
+ <param name="revision">v0.17.0</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<param name="versionrewrite-replacement">\1</param>
++++++ eza.obsinfo ++++++
--- /var/tmp/diff_new_pack.LrEA4d/_old 2023-12-14 22:03:14.456284564 +0100
+++ /var/tmp/diff_new_pack.LrEA4d/_new 2023-12-14 22:03:14.460284708 +0100
@@ -1,5 +1,5 @@
name: eza
-version: 0.16.3+0
-mtime: 1701924672
-commit: 0b737d542c2e622c400269b6d394ae660e232c30
+version: 0.17.0+0
+mtime: 1702486142
+commit: edcf392c78abd8abea76d4f59fb639ad134a0d8b
++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.LrEA4d/_old and /var/tmp/diff_new_pack.LrEA4d/_new differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package terragrunt for openSUSE:Factory checked in at 2023-12-14 22:03:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/terragrunt (Old)
and /work/SRC/openSUSE:Factory/.terragrunt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terragrunt"
Thu Dec 14 22:03:06 2023 rev:88 rq:1133070 version:0.54.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes 2023-12-12 19:32:07.612232589 +0100
+++ /work/SRC/openSUSE:Factory/.terragrunt.new.25432/terragrunt.changes 2023-12-14 22:03:10.240132492 +0100
@@ -1,0 +2,12 @@
+Thu Dec 14 10:57:53 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 0.54.3:
+ * Catalog handling https urls (#2850)
+
+-------------------------------------------------------------------
+Wed Dec 13 15:46:23 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 0.54.2:
+ * Parse frontmatter data in the `catalog` command (#2843)
+
+-------------------------------------------------------------------
Old:
----
terragrunt-0.54.1.obscpio
New:
----
terragrunt-0.54.3.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ terragrunt.spec ++++++
--- /var/tmp/diff_new_pack.e4L4rB/_old 2023-12-14 22:03:11.776187896 +0100
+++ /var/tmp/diff_new_pack.e4L4rB/_new 2023-12-14 22:03:11.776187896 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: terragrunt
-Version: 0.54.1
+Version: 0.54.3
Release: 0
Summary: Thin wrapper for Terraform for working with multiple Terraform modules
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.e4L4rB/_old 2023-12-14 22:03:11.808189050 +0100
+++ /var/tmp/diff_new_pack.e4L4rB/_new 2023-12-14 22:03:11.812189195 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/gruntwork-io/terragrunt</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.54.1</param>
+ <param name="revision">v0.54.3</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.e4L4rB/_old 2023-12-14 22:03:11.832189916 +0100
+++ /var/tmp/diff_new_pack.e4L4rB/_new 2023-12-14 22:03:11.836190060 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/gruntwork-io/terragrunt</param>
- <param name="changesrevision">cb46c5d8ac7789a677cce121a7f11fc8cceeec06</param></service></servicedata>
+ <param name="changesrevision">ce168b0039335c4aec6c211adf1ac2c7776a6012</param></service></servicedata>
(No newline at EOF)
++++++ terragrunt-0.54.1.obscpio -> terragrunt-0.54.3.obscpio ++++++
/work/SRC/openSUSE:Factory/terragrunt/terragrunt-0.54.1.obscpio /work/SRC/openSUSE:Factory/.terragrunt.new.25432/terragrunt-0.54.3.obscpio differ: char 50, line 1
++++++ terragrunt.obsinfo ++++++
--- /var/tmp/diff_new_pack.e4L4rB/_old 2023-12-14 22:03:11.876191503 +0100
+++ /var/tmp/diff_new_pack.e4L4rB/_new 2023-12-14 22:03:11.880191648 +0100
@@ -1,5 +1,5 @@
name: terragrunt
-version: 0.54.1
-mtime: 1702312411
-commit: cb46c5d8ac7789a677cce121a7f11fc8cceeec06
+version: 0.54.3
+mtime: 1702501571
+commit: ce168b0039335c4aec6c211adf1ac2c7776a6012
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz /work/SRC/openSUSE:Factory/.terragrunt.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-certbot-dns-luadns for openSUSE:Factory checked in at 2023-12-14 22:02:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-certbot-dns-luadns (Old)
and /work/SRC/openSUSE:Factory/.python-certbot-dns-luadns.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certbot-dns-luadns"
Thu Dec 14 22:02:59 2023 rev:40 rq:1133008 version:2.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-certbot-dns-luadns/python-certbot-dns-luadns.changes 2023-06-07 23:08:53.723856689 +0200
+++ /work/SRC/openSUSE:Factory/.python-certbot-dns-luadns.new.25432/python-certbot-dns-luadns.changes 2023-12-14 22:03:04.907940167 +0100
@@ -1,0 +2,28 @@
+Thu Dec 7 10:46:36 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- update to version 2.8.0
+ * sync with the main certbot package
+
+-------------------------------------------------------------------
+Thu Nov 16 13:01:23 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- update to version 2.7.4
+ * Fixed a bug introduced in version 2.7.0 of our Lexicon based DNS plugins that
+ caused them to fail to find the DNS zone that needs to be modified in some
+ cases.
+
+-------------------------------------------------------------------
+Tue Oct 31 08:13:45 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- update to version 2.7.3
+ * Add a new base class certbot.plugins.dns_common_lexicon.LexiconDNSAuthenticator to implement a DNS
+ authenticator plugin backed by Lexicon to communicate with the provider DNS API. This approach relies
+ heavily on conventions to reduce the implementation complexity of a new plugin.
+ * Add a new test base class certbot.plugins.dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest to
+ help testing DNS plugins implemented on top of LexiconDNSAuthenticator.
+ * Deprecates LexiconClient base class and build_lexicon_config function in
+ certbot.plugins.dns_common_lexicon module in favor of LexiconDNSAuthenticator.
+ * Deprecates BaseLexiconAuthenticatorTest and BaseLexiconClientTest test base classes of
+ certbot.plugins.dns_test_common_lexicon module in favor of BaseLexiconDNSAuthenticatorTest.
+
+-------------------------------------------------------------------
Old:
----
certbot-dns-luadns-2.6.0.tar.gz
New:
----
certbot-dns-luadns-2.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-certbot-dns-luadns.spec ++++++
--- /var/tmp/diff_new_pack.zs8jrT/_old 2023-12-14 22:03:05.507961809 +0100
+++ /var/tmp/diff_new_pack.zs8jrT/_new 2023-12-14 22:03:05.511961953 +0100
@@ -19,21 +19,21 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-certbot-dns-luadns
-Version: 2.6.0
+Version: 2.8.0
Release: 0
Summary: LuaDNS Authenticator plugin for Certbot
License: Apache-2.0
URL: https://github.com/certbot/certbot
Source: https://files.pythonhosted.org/packages/source/c/certbot-dns-luadns/certbot…
BuildRequires: %{python_module certbot >= %{version}}
-BuildRequires: %{python_module dns-lexicon >= 3.2.1}
+BuildRequires: %{python_module dns-lexicon >= 3.14.1}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-acme >= %{version}
Requires: python-certbot >= %{version}
-Requires: python-dns-lexicon >= 3.2.1
+Requires: python-dns-lexicon >= 3.14.1
BuildArch: noarch
%python_subpackages
++++++ certbot-dns-luadns-2.6.0.tar.gz -> certbot-dns-luadns-2.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/PKG-INFO new/certbot-dns-luadns-2.8.0/PKG-INFO
--- old/certbot-dns-luadns-2.6.0/PKG-INFO 2023-05-09 21:44:55.711858500 +0200
+++ new/certbot-dns-luadns-2.8.0/PKG-INFO 2023-12-05 20:14:09.823026700 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: certbot-dns-luadns
-Version: 2.6.0
+Version: 2.8.0
Summary: LuaDNS Authenticator plugin for Certbot
Home-page: https://github.com/certbot/certbot
Author: Certbot Project
@@ -13,7 +13,6 @@
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
@@ -24,7 +23,14 @@
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE.txt
+Requires-Dist: dns-lexicon>=3.14.1
+Requires-Dist: setuptools>=41.6.0
+Requires-Dist: acme>=2.8.0
+Requires-Dist: certbot>=2.8.0
Provides-Extra: docs
+Requires-Dist: Sphinx>=1.0; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
Provides-Extra: test
-License-File: LICENSE.txt
+Requires-Dist: pytest; extra == "test"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/certbot_dns_luadns/_internal/dns_luadns.py new/certbot-dns-luadns-2.8.0/certbot_dns_luadns/_internal/dns_luadns.py
--- old/certbot-dns-luadns-2.6.0/certbot_dns_luadns/_internal/dns_luadns.py 2023-05-09 21:44:36.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/certbot_dns_luadns/_internal/dns_luadns.py 2023-12-05 20:13:52.000000000 +0100
@@ -2,34 +2,33 @@
import logging
from typing import Any
from typing import Callable
-from typing import cast
-from typing import Optional
-from lexicon.providers import luadns
from requests import HTTPError
from certbot import errors
-from certbot.plugins import dns_common
from certbot.plugins import dns_common_lexicon
-from certbot.plugins.dns_common import CredentialsConfiguration
logger = logging.getLogger(__name__)
ACCOUNT_URL = 'https://api.luadns.com/settings'
-class Authenticator(dns_common.DNSAuthenticator):
+class Authenticator(dns_common_lexicon.LexiconDNSAuthenticator):
"""DNS Authenticator for LuaDNS
This Authenticator uses the LuaDNS API to fulfill a dns-01 challenge.
"""
description = 'Obtain certificates using a DNS TXT record (if you are using LuaDNS for DNS).'
- ttl = 60
def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, **kwargs)
- self.credentials: Optional[CredentialsConfiguration] = None
+ self._add_provider_option('email',
+ 'email address associated with LuaDNS account',
+ 'auth_username')
+ self._add_provider_option('token',
+ f'API token for LuaDNS account, obtained from {ACCOUNT_URL}',
+ 'auth_token')
@classmethod
def add_parser_arguments(cls, add: Callable[..., None],
@@ -41,46 +40,9 @@
return 'This plugin configures a DNS TXT record to respond to a dns-01 challenge using ' + \
'the LuaDNS API.'
- def _setup_credentials(self) -> None:
- self.credentials = self._configure_credentials(
- 'credentials',
- 'LuaDNS credentials INI file',
- {
- 'email': 'email address associated with LuaDNS account',
- 'token': 'API token for LuaDNS account, obtained from {0}'.format(ACCOUNT_URL)
- }
- )
-
- def _perform(self, domain: str, validation_name: str, validation: str) -> None:
- self._get_luadns_client().add_txt_record(domain, validation_name, validation)
-
- def _cleanup(self, domain: str, validation_name: str, validation: str) -> None:
- self._get_luadns_client().del_txt_record(domain, validation_name, validation)
-
- def _get_luadns_client(self) -> "_LuaDNSLexiconClient":
- if not self.credentials: # pragma: no cover
- raise errors.Error("Plugin has not been prepared.")
- return _LuaDNSLexiconClient(cast(str, self.credentials.conf('email')),
- cast(str, self.credentials.conf('token')),
- self.ttl)
-
-
-class _LuaDNSLexiconClient(dns_common_lexicon.LexiconClient):
- """
- Encapsulates all communication with the LuaDNS via Lexicon.
- """
-
- def __init__(self, email: str, token: str, ttl: int) -> None:
- super().__init__()
-
- config = dns_common_lexicon.build_lexicon_config('luadns', {
- 'ttl': ttl,
- }, {
- 'auth_username': email,
- 'auth_token': token,
- })
-
- self.provider = luadns.Provider(config)
+ @property
+ def _provider_name(self) -> str:
+ return 'luadns'
def _handle_http_error(self, e: HTTPError, domain_name: str) -> errors.PluginError:
hint = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/certbot_dns_luadns/_internal/tests/dns_luadns_test.py new/certbot-dns-luadns-2.8.0/certbot_dns_luadns/_internal/tests/dns_luadns_test.py
--- old/certbot-dns-luadns-2.6.0/certbot_dns_luadns/_internal/tests/dns_luadns_test.py 2023-05-09 21:44:36.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/certbot_dns_luadns/_internal/tests/dns_luadns_test.py 2023-12-05 20:13:52.000000000 +0100
@@ -1,10 +1,9 @@
"""Tests for certbot_dns_luadns._internal.dns_luadns."""
-
import sys
-import unittest
from unittest import mock
import pytest
+from requests import Response
from requests.exceptions import HTTPError
from certbot.compat import os
@@ -17,7 +16,9 @@
class AuthenticatorTest(test_util.TempDirTestCase,
- dns_test_common_lexicon.BaseLexiconAuthenticatorTest):
+ dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
+
+ LOGIN_ERROR = HTTPError("401 Client Error: Unauthorized for url: ...", response=Response())
def setUp(self):
super().setUp()
@@ -32,23 +33,6 @@
self.auth = Authenticator(self.config, "luadns")
- self.mock_client = mock.MagicMock()
- # _get_luadns_client | pylint: disable=protected-access
- self.auth._get_luadns_client = mock.MagicMock(return_value=self.mock_client)
-
-
-class LuaDNSLexiconClientTest(unittest.TestCase, dns_test_common_lexicon.BaseLexiconClientTest):
-
- LOGIN_ERROR = HTTPError("401 Client Error: Unauthorized for url: ...")
-
- def setUp(self):
- from certbot_dns_luadns._internal.dns_luadns import _LuaDNSLexiconClient
-
- self.client = _LuaDNSLexiconClient(EMAIL, TOKEN, 0)
-
- self.provider_mock = mock.MagicMock()
- self.client.provider = self.provider_mock
-
if __name__ == "__main__":
sys.exit(pytest.main(sys.argv[1:] + [__file__])) # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/certbot_dns_luadns.egg-info/PKG-INFO new/certbot-dns-luadns-2.8.0/certbot_dns_luadns.egg-info/PKG-INFO
--- old/certbot-dns-luadns-2.6.0/certbot_dns_luadns.egg-info/PKG-INFO 2023-05-09 21:44:55.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/certbot_dns_luadns.egg-info/PKG-INFO 2023-12-05 20:14:09.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: certbot-dns-luadns
-Version: 2.6.0
+Version: 2.8.0
Summary: LuaDNS Authenticator plugin for Certbot
Home-page: https://github.com/certbot/certbot
Author: Certbot Project
@@ -13,7 +13,6 @@
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
@@ -24,7 +23,14 @@
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE.txt
+Requires-Dist: dns-lexicon>=3.14.1
+Requires-Dist: setuptools>=41.6.0
+Requires-Dist: acme>=2.8.0
+Requires-Dist: certbot>=2.8.0
Provides-Extra: docs
+Requires-Dist: Sphinx>=1.0; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
Provides-Extra: test
-License-File: LICENSE.txt
+Requires-Dist: pytest; extra == "test"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/certbot_dns_luadns.egg-info/requires.txt new/certbot-dns-luadns-2.8.0/certbot_dns_luadns.egg-info/requires.txt
--- old/certbot-dns-luadns-2.6.0/certbot_dns_luadns.egg-info/requires.txt 2023-05-09 21:44:55.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/certbot_dns_luadns.egg-info/requires.txt 2023-12-05 20:14:09.000000000 +0100
@@ -1,7 +1,7 @@
-dns-lexicon>=3.2.1
+dns-lexicon>=3.14.1
setuptools>=41.6.0
-acme>=2.6.0
-certbot>=2.6.0
+acme>=2.8.0
+certbot>=2.8.0
[docs]
Sphinx>=1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/docs/conf.py new/certbot-dns-luadns-2.8.0/docs/conf.py
--- old/certbot-dns-luadns-2.6.0/docs/conf.py 2023-05-09 21:44:36.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/docs/conf.py 2023-12-05 20:13:52.000000000 +0100
@@ -16,7 +16,7 @@
# 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.
#
-import os
+# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
@@ -35,7 +35,8 @@
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
- 'sphinx.ext.viewcode']
+ 'sphinx.ext.viewcode',
+ 'sphinx_rtd_theme']
autodoc_member_order = 'bysource'
autodoc_default_flags = ['show-inheritance']
@@ -93,14 +94,7 @@
# a list of builtin themes.
#
-# https://docs.readthedocs.io/en/stable/faq.html#i-want-to-use-the-read-the-d…
-# on_rtd is whether we are on readthedocs.org
-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()]
-# otherwise, readthedocs.org uses their theme by default, so no need to specify it
+html_theme = 'sphinx_rtd_theme'
# 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/setup.py new/certbot-dns-luadns-2.8.0/setup.py
--- old/certbot-dns-luadns-2.6.0/setup.py 2023-05-09 21:44:37.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/setup.py 2023-12-05 20:13:53.000000000 +0100
@@ -4,14 +4,16 @@
from setuptools import find_packages
from setuptools import setup
-version = '2.6.0'
+version = '2.8.0'
install_requires = [
- 'dns-lexicon>=3.2.1',
+ 'dns-lexicon>=3.14.1',
'setuptools>=41.6.0',
]
-if not os.environ.get('SNAP_BUILD'):
+if os.environ.get('SNAP_BUILD'):
+ install_requires.append('packaging')
+else:
install_requires.extend([
# We specify the minimum acme and certbot version as the current plugin
# version for simplicity. See
@@ -19,11 +21,6 @@
f'acme>={version}',
f'certbot>={version}',
])
-elif 'bdist_wheel' in sys.argv[1:]:
- raise RuntimeError('Unset SNAP_BUILD when building wheels '
- 'to include certbot dependencies.')
-if os.environ.get('SNAP_BUILD'):
- install_requires.append('packaging')
docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
@@ -42,7 +39,7 @@
author="Certbot Project",
author_email='certbot-dev(a)eff.org',
license='Apache License 2.0',
- python_requires='>=3.7',
+ python_requires='>=3.8',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Plugins',
@@ -51,7 +48,6 @@
'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',
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-certbot-dns-dnsimple for openSUSE:Factory checked in at 2023-12-14 22:02:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-certbot-dns-dnsimple (Old)
and /work/SRC/openSUSE:Factory/.python-certbot-dns-dnsimple.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certbot-dns-dnsimple"
Thu Dec 14 22:02:55 2023 rev:40 rq:1133004 version:2.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-certbot-dns-dnsimple/python-certbot-dns-dnsimple.changes 2023-06-07 23:08:56.863874922 +0200
+++ /work/SRC/openSUSE:Factory/.python-certbot-dns-dnsimple.new.25432/python-certbot-dns-dnsimple.changes 2023-12-14 22:02:57.635677866 +0100
@@ -1,0 +2,28 @@
+Thu Dec 7 10:46:07 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- update to version 2.8.0
+ * sync with the main certbot package
+
+-------------------------------------------------------------------
+Thu Nov 16 13:00:26 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- update to version 2.7.4
+ * Fixed a bug introduced in version 2.7.0 of our Lexicon based DNS plugins that
+ caused them to fail to find the DNS zone that needs to be modified in some
+ cases.
+
+-------------------------------------------------------------------
+Tue Oct 31 08:13:05 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- update to version 2.7.3
+ * Add a new base class certbot.plugins.dns_common_lexicon.LexiconDNSAuthenticator to implement a DNS
+ authenticator plugin backed by Lexicon to communicate with the provider DNS API. This approach relies
+ heavily on conventions to reduce the implementation complexity of a new plugin.
+ * Add a new test base class certbot.plugins.dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest to
+ help testing DNS plugins implemented on top of LexiconDNSAuthenticator.
+ * Deprecates LexiconClient base class and build_lexicon_config function in
+ certbot.plugins.dns_common_lexicon module in favor of LexiconDNSAuthenticator.
+ * Deprecates BaseLexiconAuthenticatorTest and BaseLexiconClientTest test base classes of
+ certbot.plugins.dns_test_common_lexicon module in favor of BaseLexiconDNSAuthenticatorTest.
+
+-------------------------------------------------------------------
Old:
----
certbot-dns-dnsimple-2.6.0.tar.gz
New:
----
certbot-dns-dnsimple-2.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-certbot-dns-dnsimple.spec ++++++
--- /var/tmp/diff_new_pack.fYnZlS/_old 2023-12-14 22:02:58.159696766 +0100
+++ /var/tmp/diff_new_pack.fYnZlS/_new 2023-12-14 22:02:58.159696766 +0100
@@ -19,21 +19,21 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-certbot-dns-dnsimple
-Version: 2.6.0
+Version: 2.8.0
Release: 0
Summary: DNSimple Authenticator plugin for Certbot
License: Apache-2.0
URL: https://github.com/certbot/certbot
Source: https://files.pythonhosted.org/packages/source/c/certbot-dns-dnsimple/certb…
BuildRequires: %{python_module certbot >= %{version}}
-BuildRequires: %{python_module dns-lexicon >= 3.2.1}
+BuildRequires: %{python_module dns-lexicon >= 3.14.1}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-acme >= %{version}
Requires: python-certbot >= %{version}
-Requires: python-dns-lexicon >= 3.2.1
+Requires: python-dns-lexicon >= 3.14.1
BuildArch: noarch
%python_subpackages
++++++ certbot-dns-dnsimple-2.6.0.tar.gz -> certbot-dns-dnsimple-2.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-dnsimple-2.6.0/PKG-INFO new/certbot-dns-dnsimple-2.8.0/PKG-INFO
--- old/certbot-dns-dnsimple-2.6.0/PKG-INFO 2023-05-09 21:44:48.629691800 +0200
+++ new/certbot-dns-dnsimple-2.8.0/PKG-INFO 2023-12-05 20:14:03.039121600 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: certbot-dns-dnsimple
-Version: 2.6.0
+Version: 2.8.0
Summary: DNSimple DNS Authenticator plugin for Certbot
Home-page: https://github.com/certbot/certbot
Author: Certbot Project
@@ -13,7 +13,6 @@
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
@@ -24,7 +23,14 @@
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE.txt
+Requires-Dist: dns-lexicon>=3.14.1
+Requires-Dist: setuptools>=41.6.0
+Requires-Dist: acme>=2.8.0
+Requires-Dist: certbot>=2.8.0
Provides-Extra: docs
+Requires-Dist: Sphinx>=1.0; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
Provides-Extra: test
-License-File: LICENSE.txt
+Requires-Dist: pytest; extra == "test"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-dnsimple-2.6.0/certbot_dns_dnsimple/_internal/dns_dnsimple.py new/certbot-dns-dnsimple-2.8.0/certbot_dns_dnsimple/_internal/dns_dnsimple.py
--- old/certbot-dns-dnsimple-2.6.0/certbot_dns_dnsimple/_internal/dns_dnsimple.py 2023-05-09 21:44:36.000000000 +0200
+++ new/certbot-dns-dnsimple-2.8.0/certbot_dns_dnsimple/_internal/dns_dnsimple.py 2023-12-05 20:13:52.000000000 +0100
@@ -2,34 +2,30 @@
import logging
from typing import Any
from typing import Callable
-from typing import cast
-from typing import Optional
-from lexicon.providers import dnsimple
from requests import HTTPError
from certbot import errors
-from certbot.plugins import dns_common
from certbot.plugins import dns_common_lexicon
-from certbot.plugins.dns_common import CredentialsConfiguration
logger = logging.getLogger(__name__)
ACCOUNT_URL = 'https://dnsimple.com/user'
-class Authenticator(dns_common.DNSAuthenticator):
+class Authenticator(dns_common_lexicon.LexiconDNSAuthenticator):
"""DNS Authenticator for DNSimple
This Authenticator uses the DNSimple v2 API to fulfill a dns-01 challenge.
"""
description = 'Obtain certificates using a DNS TXT record (if you are using DNSimple for DNS).'
- ttl = 60
def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, **kwargs)
- self.credentials: Optional[CredentialsConfiguration] = None
+ self._add_provider_option('token',
+ f'User access token for DNSimple v2 API. (See {ACCOUNT_URL}.)',
+ 'auth_token')
@classmethod
def add_parser_arguments(cls, add: Callable[..., None],
@@ -41,42 +37,9 @@
return 'This plugin configures a DNS TXT record to respond to a dns-01 challenge using ' + \
'the DNSimple API.'
- def _setup_credentials(self) -> None:
- self.credentials = self._configure_credentials(
- 'credentials',
- 'DNSimple credentials INI file',
- {
- 'token': 'User access token for DNSimple v2 API. (See {0}.)'.format(ACCOUNT_URL)
- }
- )
-
- def _perform(self, domain: str, validation_name: str, validation: str) -> None:
- self._get_dnsimple_client().add_txt_record(domain, validation_name, validation)
-
- def _cleanup(self, domain: str, validation_name: str, validation: str) -> None:
- self._get_dnsimple_client().del_txt_record(domain, validation_name, validation)
-
- def _get_dnsimple_client(self) -> "_DNSimpleLexiconClient":
- if not self.credentials: # pragma: no cover
- raise errors.Error("Plugin has not been prepared.")
- return _DNSimpleLexiconClient(cast(str, self.credentials.conf('token')), self.ttl)
-
-
-class _DNSimpleLexiconClient(dns_common_lexicon.LexiconClient):
- """
- Encapsulates all communication with the DNSimple via Lexicon.
- """
-
- def __init__(self, token: str, ttl: int) -> None:
- super().__init__()
-
- config = dns_common_lexicon.build_lexicon_config('dnssimple', {
- 'ttl': ttl,
- }, {
- 'auth_token': token,
- })
-
- self.provider = dnsimple.Provider(config)
+ @property
+ def _provider_name(self) -> str:
+ return 'dnsimple'
def _handle_http_error(self, e: HTTPError, domain_name: str) -> errors.PluginError:
hint = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-dnsimple-2.6.0/certbot_dns_dnsimple/_internal/tests/dns_dnsimple_test.py new/certbot-dns-dnsimple-2.8.0/certbot_dns_dnsimple/_internal/tests/dns_dnsimple_test.py
--- old/certbot-dns-dnsimple-2.6.0/certbot_dns_dnsimple/_internal/tests/dns_dnsimple_test.py 2023-05-09 21:44:36.000000000 +0200
+++ new/certbot-dns-dnsimple-2.8.0/certbot_dns_dnsimple/_internal/tests/dns_dnsimple_test.py 2023-12-05 20:13:52.000000000 +0100
@@ -1,10 +1,9 @@
"""Tests for certbot_dns_dnsimple._internal.dns_dnsimple."""
-
-import sys
-import unittest
from unittest import mock
+import sys
import pytest
+from requests import Response
from requests.exceptions import HTTPError
from certbot.compat import os
@@ -16,7 +15,9 @@
class AuthenticatorTest(test_util.TempDirTestCase,
- dns_test_common_lexicon.BaseLexiconAuthenticatorTest):
+ dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
+
+ LOGIN_ERROR = HTTPError('401 Client Error: Unauthorized for url: ...', response=Response())
def setUp(self):
super().setUp()
@@ -31,23 +32,6 @@
self.auth = Authenticator(self.config, "dnsimple")
- self.mock_client = mock.MagicMock()
- # _get_dnsimple_client | pylint: disable=protected-access
- self.auth._get_dnsimple_client = mock.MagicMock(return_value=self.mock_client)
-
-
-class DNSimpleLexiconClientTest(unittest.TestCase, dns_test_common_lexicon.BaseLexiconClientTest):
-
- LOGIN_ERROR = HTTPError('401 Client Error: Unauthorized for url: ...')
-
- def setUp(self):
- from certbot_dns_dnsimple._internal.dns_dnsimple import _DNSimpleLexiconClient
-
- self.client = _DNSimpleLexiconClient(TOKEN, 0)
-
- self.provider_mock = mock.MagicMock()
- self.client.provider = self.provider_mock
-
if __name__ == "__main__":
sys.exit(pytest.main(sys.argv[1:] + [__file__])) # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-dnsimple-2.6.0/certbot_dns_dnsimple.egg-info/PKG-INFO new/certbot-dns-dnsimple-2.8.0/certbot_dns_dnsimple.egg-info/PKG-INFO
--- old/certbot-dns-dnsimple-2.6.0/certbot_dns_dnsimple.egg-info/PKG-INFO 2023-05-09 21:44:48.000000000 +0200
+++ new/certbot-dns-dnsimple-2.8.0/certbot_dns_dnsimple.egg-info/PKG-INFO 2023-12-05 20:14:03.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: certbot-dns-dnsimple
-Version: 2.6.0
+Version: 2.8.0
Summary: DNSimple DNS Authenticator plugin for Certbot
Home-page: https://github.com/certbot/certbot
Author: Certbot Project
@@ -13,7 +13,6 @@
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
@@ -24,7 +23,14 @@
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE.txt
+Requires-Dist: dns-lexicon>=3.14.1
+Requires-Dist: setuptools>=41.6.0
+Requires-Dist: acme>=2.8.0
+Requires-Dist: certbot>=2.8.0
Provides-Extra: docs
+Requires-Dist: Sphinx>=1.0; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
Provides-Extra: test
-License-File: LICENSE.txt
+Requires-Dist: pytest; extra == "test"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-dnsimple-2.6.0/certbot_dns_dnsimple.egg-info/requires.txt new/certbot-dns-dnsimple-2.8.0/certbot_dns_dnsimple.egg-info/requires.txt
--- old/certbot-dns-dnsimple-2.6.0/certbot_dns_dnsimple.egg-info/requires.txt 2023-05-09 21:44:48.000000000 +0200
+++ new/certbot-dns-dnsimple-2.8.0/certbot_dns_dnsimple.egg-info/requires.txt 2023-12-05 20:14:03.000000000 +0100
@@ -1,7 +1,7 @@
-dns-lexicon>=3.2.1
+dns-lexicon>=3.14.1
setuptools>=41.6.0
-acme>=2.6.0
-certbot>=2.6.0
+acme>=2.8.0
+certbot>=2.8.0
[docs]
Sphinx>=1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-dnsimple-2.6.0/docs/conf.py new/certbot-dns-dnsimple-2.8.0/docs/conf.py
--- old/certbot-dns-dnsimple-2.6.0/docs/conf.py 2023-05-09 21:44:36.000000000 +0200
+++ new/certbot-dns-dnsimple-2.8.0/docs/conf.py 2023-12-05 20:13:52.000000000 +0100
@@ -16,7 +16,7 @@
# 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.
#
-import os
+# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
@@ -35,7 +35,8 @@
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
- 'sphinx.ext.viewcode']
+ 'sphinx.ext.viewcode',
+ 'sphinx_rtd_theme']
autodoc_member_order = 'bysource'
autodoc_default_flags = ['show-inheritance']
@@ -93,14 +94,7 @@
# a list of builtin themes.
#
-# https://docs.readthedocs.io/en/stable/faq.html#i-want-to-use-the-read-the-d…
-# on_rtd is whether we are on readthedocs.org
-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()]
-# otherwise, readthedocs.org uses their theme by default, so no need to specify it
+html_theme = 'sphinx_rtd_theme'
# 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-dnsimple-2.6.0/setup.py new/certbot-dns-dnsimple-2.8.0/setup.py
--- old/certbot-dns-dnsimple-2.6.0/setup.py 2023-05-09 21:44:37.000000000 +0200
+++ new/certbot-dns-dnsimple-2.8.0/setup.py 2023-12-05 20:13:53.000000000 +0100
@@ -4,16 +4,18 @@
from setuptools import find_packages
from setuptools import setup
-version = '2.6.0'
+version = '2.8.0'
install_requires = [
# This version of lexicon is required to address the problem described in
# https://github.com/AnalogJ/lexicon/issues/387.
- 'dns-lexicon>=3.2.1',
+ 'dns-lexicon>=3.14.1',
'setuptools>=41.6.0',
]
-if not os.environ.get('SNAP_BUILD'):
+if os.environ.get('SNAP_BUILD'):
+ install_requires.append('packaging')
+else:
install_requires.extend([
# We specify the minimum acme and certbot version as the current plugin
# version for simplicity. See
@@ -21,11 +23,6 @@
f'acme>={version}',
f'certbot>={version}',
])
-elif 'bdist_wheel' in sys.argv[1:]:
- raise RuntimeError('Unset SNAP_BUILD when building wheels '
- 'to include certbot dependencies.')
-if os.environ.get('SNAP_BUILD'):
- install_requires.append('packaging')
docs_extras = [
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
@@ -44,7 +41,7 @@
author="Certbot Project",
author_email='certbot-dev(a)eff.org',
license='Apache License 2.0',
- python_requires='>=3.7',
+ python_requires='>=3.8',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Plugins',
@@ -53,7 +50,6 @@
'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',
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-certbot for openSUSE:Factory checked in at 2023-12-14 22:02:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-certbot (Old)
and /work/SRC/openSUSE:Factory/.python-certbot.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certbot"
Thu Dec 14 22:02:50 2023 rev:48 rq:1133000 version:2.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-certbot/python-certbot.changes 2023-11-06 21:15:11.089266719 +0100
+++ /work/SRC/openSUSE:Factory/.python-certbot.new.25432/python-certbot.changes 2023-12-14 22:02:52.223482654 +0100
@@ -1,0 +2,14 @@
+Thu Dec 7 10:40:28 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- Update to 2.8.0
+ * Support for Python 3.7 was removed.
+ * Stop using the deprecated pkg_resources API included in setuptools.
+
+-------------------------------------------------------------------
+Thu Nov 16 12:56:34 UTC 2023 - Markéta Machová <mmachova(a)suse.com>
+
+- Update to 2.7.4
+ * Fixed a bug introduced in version 2.7.0 that caused interactively entered
+ webroot plugin values to not be saved for renewal.
+
+-------------------------------------------------------------------
Old:
----
certbot-2.7.3.tar.gz
New:
----
certbot-2.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-certbot.spec ++++++
--- /var/tmp/diff_new_pack.S7d3A8/_old 2023-12-14 22:02:52.991510356 +0100
+++ /var/tmp/diff_new_pack.S7d3A8/_new 2023-12-14 22:02:52.995510501 +0100
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-certbot
-Version: 2.7.3
+Version: 2.8.0
Release: 0
Summary: ACME client
License: Apache-2.0
@@ -69,6 +69,7 @@
%prep
%setup -q -n certbot-%{version}
+%autopatch -p1
%build
%python_build
++++++ certbot-2.7.3.tar.gz -> certbot-2.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/CHANGELOG.md new/certbot-2.8.0/CHANGELOG.md
--- old/certbot-2.7.3/CHANGELOG.md 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/CHANGELOG.md 2023-12-05 20:13:52.000000000 +0100
@@ -2,6 +2,34 @@
Certbot adheres to [Semantic Versioning](https://semver.org/).
+## 2.8.0 - 2023-12-05
+
+### Added
+
+* Added support for [Alpine Linux](https://www.alpinelinux.org) distribution when is used the apache plugin
+
+### Changed
+
+* Support for Python 3.7 was removed.
+
+### Fixed
+
+* Stop using the deprecated `pkg_resources` API included in `setuptools`.
+
+More details about these changes can be found on our GitHub repo.
+
+## 2.7.4 - 2023-11-01
+
+### Fixed
+
+* Fixed a bug introduced in version 2.7.0 that caused interactively entered
+ webroot plugin values to not be saved for renewal.
+* Fixed a bug introduced in version 2.7.0 of our Lexicon based DNS plugins that
+ caused them to fail to find the DNS zone that needs to be modified in some
+ cases.
+
+More details about these changes can be found on our GitHub repo.
+
## 2.7.3 - 2023-10-24
### Fixed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/PKG-INFO new/certbot-2.8.0/PKG-INFO
--- old/certbot-2.7.3/PKG-INFO 2023-10-24 22:42:05.459497700 +0200
+++ new/certbot-2.8.0/PKG-INFO 2023-12-05 20:13:53.303259000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: certbot
-Version: 2.7.3
+Version: 2.8.0
Summary: ACME client
Home-page: https://github.com/certbot/certbot
Author: Certbot Project
@@ -14,7 +14,6 @@
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
@@ -25,12 +24,75 @@
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE.txt
+Requires-Dist: acme>=2.8.0
+Requires-Dist: ConfigArgParse>=1.5.3
+Requires-Dist: configobj>=5.0.6
+Requires-Dist: cryptography>=3.2.1
+Requires-Dist: distro>=1.0.1
+Requires-Dist: importlib_resources>=1.3.1; python_version < "3.9"
+Requires-Dist: importlib_metadata>=4.6; python_version < "3.10"
+Requires-Dist: josepy>=1.13.0
+Requires-Dist: parsedatetime>=2.4
+Requires-Dist: pyrfc3339
+Requires-Dist: pytz>=2019.3
+Requires-Dist: pywin32>=300; sys_platform == "win32"
+Requires-Dist: setuptools>=41.6.0
Provides-Extra: all
+Requires-Dist: azure-devops; extra == "all"
+Requires-Dist: ipdb; extra == "all"
+Requires-Dist: poetry>=1.2.0; extra == "all"
+Requires-Dist: poetry-plugin-export>=1.1.0; extra == "all"
+Requires-Dist: twine; extra == "all"
+Requires-Dist: Sphinx>=1.2; extra == "all"
+Requires-Dist: sphinx_rtd_theme; extra == "all"
+Requires-Dist: coverage; extra == "all"
+Requires-Dist: mypy; extra == "all"
+Requires-Dist: pip; extra == "all"
+Requires-Dist: pylint; extra == "all"
+Requires-Dist: pytest; extra == "all"
+Requires-Dist: pytest-cov; extra == "all"
+Requires-Dist: pytest-xdist; extra == "all"
+Requires-Dist: setuptools; extra == "all"
+Requires-Dist: tox; extra == "all"
+Requires-Dist: types-httplib2; extra == "all"
+Requires-Dist: types-pyOpenSSL; extra == "all"
+Requires-Dist: types-pyRFC3339; extra == "all"
+Requires-Dist: types-pytz; extra == "all"
+Requires-Dist: types-pywin32; extra == "all"
+Requires-Dist: types-requests; extra == "all"
+Requires-Dist: types-setuptools; extra == "all"
+Requires-Dist: types-six; extra == "all"
+Requires-Dist: wheel; extra == "all"
Provides-Extra: dev
+Requires-Dist: azure-devops; extra == "dev"
+Requires-Dist: ipdb; extra == "dev"
+Requires-Dist: poetry>=1.2.0; extra == "dev"
+Requires-Dist: poetry-plugin-export>=1.1.0; extra == "dev"
+Requires-Dist: twine; extra == "dev"
Provides-Extra: docs
+Requires-Dist: Sphinx>=1.2; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
Provides-Extra: test
-License-File: LICENSE.txt
+Requires-Dist: coverage; extra == "test"
+Requires-Dist: mypy; extra == "test"
+Requires-Dist: pip; extra == "test"
+Requires-Dist: pylint; extra == "test"
+Requires-Dist: pytest; extra == "test"
+Requires-Dist: pytest-cov; extra == "test"
+Requires-Dist: pytest-xdist; extra == "test"
+Requires-Dist: setuptools; extra == "test"
+Requires-Dist: tox; extra == "test"
+Requires-Dist: types-httplib2; extra == "test"
+Requires-Dist: types-pyOpenSSL; extra == "test"
+Requires-Dist: types-pyRFC3339; extra == "test"
+Requires-Dist: types-pytz; extra == "test"
+Requires-Dist: types-pywin32; extra == "test"
+Requires-Dist: types-requests; extra == "test"
+Requires-Dist: types-setuptools; extra == "test"
+Requires-Dist: types-six; extra == "test"
+Requires-Dist: wheel; extra == "test"
.. This file contains a series of comments that are used to include sections of this README in other files. Do not modify these comments unless you know what you are doing. tag:intro-begin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/__init__.py new/certbot-2.8.0/certbot/__init__.py
--- old/certbot-2.7.3/certbot/__init__.py 2023-10-24 22:42:05.000000000 +0200
+++ new/certbot-2.8.0/certbot/__init__.py 2023-12-05 20:13:53.000000000 +0100
@@ -1,13 +1,4 @@
"""Certbot client."""
-import sys
-import warnings
# version number like 1.2.3a0, must have at least 2 parts, like 1.2
-__version__ = '2.7.3'
-
-if sys.version_info[:2] == (3, 7):
- warnings.warn(
- "Python 3.7 support will be dropped in the next planned release of "
- "certbot. Please upgrade your Python version.",
- PendingDeprecationWarning,
- ) # pragma: no cover
+__version__ = '2.8.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/_internal/cli/helpful.py new/certbot-2.8.0/certbot/_internal/cli/helpful.py
--- old/certbot-2.7.3/certbot/_internal/cli/helpful.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/_internal/cli/helpful.py 2023-12-05 20:13:52.000000000 +0100
@@ -165,6 +165,7 @@
def remove_config_file_domains_for_renewal(self, config: NamespaceConfig) -> None:
"""Make "certbot renew" safe if domains are set in cli.ini."""
# Works around https://github.com/certbot/certbot/issues/4096
+ assert config.argument_sources is not None
if (config.argument_sources['domains'] == ArgumentSource.CONFIG_FILE and
self.verb == "renew"):
config.domains = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/_internal/constants.py new/certbot-2.8.0/certbot/_internal/constants.py
--- old/certbot-2.7.3/certbot/_internal/constants.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/_internal/constants.py 2023-12-05 20:13:52.000000000 +0100
@@ -21,7 +21,7 @@
OLD_SETUPTOOLS_PLUGINS_ENTRY_POINT = "letsencrypt.plugins"
"""Plugins Setuptools entry point before rename."""
-CLI_DEFAULTS: Dict[str, Any] = dict( # noqa
+CLI_DEFAULTS: Dict[str, Any] = dict( # pylint: disable=use-dict-literal
config_files=[
os.path.join(misc.get_default_folder('config'), 'cli.ini'),
# https://freedesktop.org/wiki/Software/xdg-user-dirs/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/_internal/display/completer.py new/certbot-2.8.0/certbot/_internal/display/completer.py
--- old/certbot-2.7.3/certbot/_internal/display/completer.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/_internal/display/completer.py 2023-12-05 20:13:52.000000000 +0100
@@ -3,12 +3,9 @@
from types import TracebackType
from typing import Callable
from typing import Iterator
+from typing import Literal
from typing import Optional
from typing import Type
-from typing import TYPE_CHECKING
-
-if TYPE_CHECKING:
- from typing_extensions import Literal
# readline module is not available on all systems
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/_internal/main.py new/certbot-2.8.0/certbot/_internal/main.py
--- old/certbot-2.7.3/certbot/_internal/main.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/_internal/main.py 2023-12-05 20:13:52.000000000 +0100
@@ -1863,10 +1863,6 @@
if config.func != plugins_cmd: # pylint: disable=comparison-with-callable
raise
- if sys.version_info[:2] == (3, 7):
- logger.warning("Python 3.7 support will be dropped in the next planned release "
- "of Certbot - please upgrade your Python version.")
-
with make_displayer(config) as displayer:
display_obj.set_display(displayer)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/_internal/plugins/disco.py new/certbot-2.8.0/certbot/_internal/plugins/disco.py
--- old/certbot-2.7.3/certbot/_internal/plugins/disco.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/_internal/plugins/disco.py 2023-12-05 20:13:52.000000000 +0100
@@ -207,6 +207,7 @@
plugin2_dist = other_ep.entry_point.dist
plugin1 = plugin1_dist.name.lower() if plugin1_dist else "unknown"
plugin2 = plugin2_dist.name.lower() if plugin2_dist else "unknown"
+ # pylint: disable=broad-exception-raised
raise Exception("Duplicate plugin name {0} from {1} and {2}.".format(
plugin_ep.name, plugin1, plugin2))
if issubclass(plugin_ep.plugin_cls, interfaces.Plugin):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/_internal/tests/configuration_test.py new/certbot-2.8.0/certbot/_internal/tests/configuration_test.py
--- old/certbot-2.7.3/certbot/_internal/tests/configuration_test.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/_internal/tests/configuration_test.py 2023-12-05 20:13:52.000000000 +0100
@@ -165,17 +165,22 @@
def test_set_by_user_exception(self):
from certbot.configuration import NamespaceConfig
-
+
# a newly created NamespaceConfig has no argument sources dict, so an
# exception is raised
config = NamespaceConfig(self.config.namespace)
with pytest.raises(RuntimeError):
config.set_by_user('whatever')
-
+
# now set an argument sources dict
config.set_argument_sources({})
assert not config.set_by_user('whatever')
+ def test_set_by_user_mutables(self):
+ assert not self.config.set_by_user('domains')
+ self.config.domains.append('example.org')
+ assert self.config.set_by_user('domains')
+
if __name__ == '__main__':
sys.exit(pytest.main(sys.argv[1:] + [__file__])) # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/configuration.py new/certbot-2.8.0/certbot/configuration.py
--- old/certbot-2.7.3/certbot/configuration.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/configuration.py 2023-12-05 20:13:52.000000000 +0100
@@ -66,7 +66,8 @@
self.namespace: argparse.Namespace
# Avoid recursion loop because of the delegation defined in __setattr__
object.__setattr__(self, 'namespace', namespace)
- object.__setattr__(self, 'argument_sources', None)
+ object.__setattr__(self, '_argument_sources', None)
+ object.__setattr__(self, '_previously_accessed_mutables', {})
self.namespace.config_dir = os.path.abspath(self.namespace.config_dir)
self.namespace.work_dir = os.path.abspath(self.namespace.work_dir)
@@ -90,7 +91,7 @@
"""
# Avoid recursion loop because of the delegation defined in __setattr__
- object.__setattr__(self, 'argument_sources', argument_sources)
+ object.__setattr__(self, '_argument_sources', argument_sources)
def set_by_user(self, var: str) -> bool:
@@ -145,15 +146,48 @@
"""
If an argument_sources dict was set, overwrites an argument's source to
be ArgumentSource.RUNTIME. Used when certbot sets an argument's values
- at runtime.
+ at runtime. This also clears the modified value from
+ _previously_accessed_mutables since it is no longer needed.
"""
- if self.argument_sources is not None:
- self.argument_sources[name] = ArgumentSource.RUNTIME
+ if self._argument_sources is not None:
+ self._argument_sources[name] = ArgumentSource.RUNTIME
+ if name in self._previously_accessed_mutables:
+ del self._previously_accessed_mutables[name]
+
+ @property
+ def argument_sources(self) -> Optional[Dict[str, ArgumentSource]]:
+ """Returns _argument_sources after handling any changes to accessed mutable values."""
+ # We keep values in _previously_accessed_mutables until we've detected a modification to try
+ # to provide up-to-date information when argument_sources is accessed. Once a mutable object
+ # has been accessed, it can be modified at any time if a reference to it was kept somewhere
+ # else.
+
+ # We copy _previously_accessed_mutables because _mark_runtime_override modifies it.
+ for name, prev_value in self._previously_accessed_mutables.copy().items():
+ current_value = getattr(self.namespace, name)
+ if current_value != prev_value:
+ self._mark_runtime_override(name)
+ return self._argument_sources
# Delegate any attribute not explicitly defined to the underlying namespace object.
+ #
+ # If any mutable namespace attributes are explicitly defined in the future, you'll probably want
+ # to take an approach like the one used in __getattr__ and the argument_sources property.
def __getattr__(self, name: str) -> Any:
- return getattr(self.namespace, name)
+ arg_sources = self.argument_sources
+ value = getattr(self.namespace, name)
+ if arg_sources is not None:
+ # If the requested attribute was already modified at runtime, we don't need to track any
+ # future changes.
+ if name not in arg_sources or arg_sources[name] != ArgumentSource.RUNTIME:
+ # If name is already in _previously_accessed_mutables, we don't need to make a copy
+ # of it again. If its value was changed, this would have been caught while preparing
+ # the return value of the property self.argument_sources accessed earlier in this
+ # function.
+ if name not in self._previously_accessed_mutables and not _is_immutable(value):
+ self._previously_accessed_mutables[name] = copy.deepcopy(value)
+ return value
def __setattr__(self, name: str, value: Any) -> None:
self._mark_runtime_override(name)
@@ -425,9 +459,10 @@
# Work around https://bugs.python.org/issue1515 for py26 tests :( :(
new_ns = copy.deepcopy(self.namespace)
new_config = type(self)(new_ns)
- if self.set_argument_sources is not None:
- new_sources = copy.deepcopy(self.argument_sources)
- new_config.set_argument_sources(new_sources)
+ # Avoid recursion loop because of the delegation defined in __setattr__
+ object.__setattr__(new_config, '_argument_sources', copy.deepcopy(self.argument_sources))
+ object.__setattr__(new_config, '_previously_accessed_mutables',
+ copy.deepcopy(self._previously_accessed_mutables))
return new_config
@@ -450,3 +485,15 @@
for domain in config.namespace.domains:
# This may be redundant, but let's be paranoid
util.enforce_domain_sanity(domain)
+
+
+def _is_immutable(value: Any) -> bool:
+ """Is value of an immutable type?"""
+ if isinstance(value, tuple):
+ # tuples are only immutable if all contained values are immutable.
+ return all(_is_immutable(subvalue) for subvalue in value)
+ for immutable_type in (int, float, complex, str, bytes, bool, frozenset,):
+ if isinstance(value, immutable_type):
+ return True
+ # The last case we consider here is None which is also immutable.
+ return value is None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/plugins/dns_common_lexicon.py new/certbot-2.8.0/certbot/plugins/dns_common_lexicon.py
--- old/certbot-2.7.3/certbot/plugins/dns_common_lexicon.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/plugins/dns_common_lexicon.py 2023-12-05 20:13:52.000000000 +0100
@@ -198,6 +198,10 @@
dict_config = {
'domain': domain,
+ # We bypass Lexicon subdomain resolution by setting the 'delegated' field in the config
+ # to the value of the 'domain' field itself. Here we consider that the domain passed to
+ # _build_lexicon_config() is already the exact subdomain of the actual DNS zone to use.
+ 'delegated': domain,
'provider_name': self._provider_name,
'ttl': self._ttl,
self._provider_name: {item[2]: self._credentials.conf(item[0])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/plugins/dns_test_common.py new/certbot-2.8.0/certbot/plugins/dns_test_common.py
--- old/certbot-2.7.3/certbot/plugins/dns_test_common.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/plugins/dns_test_common.py 2023-12-05 20:13:52.000000000 +0100
@@ -1,7 +1,7 @@
"""Base test class for DNS authenticators."""
from typing import Any
from typing import Mapping
-from typing import TYPE_CHECKING
+from typing import Protocol
from unittest import mock
import configobj
@@ -14,12 +14,6 @@
from certbot.tests import acme_util
from certbot.tests import util as test_util
-if TYPE_CHECKING:
- from typing_extensions import Protocol
-else:
- Protocol = object
-
-
DOMAIN = 'example.com'
KEY = jose.JWKRSA.load(test_util.load_vector("rsa512_key.pem"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/plugins/dns_test_common_lexicon.py new/certbot-2.8.0/certbot/plugins/dns_test_common_lexicon.py
--- old/certbot-2.7.3/certbot/plugins/dns_test_common_lexicon.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/plugins/dns_test_common_lexicon.py 2023-12-05 20:13:52.000000000 +0100
@@ -6,8 +6,8 @@
from typing import cast
from typing import Generator
from typing import List
+from typing import Protocol
from typing import Tuple
-from typing import TYPE_CHECKING
from unittest import mock
from unittest.mock import MagicMock
import warnings
@@ -28,11 +28,6 @@
from certbot.plugins.dns_test_common import _AuthenticatorCallableTestCase
from certbot.tests import util as test_util
-if TYPE_CHECKING: # pragma: no cover
- from typing_extensions import Protocol
-else:
- Protocol = object
-
DOMAIN = 'example.com'
KEY = jose.JWKRSA.load(test_util.load_vector("rsa512_key.pem"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot/tests/util.py new/certbot-2.8.0/certbot/tests/util.py
--- old/certbot-2.7.3/certbot/tests/util.py 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/certbot/tests/util.py 2023-12-05 20:13:52.000000000 +0100
@@ -1,6 +1,7 @@
"""Test utilities."""
import atexit
from contextlib import ExitStack
+import copy
from importlib import reload as reload_module
import io
import logging
@@ -403,7 +404,8 @@
def setUp(self) -> None:
super().setUp()
self.config = configuration.NamespaceConfig(
- mock.MagicMock(**constants.CLI_DEFAULTS),
+ # We make a copy here so any mutable values from CLI_DEFAULTS do not get modified.
+ mock.MagicMock(**copy.deepcopy(constants.CLI_DEFAULTS)),
)
self.config.set_argument_sources({})
self.config.namespace.verb = "certonly"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot.egg-info/PKG-INFO new/certbot-2.8.0/certbot.egg-info/PKG-INFO
--- old/certbot-2.7.3/certbot.egg-info/PKG-INFO 2023-10-24 22:42:05.000000000 +0200
+++ new/certbot-2.8.0/certbot.egg-info/PKG-INFO 2023-12-05 20:13:53.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: certbot
-Version: 2.7.3
+Version: 2.8.0
Summary: ACME client
Home-page: https://github.com/certbot/certbot
Author: Certbot Project
@@ -14,7 +14,6 @@
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
@@ -25,12 +24,75 @@
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE.txt
+Requires-Dist: acme>=2.8.0
+Requires-Dist: ConfigArgParse>=1.5.3
+Requires-Dist: configobj>=5.0.6
+Requires-Dist: cryptography>=3.2.1
+Requires-Dist: distro>=1.0.1
+Requires-Dist: importlib_resources>=1.3.1; python_version < "3.9"
+Requires-Dist: importlib_metadata>=4.6; python_version < "3.10"
+Requires-Dist: josepy>=1.13.0
+Requires-Dist: parsedatetime>=2.4
+Requires-Dist: pyrfc3339
+Requires-Dist: pytz>=2019.3
+Requires-Dist: pywin32>=300; sys_platform == "win32"
+Requires-Dist: setuptools>=41.6.0
Provides-Extra: all
+Requires-Dist: azure-devops; extra == "all"
+Requires-Dist: ipdb; extra == "all"
+Requires-Dist: poetry>=1.2.0; extra == "all"
+Requires-Dist: poetry-plugin-export>=1.1.0; extra == "all"
+Requires-Dist: twine; extra == "all"
+Requires-Dist: Sphinx>=1.2; extra == "all"
+Requires-Dist: sphinx_rtd_theme; extra == "all"
+Requires-Dist: coverage; extra == "all"
+Requires-Dist: mypy; extra == "all"
+Requires-Dist: pip; extra == "all"
+Requires-Dist: pylint; extra == "all"
+Requires-Dist: pytest; extra == "all"
+Requires-Dist: pytest-cov; extra == "all"
+Requires-Dist: pytest-xdist; extra == "all"
+Requires-Dist: setuptools; extra == "all"
+Requires-Dist: tox; extra == "all"
+Requires-Dist: types-httplib2; extra == "all"
+Requires-Dist: types-pyOpenSSL; extra == "all"
+Requires-Dist: types-pyRFC3339; extra == "all"
+Requires-Dist: types-pytz; extra == "all"
+Requires-Dist: types-pywin32; extra == "all"
+Requires-Dist: types-requests; extra == "all"
+Requires-Dist: types-setuptools; extra == "all"
+Requires-Dist: types-six; extra == "all"
+Requires-Dist: wheel; extra == "all"
Provides-Extra: dev
+Requires-Dist: azure-devops; extra == "dev"
+Requires-Dist: ipdb; extra == "dev"
+Requires-Dist: poetry>=1.2.0; extra == "dev"
+Requires-Dist: poetry-plugin-export>=1.1.0; extra == "dev"
+Requires-Dist: twine; extra == "dev"
Provides-Extra: docs
+Requires-Dist: Sphinx>=1.2; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
Provides-Extra: test
-License-File: LICENSE.txt
+Requires-Dist: coverage; extra == "test"
+Requires-Dist: mypy; extra == "test"
+Requires-Dist: pip; extra == "test"
+Requires-Dist: pylint; extra == "test"
+Requires-Dist: pytest; extra == "test"
+Requires-Dist: pytest-cov; extra == "test"
+Requires-Dist: pytest-xdist; extra == "test"
+Requires-Dist: setuptools; extra == "test"
+Requires-Dist: tox; extra == "test"
+Requires-Dist: types-httplib2; extra == "test"
+Requires-Dist: types-pyOpenSSL; extra == "test"
+Requires-Dist: types-pyRFC3339; extra == "test"
+Requires-Dist: types-pytz; extra == "test"
+Requires-Dist: types-pywin32; extra == "test"
+Requires-Dist: types-requests; extra == "test"
+Requires-Dist: types-setuptools; extra == "test"
+Requires-Dist: types-six; extra == "test"
+Requires-Dist: wheel; extra == "test"
.. This file contains a series of comments that are used to include sections of this README in other files. Do not modify these comments unless you know what you are doing. tag:intro-begin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/certbot.egg-info/requires.txt new/certbot-2.8.0/certbot.egg-info/requires.txt
--- old/certbot-2.7.3/certbot.egg-info/requires.txt 2023-10-24 22:42:05.000000000 +0200
+++ new/certbot-2.8.0/certbot.egg-info/requires.txt 2023-12-05 20:13:53.000000000 +0100
@@ -1,4 +1,4 @@
-acme>=2.7.3
+acme>=2.8.0
ConfigArgParse>=1.5.3
configobj>=5.0.6
cryptography>=3.2.1
@@ -29,6 +29,7 @@
coverage
mypy
pip
+pylint
pytest
pytest-cov
pytest-xdist
@@ -42,12 +43,8 @@
types-requests
types-setuptools
types-six
-typing-extensions
wheel
-[all:python_full_version >= "3.7.2"]
-pylint
-
[dev]
azure-devops
ipdb
@@ -63,6 +60,7 @@
coverage
mypy
pip
+pylint
pytest
pytest-cov
pytest-xdist
@@ -76,8 +74,4 @@
types-requests
types-setuptools
types-six
-typing-extensions
wheel
-
-[test:python_full_version >= "3.7.2"]
-pylint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/docs/cli-help.txt new/certbot-2.8.0/docs/cli-help.txt
--- old/certbot-2.7.3/docs/cli-help.txt 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/docs/cli-help.txt 2023-12-05 20:13:52.000000000 +0100
@@ -1,4 +1,4 @@
-usage:
+usage:
certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ...
Certbot can obtain and install HTTPS/TLS/SSL certificates. By default,
@@ -122,7 +122,7 @@
case, and to know when to deprecate support for past
Python versions and flags. If you wish to hide this
information from the Let's Encrypt server, set this to
- "". (default: CertbotACMEClient/2.7.2 (certbot;
+ "". (default: CertbotACMEClient/2.7.4 (certbot;
OS_NAME OS_VERSION) Authenticator/XXX Installer/YYY
(SUBCOMMAND; flags: FLAGS) Py/major.minor.patchlevel).
The flags encoded in the user agent are: --duplicate,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/docs/contributing.rst new/certbot-2.8.0/docs/contributing.rst
--- old/certbot-2.7.3/docs/contributing.rst 2023-10-24 22:42:04.000000000 +0200
+++ new/certbot-2.8.0/docs/contributing.rst 2023-12-05 20:13:52.000000000 +0100
@@ -328,8 +328,8 @@
for one example of that.
Certbot client supports dynamic discovery of plugins through the
-`setuptools entry points`_ using the `certbot.plugins` group. This
-way you can, for example, create a custom implementation of
+`importlib.metadata entry points`_ using the `certbot.plugins` group.
+This way you can, for example, create a custom implementation of
`~certbot.interfaces.Authenticator` or the
`~certbot.interfaces.Installer` without having to merge it
with the core upstream source code. An example is provided in
@@ -352,8 +352,8 @@
only work for users who have Certbot installed from OS packages or via
pip.
-.. _`setuptools entry points`:
- https://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points
+.. _`importlib.metadata entry points`:
+ https://importlib-metadata.readthedocs.io/en/latest/using.html#entry-points
Writing your own plugin snap
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.7.3/setup.py new/certbot-2.8.0/setup.py
--- old/certbot-2.7.3/setup.py 2023-10-24 22:42:05.000000000 +0200
+++ new/certbot-2.8.0/setup.py 2023-12-05 20:13:52.000000000 +0100
@@ -70,8 +70,7 @@
'coverage',
'mypy',
'pip',
- # Our pinned version of pylint requires Python >= 3.7.2.
- 'pylint ; python_full_version >= "3.7.2"',
+ 'pylint',
'pytest',
'pytest-cov',
'pytest-xdist',
@@ -85,9 +84,6 @@
'types-requests',
'types-setuptools',
'types-six',
- # typing-extensions is required to import typing.Protocol and make the mypy checks
- # pass (along with pylint about non-existent objects) on Python 3.7
- 'typing-extensions',
'wheel',
]
@@ -103,7 +99,7 @@
author="Certbot Project",
author_email='certbot-dev(a)eff.org',
license='Apache License 2.0',
- python_requires='>=3.7',
+ python_requires='>=3.8',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
@@ -113,7 +109,6 @@
'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',
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-dns-lexicon for openSUSE:Factory checked in at 2023-12-14 22:02:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dns-lexicon (Old)
and /work/SRC/openSUSE:Factory/.python-dns-lexicon.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-dns-lexicon"
Thu Dec 14 22:02:47 2023 rev:22 rq:1132965 version:3.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dns-lexicon/python-dns-lexicon.changes 2023-11-28 22:20:45.188766337 +0100
+++ /work/SRC/openSUSE:Factory/.python-dns-lexicon.new.25432/python-dns-lexicon.changes 2023-12-14 22:02:48.103334046 +0100
@@ -1,0 +2,5 @@
+Thu Dec 14 04:38:35 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- dnspython is not an optional requirement, bump it to Requires.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-dns-lexicon.spec ++++++
--- /var/tmp/diff_new_pack.lbRw00/_old 2023-12-14 22:02:48.839360594 +0100
+++ /var/tmp/diff_new_pack.lbRw00/_new 2023-12-14 22:02:48.839360594 +0100
@@ -58,6 +58,7 @@
Requires: python-PyYAML >= 3
Requires: python-beautifulsoup4 >= 4
Requires: python-cryptography >= 2
+Requires: python-dnspython >= 2
Requires: python-importlib-metadata >= 4.6
Requires: python-pyotp
Requires: python-requests >= 2
@@ -65,7 +66,6 @@
Requires(post): update-alternatives
Requires(postun):update-alternatives
Recommends: python-boto3 >= 1.28
-Recommends: python-dnspython >= 2
Recommends: python-localzone >= 0.9.8
Recommends: python-oci >= 2
Recommends: python-softlayer >= 5
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kio-fuse for openSUSE:Factory checked in at 2023-12-14 22:02:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kio-fuse (Old)
and /work/SRC/openSUSE:Factory/.kio-fuse.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kio-fuse"
Thu Dec 14 22:02:45 2023 rev:8 rq:1132928 version:5.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kio-fuse/kio-fuse.changes 2023-11-02 20:19:58.788545900 +0100
+++ /work/SRC/openSUSE:Factory/.kio-fuse.new.25432/kio-fuse.changes 2023-12-14 22:02:46.679282682 +0100
@@ -1,0 +2,13 @@
+Sat Dec 9 22:14:57 UTC 2023 - Fabian Vogt <fabian(a)ritter-vogt.de>
+
+- Update to version 5.1.0:
+ * Support for building against Qt 6 and KF6
+ * Minimum versions of dependencies got raised:
+ CMake 3.16, Qt 5.15, KIO 5.96.0
+ * Minor bug fixes and optimizations
+ * Don't include the password in the generated VFS path
+ * Mounting admin: is blocked now
+- Drop patch, now upstream:
+ * 0001-Initialize-m_lastChildrenRefresh-to-be-really-in-the.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Initialize-m_lastChildrenRefresh-to-be-really-in-the.patch
kio-fuse-5.0.1.tar.xz
kio-fuse-5.0.1.tar.xz.sig
New:
----
kio-fuse-5.1.0.tar.xz
kio-fuse-5.1.0.tar.xz.sig
BETA DEBUG BEGIN:
Old:- Drop patch, now upstream:
* 0001-Initialize-m_lastChildrenRefresh-to-be-really-in-the.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kio-fuse.spec ++++++
--- /var/tmp/diff_new_pack.YDm4rj/_old 2023-12-14 22:02:47.663318175 +0100
+++ /var/tmp/diff_new_pack.YDm4rj/_new 2023-12-14 22:02:47.667318320 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kio-fuse
#
-# 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,25 +16,23 @@
#
-%bcond_without lang
+%bcond_without released
Name: kio-fuse
-Version: 5.0.1
+Version: 5.1.0
Release: 0
Summary: Access KIO over the regular filesystem
License: GPL-3.0-or-later
Group: System/GUI/KDE
URL: https://www.kde.org
-Source0: https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.xz
-%if %{with lang}
-Source1: https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.x…
+Source0: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz
+%if %{with released}
+Source1: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz.sig
Source2: kio-fuse.keyring
%endif
-# PATCH-FIX-UPSTREAM
-Patch1: 0001-Initialize-m_lastChildrenRefresh-to-be-really-in-the.patch
BuildRequires: extra-cmake-modules
BuildRequires: pkgconfig
-BuildRequires: cmake(KF5KIO) >= 5.66.0
-BuildRequires: cmake(Qt5DBus) >= 5.12.0
+BuildRequires: cmake(KF5KIO) >= 5.96.0
+BuildRequires: cmake(Qt5DBus) >= 5.15.0
BuildRequires: cmake(Qt5Test)
BuildRequires: pkgconfig(fuse3)
%if 0%{?suse_version} > 1599
@@ -78,8 +76,7 @@
chmod a+x fusermount3
export PATH=$PWD:$PATH
-export CTEST_OUTPUT_ON_FAILURE=1
-make %{?_smp_mflags} -C build VERBOSE=1 test
+%ctest
%endif
%files
++++++ kio-fuse-5.0.1.tar.xz -> kio-fuse-5.1.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/.gitignore new/kio-fuse-5.1.0/.gitignore
--- old/kio-fuse-5.0.1/.gitignore 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/.gitignore 2023-12-09 21:26:39.000000000 +0100
@@ -62,6 +62,8 @@
# Visual Studio Code auto generated files
.vscode
+.clangd/
+compile_commands.json
# MinGW generated files
*.Debug
@@ -75,3 +77,4 @@
*.dll
*.exe
+*.clazy.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/.gitlab-ci.yml new/kio-fuse-5.1.0/.gitlab-ci.yml
--- old/kio-fuse-5.0.1/.gitlab-ci.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/kio-fuse-5.1.0/.gitlab-ci.yml 2023-12-09 21:26:39.000000000 +0100
@@ -0,0 +1,10 @@
+# SPDX-FileCopyrightText: 2020 Volker Krause <vkrause(a)kde.org>
+# SPDX-License-Identifier: CC0-1.0
+
+include:
+ - project: sysadmin/ci-utilities
+ file:
+ - /gitlab-templates/linux.yml
+ - /gitlab-templates/freebsd.yml
+ - /gitlab-templates/linux-qt6.yml
+ - /gitlab-templates/freebsd-qt6.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/.kde-ci.yml new/kio-fuse-5.1.0/.kde-ci.yml
--- old/kio-fuse-5.0.1/.kde-ci.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/kio-fuse-5.1.0/.kde-ci.yml 2023-12-09 21:26:39.000000000 +0100
@@ -0,0 +1,15 @@
+Dependencies:
+- 'on': ['Linux', 'FreeBSD']
+ 'require':
+ 'frameworks/extra-cmake-modules': '@stable'
+ 'frameworks/kcoreaddons' : '@stable'
+ 'frameworks/kio' : '@stable'
+
+- 'on': ['Linux/Qt6', 'FreeBSD/Qt6']
+ 'require':
+ 'frameworks/extra-cmake-modules': '@latest-kf6'
+ 'frameworks/kcoreaddons' : '@latest-kf6'
+ 'frameworks/kio' : '@latest-kf6'
+
+Options:
+ run-tests: False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/CMakeLists.txt new/kio-fuse-5.1.0/CMakeLists.txt
--- old/kio-fuse-5.0.1/CMakeLists.txt 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/CMakeLists.txt 2023-12-09 21:26:39.000000000 +0100
@@ -1,32 +1,32 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.16)
project(kio-fuse VERSION 5.0.0)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(Qt5_MIN_VERSION 5.12)
-# Use ecm_generate_dbus_service_file + ecm_install_configured_files once bumped to 5.73+
-set(KF5_MIN_VERSION 5.66)
+set(QT_MIN_VERSION 5.15)
+set(KF_MIN_VERSION 5.96)
-find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
+find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
+include(QtVersionOption)
include(ECMSetupVersion)
include(ECMGenerateHeaders)
include(CMakePackageConfigHelpers)
include(FeatureSummary)
include(KDEInstallDirs)
include(KDECMakeSettings)
-include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
+include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMQtDeclareLoggingCategory)
include(ECMSetupVersion)
-#include(ECMGenerateDBusServiceFile)
-#include(ECMConfiguredInstall)
+include(ECMGenerateDBusServiceFile)
+include(ECMConfiguredInstall)
find_package(PkgConfig REQUIRED)
-find_package(Qt5 ${Qt5_MIN_VERSION} COMPONENTS Core REQUIRED)
-find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
+find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} COMPONENTS Core REQUIRED)
+find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS
CoreAddons
KIO
)
@@ -57,30 +57,25 @@
add_executable(kio-fuse ${KIOFUSE_SOURCES})
target_include_directories(kio-fuse PRIVATE ${FUSE3_INCLUDE_DIRS})
target_compile_definitions(kio-fuse PRIVATE FUSE_USE_VERSION=31 ${FUSE3_CFLAGS_OTHER})
-target_link_libraries(kio-fuse PRIVATE Qt5::Core KF5::KIOCore ${FUSE3_LIBRARIES} ${FUSE3_LDFLAGS})
+target_link_libraries(kio-fuse PRIVATE Qt::Core KF${QT_MAJOR_VERSION}::KIOCore ${FUSE3_LIBRARIES} ${FUSE3_LDFLAGS})
install(TARGETS kio-fuse DESTINATION ${KDE_INSTALL_FULL_LIBEXECDIR})
-install(FILES kio-fuse-tmpfiles.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/tmpfiles.d)
+if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ # We could argue that this needs a separate "if(LINUX_WITH_TMPFILES_D)".
+ # or a "if(LINUX_WITH_SYSTEMD)".
+ install(FILES kio-fuse-tmpfiles.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/tmpfiles.d)
+endif()
-# Once KF5 5.73 is required
-#
-#ecm_generate_dbus_service_file(
-# NAME org.kde.KIOFuse
-# EXECUTABLE "${KDE_INSTALL_FULL_LIBEXECDIR}/kio-fuse -f"
-# SYSTEMD_SERVICE kio-fuse.service
-# DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
-#)
-#
-#ecm_install_configured_files(INPUT kio-fuse.service.in DESTINATION ${SYSTEMD_USER_UNIT_INSTALL_DIR})
-
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KIOFuse.service
-"[D-BUS Service]
-Name=org.kde.KIOFuse
-Exec=${KDE_INSTALL_FULL_LIBEXECDIR}/kio-fuse -f
-SystemdService=kio-fuse.service
-")
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KIOFuse.service DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR})
+ecm_generate_dbus_service_file(
+ NAME org.kde.KIOFuse
+ EXECUTABLE "${KDE_INSTALL_FULL_LIBEXECDIR}/kio-fuse -f"
+ SYSTEMD_SERVICE kio-fuse.service
+ DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
+)
-configure_file(kio-fuse.service.in ${CMAKE_CURRENT_BINARY_DIR}/kio-fuse.service)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kio-fuse.service DESTINATION ${SYSTEMD_USER_UNIT_INSTALL_DIR})
+if(DEFINED KDE_INSTALL_SYSTEMDUSERUNITDIR)
+ ecm_install_configured_files(INPUT kio-fuse.service.in DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR})
+else()
+ ecm_install_configured_files(INPUT kio-fuse.service.in DESTINATION ${SYSTEMD_USER_UNIT_INSTALL_DIR})
+endif()
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/DESIGN new/kio-fuse-5.1.0/DESIGN
--- old/kio-fuse-5.0.1/DESIGN 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/DESIGN 1970-01-01 01:00:00.000000000 +0100
@@ -1,282 +0,0 @@
-Design of kio-fuse
-==================
-
-This file explains the internal implementation only, please read the README
-first to learn about the external interface.
-
-Goals
------
-
-kio-fuse's design is based on these requirements:
-* Maximum compatibility with applications (as far as KIO allows)
-* Work with most slaves: The minimum set of operations a slave must support are
- KIO::stat and KIO::get
-* Good usability: This means mostly acceptable speed (using caching whereever
- possible), but also having a simple API to the outside world
-* Security: The password of mounted URLs is not obviously visible
-* KISS
-
-Use of the libfuse lowlevel API
--------------------------------
-
-Compared to the "old" version of kiofuse in SVN, this implementation has a
-major difference in the implementation: Instead of the high level libfuse API,
-which translates the inode numbers passed from the kernel to paths for calling
-the operations, the lowlevel libfuse API is used.
-
-While it may look like translating paths to URLs is much easier than keeping
-track of inode numbers, the high-level API has actually completely different
-behaviour in many other ways, which actually makes it much more complex to use.
-The most important difference is that the lowlevel API can be used
-asynchronously, which makes it possible to process multiple requests in one
-thread. This matches the Qt (and thus KIO) event processing model perfectly.
-This means that multithreading is not required (KIO works on the main thread
-anyway), resulting in no need for locking and passing queues around.
-
-Additonally, a design flaw in libfuse means that it's impossible to keep track
-of the lookup count correctly/race-free when using multiple threads:
-https://github.com/python-llfuse/python-llfuse/blob/master/developer-notes/lookup_counts.rst
-
-The additional "lookup" lowlevel operation makes it possible to avoid calling
-readdir on all path elements when opening a file for the first time.
-Example: "smb://host/dir/subdir/file" is mounted as smb/host/dir/subdir/file.
-When opening that for the first time with the high-level API, it would result in
-these calls: opendir(/) -> readdir(/) -> closedir(/) -> opendir(smb) -> ...
-This is because libfuse has to build an internal tree model for mapping inode
-numbers to path elements.
-With the lowlevel API, lookup is enough: lookup(/, smb) -> lookup(smb, host)...
-This can be implemented using KIO::stat instead of a full KIO::listDir, both on
-the initial access and when the node already exists locally, to recheck whether
-the local representation still matches.
-With the high-level API, lookup on existing nodes is not passed to the FS
-implementation if the node is part of the internal tree already. This makes
-it harder (if not infeasible) to react to changes on the remote side, e.g.
-deletes or renames.
-
-Not using inode numbers in the high-level API means that implementing unlink
-properly (i.e. already opened file handles are still valid) is not possible,
-so instead of calling unlink directly, libfuse renames deleted files as
-".fuse_hiddenXXX" and deletes them when their lookup count drops to zero.
-By using the lowlevel API, implementing deletion is up to the filesystem.
-
-The VFS node tree
------------------
-
-Downside of the lowlevel API is that the inode number -> path mapping has to be
-implemented by the filesystem. For implementing local caching of nodes having
-a tree structure is necessary anyway though, so this does not actually make it
-more complex.
-
-The tree is implemented as a std::unordered_map of fuse_ino_t to KIOFuseNode.
-Each node knows about its parent and children inode numbers. The two root nodes
-have an invalid inode number (0) set as parent.
-For details on the class hierarchy and their members, read kiofusenode.h.
-
-For carrying out special operations depending on the node type, RTTI is used,
-by either querying the typeid or doing a dynamic_cast.
-
-During runtime, the tree can look like this:
-
-"" (ino: 1)
-KIOFuseDirNode
- |
- | "smb"
- |------> KIOFuseDirNode
- | \
- | \ "user@fileserver01" "a file"
- | ------> KIOFuseRemoteDirNode -----> KIOFuseRemoteFileNode
- | "user:pass@fileserver01"
- | \
- | \ "directory"
- | ------> KIOFuseRemoteDirNode
- | \
- | \ "another file"
- | ------> KIOFuseRemoteFileNode
- |
- | "sftp"
- ------> KIOFuseDirNode
- \
- \ "user@someserver" "a file"
- ------> KIOFuseRemoteDirNode -----> KIOFuseRemoteFileNode
- "user:pass@someserver"
-
-"" (ino: 2) "deleted file"
-KIOFuseDirNode ----> KIOFuseRemoteFileNode
-
-The root node with inode number 1 represents the root of the VFS.
-Only files below are visible in the VFS hierarchy.
-
-Note that RemoteFileNode is an abstract class. At runtime, it will actually be
-instantiated as one of its subclasses (KIOFuseRemoteCacheBasedNode or
-KIOFuseRemoteFileJobBasedNode). The type of class instantiated will depend on
-the URL of the file. Please see the "File I/O" section to learn more.
-
-Remote nodes (KIOFuseRemote*Node) are derived from KIOFuseRemoteFileInfo in
-addition to the base node type, which contains some members specific for remote
-access.
-
-m_overrideUrl is used to implement URL mountpoints and redirections. To get the
-remote URL of a node, the tree is traversed upwards until an override is found
-and the path is appended.
-
-m_lastStatRefresh stores the time when m_stat was updated last. It's updated
-on node construction and by updateNodeFromUDSEntry and queried by the
-awaitAttrRefreshed method.
-
-Mounting a URL
---------------
-
-Goal of mounting a URL is to make the target file/directory reachable over the
-FUSE filesystem. The first step is to verify that the target actually exists,
-if that is not the case an error is returned without doing any changes.
-
-If the target is reachable, the next step is to find which part of the URL
-(from left to right) is the first accessible one. This is needed as ioslaves
-like tar do not support listing tar:/// and instead need some part of the path
-to return results. This minimum URL is the "origin" and a KIOFuseRemoteDirNode
-with the origin as m_overrideUrl is created, with the parents as plain
-KIOFuseDirNodes.
-
-The local path to this origin node with the path from the origin to the target
-node is returned. Note that at this point this node doesn't actually exist
-locally though, only everything up until (including) the origin. To reach the
-rest, the kernel does lookup operations which trigger KIO::stat and node
-creation for each path component.
-
-Initially, mounting was implemented in a different way, to only require a
-single KIO::stat call for determining accessibility and the target node's
-attributes. All path components except the final one were assumed to be
-traversable directories, but this assumption doesn't hold for symlinks. By
-letting the kernel deal with path traversal, symlinks returned by lookup are
-handled correctly.
-
-Unlinking a node
-----------------
-
-The root node with inode number 2 is used as a parent for deleted, but still
-opened (non-zero lookup count) nodes. This is used for proper unlinking.
-When the loopup count of a node below the "deleted root" drops to zero, the
-node is deleted, i.e. the inode number can be reused and memory is freed.
-When unlinking a node which already has a lookup count of zero, it is directly
-deleted.
-
-General anatomy of a write operation
-------------------------------------
-
-All write operations are implemented by verifying the parameters locally (if
-possible at all) and then starting the operation to KIO. Once the operation
-completes, either an error is sent or the change is done in the local VFS tree
-and the result is sent.
-
-void KIOFuseVFS::operation(fuse_req_t req, fuse_ino_t inode, ...)
-{
- KIOFuseVFS *that = reinterpret_cast<KIOFuseVFS*>(fuse_req_userdata(req));
- auto node = that->nodeForIno(parent);
- if(!node) complain and return;
-
- auto job = KIO::operation(that->remoteUrl(node), ...);
- connect(job, &finished, [=] {
- if(job->error())
- fuse_reply_err(req, kioErrorToFuseError(job->error()));
- else
- {
- that->doOperation(node);
- fuse_reply_result(req, ...);
- }
- });
-}
-
-Permissions
------------
-
-While the st_uid/st_gid/st_mode fields of nodes are used from KIO if possible,
-access is not checked by kio-fuse at all. Instead, KIO returns errors if an
-operation fails because of missing permissions and those are simply forwarded.
-
-Node attributes
----------------
-
-For every node in the VFS, the full struct stat is already available when
-inserting it into the tree. This happens when mounting a URL (uses KIO::stat)
-and when requesting the children of a URL (using KIO::listDir with details).
-The same is true of the symlink's target path.
-
-As a result, getattr and readlink are non-blocking if the node's attributes
-have not timed out.
-
-setattr instead does block, it only returns if all of the requested operations
-(e.g. SET_ATTR_MTIME, SET_ATTR_MODE, SET_ATTR_UID) completed.
-
-Directory operations
---------------------
-
-To support the optimization possibility the lookup operation in the lowlevel
-API offers, children of KIOFuseRemoteDirNode are loaded lazily. This means
-that the full list of children is only requested (using KIO::listDir) if
-required, so if lookup on the directory fails or if readdir is executed.
-
-A node's children are considered valid for 30 seconds. The last time a node
-was dir listed via KIO::listDir is stored in m_lastChildrenRefreshed.
-Each readdir request checks if they have timed out via the
-haveChildrenTimedOut() method and updates the children (and consequently, their
-attributes) as appropriate. This is implemented in awaitChildrenComplete.
-
-Node Expiration
----------------
-
-Each remote node has a timeout on its attributes and its children, which is
-currently set to 30 seconds.
-
-When a node's attributes are requested, the awaitAttrRefreshed method checks
-whether the attributes expired and if so, calls mountUrl to refresh it via
-updateNodeFromUDSEntry. If the result of KIO::stat indicates that the node does
-not exist on the remote side anymore it is (recursively) marked as deleted.
-Otherwise, a new node based on the fresh attributes is created and if the type
-matches, used to update the existing node. If the type does not match, the old
-node is marked as deleted and the new node inserted into the tree.
-
-For directories, awaitChildrenComplete calls KIO::listDir for refreshing the
-list of children, either removing vanished nodes, creating new nodes or
-updating existing ones using the same method as outlined above.
-
-File IO
--------
-
-File IO is done in either of two ways, depending on what the protocol supports.
-If the protocol supports KIO::open (and all of its operations, which at the time
-of writing is read/write/seek/truncate) then IO will be based upon KIO's FileJob.
-KIO's FileJob interface allows random-access IO, and hence all read, write and
-truncate requests are simply forwarded to the corresponding FileJob functions.
-
-Whilst improving performance for larger files compared to the cache-based IO
-described below, the performance of individual read/write/truncate requests
-if significantly reduced.
-
-The protocols that currently support KIO::open are file/sftp/smb.
-
-Otherwise, file IO is implemented completely on top of a file based cache.
-On the first read or write access to a non truncated file, the whole file is
-downloaded into a new temporary file and all readers are notified on cache
-completeness changes (see awaitBytesAvailable).
-
-Therefore the read and write ops itself are trivial, they just forward the
-IO operation to the temporary file once enough data is available.
-
-On each write to a file, the file is marked as dirty and added to the set
-of dirty nodes. On various occasions, awaitNodeFlushed is called which removes
-the node from the dirty set and starts a KIO::put for the file. On success,
-it is checked whether a write occured during flushing and if so, another
-flush is started. This is repeated until the node was still marked as clean
-on finish.
-
-When there a no open file descriptors to a node anymore, the cache is flushed
-if necessary and then dropped.
-
-Hardlinks
----------
-
-Hardlinks are not supported well in the current design of KIO so they were
-simply not considered during kio-fuse development either.
-
-While inode and device numbers can be returned are part of UDSEntries returned
-from slaves, neither stat.st_link nor ::link are accessible.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/DESIGN.md new/kio-fuse-5.1.0/DESIGN.md
--- old/kio-fuse-5.0.1/DESIGN.md 1970-01-01 01:00:00.000000000 +0100
+++ new/kio-fuse-5.1.0/DESIGN.md 2023-12-09 21:26:39.000000000 +0100
@@ -0,0 +1,275 @@
+# Design of KIO FUSE
+
+This file explains the internal implementation only, please read the README
+first to learn about the external interface.
+
+## Goals
+
+KIO FUSE's design is based on these requirements:
+
+* Maximum compatibility with applications (as far as KIO allows).
+* Work with most protocols: The minimum set of operations a worker must support
+ are `KIO::stat` and `KIO::get`.
+* Good usability: this means mostly acceptable speed (using caching whereever
+ possible), but also having a simple API to the outside world.
+* Security: the password of mounted URLs is not obviously visible.
+* Keep It Simple Stupid (KISS).
+
+## Use of the `libfuse` low-level API
+
+Compared to the "old" version of KIO FUSE in SVN, this implementation has a
+major difference in the implementation: instead of the high-level `libfuse` API,
+which translates the inode numbers passed from the kernel to paths for calling
+the operations, the lowlevel `libfuse` API is used.
+
+While it may look like translating paths to URLs is much easier than keeping
+track of inode numbers, the high-level API has actually completely different
+behaviour in many other ways, which actually makes it much more complex to use.
+The most important difference is that the lowlevel API can be used
+asynchronously, which makes it possible to process multiple requests in one
+thread. This matches the Qt (and thus KIO) event processing model perfectly.
+This means that multithreading is not required (KIO works on the main thread
+anyway), resulting in no need for locking and passing queues around.
+
+Additonally, a design flaw in `libfuse` means that it's impossible to keep track
+of the lookup count correctly/race-free when using multiple threads:
+[Move Lookup Count Management into LLFUSE?](https://github.com/python-llfuse/python-llfuse/blob/master/develop…
+
+The additional `lookup` lowlevel operation makes it possible to avoid calling
+`readdir` on all path elements when opening a file for the first time.
+Example: `smb://host/dir/subdir/file` is mounted as `smb/host/dir/subdir/file`.
+When opening that for the first time with the high-level API, it would result in
+these calls: `opendir(/) -> readdir(/) -> closedir(/) -> opendir(smb) -> ...`
+This is because `libfuse` has to build an internal tree model for mapping inode
+numbers to path elements.
+With the lowlevel API, lookup is enough: `lookup(/, smb) -> lookup(smb, host)...`
+This can be implemented using `KIO::stat` instead of a full `KIO::listDir`, both on
+the initial access and when the node already exists locally, to recheck whether
+the local representation still matches.
+With the high-level API, lookup on existing nodes is not passed to the FS
+implementation if the node is part of the internal tree already. This makes
+it harder (if not infeasible) to react to changes on the remote side, e.g.
+deletes or renames.
+
+Not using inode numbers in the high-level API means that implementing unlink
+properly (i.e. already opened file handles are still valid) is not possible,
+so instead of calling unlink directly, `libfuse` renames deleted files as
+`.fuse_hiddenXXX` and deletes them when their lookup count drops to zero.
+By using the low-level API, implementing deletion is up to the filesystem.
+
+## The VFS node tree
+
+Downside of the lowlevel API is that the inode number → path mapping has to be
+implemented by the filesystem. For implementing local caching of nodes having
+a tree structure is necessary anyway though, so this does not actually make it
+more complex.
+
+The tree is implemented as a `std::unordered_map` of `fuse_ino_t` to `KIOFuseNode`.
+Each node knows about its parent and children inode numbers. The two root nodes
+have an invalid inode number (0) set as parent.
+For details on the class hierarchy and their members, read
+[kiofusenode.h](./kiofusenode.h).
+
+For carrying out special operations depending on the node type, RTTI is used,
+by either querying the typeid or doing a `dynamic_cast`.
+
+During runtime, the tree can look like this:
+
+```
+"" (ino: 1)
+KIOFuseDirNode
+ |
+ | "smb"
+ |------> KIOFuseDirNode
+ | \
+ | \ "user@fileserver01" "a file"
+ | ------> KIOFuseRemoteDirNode -----> KIOFuseRemoteFileNode
+ | "user:pass@fileserver01"
+ | \
+ | \ "directory"
+ | ------> KIOFuseRemoteDirNode
+ | \
+ | \ "another file"
+ | ------> KIOFuseRemoteFileNode
+ |
+ | "sftp"
+ ------> KIOFuseDirNode
+ \
+ \ "user@someserver" "a file"
+ ------> KIOFuseRemoteDirNode -----> KIOFuseRemoteFileNode
+ "user:pass@someserver"
+
+"" (ino: 2) "deleted file"
+KIOFuseDirNode ----> KIOFuseRemoteFileNode
+```
+
+The root node with inode number 1 represents the root of the VFS.
+Only files below are visible in the VFS hierarchy.
+
+Note that `RemoteFileNode` is an abstract class. At runtime, it will actually be
+instantiated as one of its subclasses (`KIOFuseRemoteCacheBasedNode` or
+`KIOFuseRemoteFileJobBasedNode`). The type of class instantiated will depend on
+the URL of the file. Please see the [File IO](#file-io) section to learn more.
+
+Remote nodes (`KIOFuseRemote*Node`) are derived from `KIOFuseRemoteFileInfo` in
+addition to the base node type, which contains some members specific for remote
+access.
+
+`m_overrideUrl` is used to implement URL mountpoints and redirections. To get the
+remote URL of a node, the tree is traversed upwards until an override is found
+and the path is appended.
+
+`m_lastStatRefresh` stores the time when `m_stat` was updated last. It's updated
+on node construction and by `updateNodeFromUDSEntry` and queried by the
+`awaitAttrRefreshed` method.
+
+## Mounting a URL
+
+Goal of mounting a URL is to make the target file/directory reachable over the
+FUSE filesystem. The first step is to verify that the target actually exists,
+if that is not the case an error is returned without doing any changes.
+
+If the target is reachable, the next step is to find which part of the URL
+(from left to right) is the first accessible one. This is needed as ioworkers
+like `tar` do not support listing `tar:///` and instead need some part of the path
+to return results. This minimum URL is the "origin" and a `KIOFuseRemoteDirNode`
+with the origin as `m_overrideUrl` is created, with the parents as plain
+`KIOFuseDirNode`s.
+
+The local path to this origin node with the path from the origin to the target
+node is returned. Note that at this point this node doesn't actually exist
+locally though, only everything up until (including) the origin. To reach the
+rest, the kernel does lookup operations which trigger `KIO::stat` and node
+creation for each path component.
+
+Initially, mounting was implemented in a different way, to only require a
+single `KIO::stat` call for determining accessibility and the target node's
+attributes. All path components except the final one were assumed to be
+traversable directories, but this assumption doesn't hold for symlinks. By
+letting the kernel deal with path traversal, symlinks returned by lookup are
+handled correctly.
+
+## Unlinking a node
+
+The root node with inode number 2 is used as a parent for deleted, but still
+opened (non-zero lookup count) nodes. This is used for proper unlinking.
+When the loopup count of a node below the "deleted root" drops to zero, the
+node is deleted, i.e. the inode number can be reused and memory is freed.
+When unlinking a node which already has a lookup count of zero, it is directly
+deleted.
+
+## General anatomy of a write operation
+
+All write operations are implemented by verifying the parameters locally (if
+possible at all) and then starting the operation to KIO. Once the operation
+completes, either an error is sent or the change is done in the local VFS tree
+and the result is sent.
+
+```cpp
+void KIOFuseVFS::operation(fuse_req_t req, fuse_ino_t inode, ...)
+{
+ KIOFuseVFS *that = reinterpret_cast<KIOFuseVFS*>(fuse_req_userdata(req));
+ auto node = that->nodeForIno(parent);
+ if(!node) complain and return;
+
+ auto job = KIO::operation(that->remoteUrl(node), ...);
+ connect(job, &finished, [=] {
+ if(job->error())
+ fuse_reply_err(req, kioErrorToFuseError(job->error()));
+ else
+ {
+ that->doOperation(node);
+ fuse_reply_result(req, ...);
+ }
+ });
+}
+```
+
+## Permissions
+
+While the `st_uid`/`st_gid`/`st_mode` fields of nodes are used from KIO if possible,
+access is not checked by `kio-fuse` at all. Instead, KIO returns errors if an
+operation fails because of missing permissions and those are simply forwarded.
+
+## Node attributes
+
+For every node in the VFS, the full `struct stat` is already available when
+inserting it into the tree. This happens when mounting a URL (uses `KIO::stat`)
+and when requesting the children of a URL (using `KIO::listDir` with details).
+The same is true of the symlink's target path.
+
+As a result, `getattr` and `readlink` are non-blocking if the node's attributes
+have not timed out.
+
+`setattr` instead does block, it only returns if all of the requested operations
+(e.g. `SET_ATTR_MTIME`, `SET_ATTR_MODE`, `SET_ATTR_UID`) completed.
+
+## Directory operations
+
+To support the optimization possibility the lookup operation in the low-level
+API offers, children of `KIOFuseRemoteDirNode` are loaded lazily. This means
+that the full list of children is only requested (using `KIO::listDir`) if
+required, so if lookup on the directory fails or if readdir is executed.
+
+A node's children are considered valid for 30 seconds. The last time a node
+was dir listed via `KIO::listDir` is stored in `m_lastChildrenRefreshed`.
+Each readdir request checks if they have timed out via the
+`haveChildrenTimedOut()` method and updates the children (and consequently, their
+attributes) as appropriate. This is implemented in `awaitChildrenComplete`.
+
+## Node Expiration
+
+Each remote node has a timeout on its attributes and its children, which is
+currently set to 30 seconds.
+
+When a node's attributes are requested, the `awaitAttrRefreshed` method checks
+whether the attributes expired and if so, calls `mountUrl` to refresh it via
+`updateNodeFromUDSEntry`. If the result of `KIO::stat` indicates that the node does
+not exist on the remote side anymore it is (recursively) marked as deleted.
+Otherwise, a new node based on the fresh attributes is created and if the type
+matches, used to update the existing node. If the type does not match, the old
+node is marked as deleted and the new node inserted into the tree.
+
+For directories, `awaitChildrenComplete` calls `KIO::listDir` for refreshing the
+list of children, either removing vanished nodes, creating new nodes or
+updating existing ones using the same method as outlined above.
+
+## File IO
+
+File IO is done in either of two ways, depending on what the protocol supports.
+If the protocol supports `KIO::open` (and all of its operations, which at the time
+of writing is `read`/`write`/`seek`/`truncate`) then IO will be based upon KIO's `FileJob`.
+KIO's `FileJob` interface allows random-access IO, and hence all `read`, `write` and
+`truncate` requests are simply forwarded to the corresponding `FileJob` functions.
+
+Whilst improving performance for larger files compared to the cache-based IO
+described below, the performance of individual `read`/`write`/`truncate` requests
+if significantly reduced.
+
+The protocols that currently support `KIO::open` are `file`/`sftp`/`smb`.
+
+Otherwise, file IO is implemented completely on top of a file based cache.
+On the first read or write access to a non truncated file, the whole file is
+downloaded into a new temporary file and all readers are notified on cache
+completeness changes (see `awaitBytesAvailable`).
+
+Therefore the read and write ops itself are trivial, they just forward the
+IO operation to the temporary file once enough data is available.
+
+On each write to a file, the file is marked as dirty and added to the set
+of dirty nodes. On various occasions, `awaitNodeFlushed` is called which removes
+the node from the dirty set and starts a `KIO::put` for the file. On success,
+it is checked whether a write occured during flushing and if so, another
+flush is started. This is repeated until the node was still marked as clean
+on finish.
+
+When there a no open file descriptors to a node anymore, the cache is flushed
+if necessary and then dropped.
+
+## Hardlinks
+
+Hardlinks are not supported well in the current design of KIO so they were
+simply not considered during KIO FUSE development either.
+
+While inode and device numbers can be returned are part of UDSEntries returned
+from workers, neither `stat.st_link` nor `::link` are accessible.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/README new/kio-fuse-5.1.0/README
--- old/kio-fuse-5.0.1/README 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,86 +0,0 @@
-How to use kio-fuse
-===================
-
-Building
---------
-
-Very simple: Install build dependencies, run cmake, make and you're done!
-
-To install build dependencies on Arch Linux:
-
- pacman -S base-devel fuse3 cmake extra-cmake-modules qt5base kio
-
- (and kio-extras for running certain tests)
-
-To install build dependencies on Fedora 32:
-
- dnf install cmake extra-cmake-modules kf5-kio-devel fuse3-devel
- qt5-qtbase-devel pkg-config
-
- (and kio-extras for running certain tests)
-
-To install build dependencies on openSUSE Tumbleweed:
-
- zypper install extra-cmake-modules 'cmake(KF5KIO)' 'pkgconfig(fuse3)'
- kio-devel 'cmake(Qt5Test)' 'cmake(Qt5Dbus)'
-
- (and kio-extras5 for running certain tests)
-
-To install build dependencies on Ubuntu 19.04:
-
- apt install fuse3 libfuse3-dev build-essential cmake extra-cmake-modules
- pkg-config libkf5kio-dev
-
- (and kio-extras for running certain tests)
-
-To run the tests, run make test. To install, run make install.
-
-Using
------
-
-kio-fuse is a DBus activated service, so for permanent installation the
-installed service file has to be in a directory used by dbus-daemon.
-If you're installing into a custom prefix, you may want to link
-[prefix]/share/dbus-1/services/org.kde.KIOFuse.service into
-~/.local/share/dbus-1/services/ and
-[prefix]/lib/systemd/user/kio-fuse.service into
-~/.local/share/systemd/user/.
-
-To make sure that the installed version is actually used, stop any already
-running instance with "killall kio-fuse" and log out and in again.
-
-For quick testing, installation and DBus activation can be skipped. Instead,
-after stopping any previously running instance, start the built kio-fuse binary
-with the -f parameter and possibly other options.
-
-The DBus service is automatically used by KIO (5.66+) when opening a file on a
-KIO URL with a KIO-unaware application.
-
-Running it manually
--------------------
-
-Create a new directory somewhere, make sure that no daemon is going to clean
-up after it (like systemd-tmpfiles in /run/user/...) and run kio-fuse -d $dir.
-The "-d" means that it shows debug output and does not daemonize - that makes it
-easier to use it at first.
-
-In your session bus you'll find a org.kde.KIOFuse service with an interface that
-allows one to communicate with the kio-fuse process.
-
-Let's assume you want to make the files at
-ftp://user:password@server/directory accessible in your local file system.
-To send the corresponding mount command, type the following in the command line:
-dbus-send --session --print-reply --type=method_call \
- --dest=org.kde.KIOFuse \
- /org/kde/KIOFuse \
- org.kde.KIOFuse.VFS.mountUrl string:ftp://user:password@server/directory
-
-If it failed, kio-fuse will reply with an appropriate error message. If it
-succeeded, you will get the location that the URL is mounted on as a reply. In
-this case it would be $dir/ftp/user@server/directory and the directory will be
-accessibly at that URL.
-
-After your work is done, simply run "fusermount3 -u $dir" to unmount the URL and
-exit kio-fuse.
-
-Have a lot of fun!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/README.md new/kio-fuse-5.1.0/README.md
--- old/kio-fuse-5.0.1/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/kio-fuse-5.1.0/README.md 2023-12-09 21:26:39.000000000 +0100
@@ -0,0 +1,129 @@
+# KIO FUSE
+
+[FUSE](https://www.kernel.org/doc/html/latest/filesystems/fuse.html)
+interface for [KIO](https://api.kde.org/frameworks/kio/html/).
+
+## Build and Install KIO FUSE
+
+Here we describe how to compile, test, run and install KIO FUSE from source.
+
+### Build Dependencies
+
+To install build dependencies on Arch Linux:
+
+ pacman -S base-devel fuse3 cmake extra-cmake-modules qt5base kio
+
+(and `kio-extras` for running certain tests)
+
+To install build dependencies on Fedora 32:
+
+ dnf install cmake extra-cmake-modules kf5-kio-devel fuse3-devel
+ qt5-qtbase-devel pkg-config
+
+(and `kio-extras` for running certain tests)
+
+To install build dependencies on openSUSE Tumbleweed:
+
+ zypper install extra-cmake-modules 'cmake(KF5KIO)' 'pkgconfig(fuse3)'
+ kio-devel 'cmake(Qt5Test)' 'cmake(Qt5Dbus)'
+
+(and `kio-extras5` for running certain tests)
+
+To install build dependencies on Ubuntu 19.04:
+
+ apt install fuse3 libfuse3-dev build-essential cmake extra-cmake-modules
+ pkg-config libkf5kio-dev
+
+(and `kio-extras` for running certain tests)
+
+### Build Steps
+
+Once you have installed the build dependencies one can build KIO FUSE
+itself.
+
+In the root of the git repository run the following:
+
+```
+mkdir build; cd build; cmake .. && make`
+```
+
+### Running Tests
+
+In the build directory run the following:
+
+```
+make test
+```
+
+For more verbose output run the following:
+
+```
+make tests ARGS=-V
+```
+
+### Installing KIO FUSE
+
+In the build directory run the following:
+
+```
+make install
+```
+
+## Usage
+
+This section describes how to start KIO FUSE via DBus activation and
+by simply running it manually.
+
+### KIO FUSE DBus Activation
+
+KIO FUSE is a DBus activated service, so for permanent installation the
+installed service file has to be in a directory used by `dbus-daemon`.
+If you're installing into a custom prefix, you may want to link
+`[prefix]/share/dbus-1/services/org.kde.KIOFuse.service` into
+`~/.local/share/dbus-1/services/` and
+`[prefix]/lib/systemd/user/kio-fuse.service` into
+`~/.local/share/systemd/user/`.
+
+To make sure that the installed version is actually used, stop any already
+running instance with `killall kio-fuse` and log out and in again.
+
+For quick testing, installation and DBus activation can be skipped. Instead,
+after stopping any previously running instance, start the built `kio-fuse` binary
+with the `-f` parameter and possibly other options.
+
+The DBus service is automatically used by KIO (5.66+) when opening a file on a
+KIO URL with a KIO-unaware application.
+
+### Running KIO FUSE manually
+
+Create a new directory somewhere, make sure that no daemon is going to clean
+up after it (like `systemd-tmpfiles` in `/run/user/...`) and run `kio-fuse -d $dir`.
+The `-d` means that it shows debug output and does not daemonize - that makes it
+easier to use it at first.
+
+In your session bus you'll find a `org.kde.KIOFuse` service with an interface that
+allows one to communicate with the `kio-fuse` process.
+
+Let's assume you want to make the files at
+`ftp://user:password@server/directory` accessible in your local file system.
+To send the corresponding mount command, you can use our utility script [`utils/mount-url.sh`](./utils/mount-url.sh) as follows:
+```
+mount-url.sh ftp://user:password@server/directory
+```
+Alternatively, you can simply use `dbus-send` (which is what `mount-url.sh` uses anyway):
+```
+dbus-send --session --print-reply --type=method_call \
+ --dest=org.kde.KIOFuse \
+ /org/kde/KIOFuse \
+ org.kde.KIOFuse.VFS.mountUrl string:ftp://user:password@server/directory
+```
+
+If it failed, KIO FUSE will reply with an appropriate error message. If it
+succeeded, you will get the location that the URL is mounted on as a reply. In
+this case it would be `$dir/ftp/user@server/directory` and the directory will be
+accessibly at that URL.
+
+After your work is done, simply run `fusermount3 -u $dir` to unmount the URL and
+exit `kio-fuse`.
+
+Have a lot of fun!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/TODO new/kio-fuse-5.1.0/TODO
--- old/kio-fuse-5.0.1/TODO 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/TODO 2023-12-09 21:26:39.000000000 +0100
@@ -4,8 +4,8 @@
* statvfs (?)
* interrupting requests (just killing the KIO Job would also break other requests for the
same resource)
-KIO Slave support:
-- Deal with invalid size reporting slaves (http/gdrive/...)?
+KIO Worker support:
+- Deal with workers reporting invalid sizes (http/gdrive/...)?
Performance/usability improvements:
- Better error reporting:
* Flushing happens on close(), which can't report errors, so it might be a good idea to show
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/kiofusenode.h new/kio-fuse-5.1.0/kiofusenode.h
--- old/kio-fuse-5.0.1/kiofusenode.h 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/kiofusenode.h 2023-12-09 21:26:39.000000000 +0100
@@ -21,7 +21,7 @@
class KIOFuseNode {
public:
// Creates a new node. Make sure to set the node's m_stat.st_ino once inserted.
- KIOFuseNode(const fuse_ino_t parentIno, QString nodeName, const struct stat &stat) :
+ KIOFuseNode(const fuse_ino_t parentIno, const QString &nodeName, const struct stat &stat) :
m_parentIno(parentIno),
m_nodeName(nodeName),
m_stat(stat)
@@ -76,7 +76,7 @@
// be emitted on finish.
bool m_childrenRequested = false;
// Stores the last time a node's children were refreshed via KIO::listDir.
- std::chrono::steady_clock::time_point m_lastChildrenRefresh;
+ std::chrono::steady_clock::time_point m_lastChildrenRefresh = decltype(m_lastChildrenRefresh)::min();
// Returns true if a node is due for a readdir refresh, false otherwise.
bool haveChildrenTimedOut() { return m_lastChildrenRefresh < g_timeoutEpoch || (std::chrono::steady_clock::now() - m_lastChildrenRefresh) >= ATTR_TIMEOUT; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/kiofuseservice.cpp new/kio-fuse-5.1.0/kiofuseservice.cpp
--- old/kio-fuse-5.0.1/kiofuseservice.cpp 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/kiofuseservice.cpp 2023-12-09 21:26:39.000000000 +0100
@@ -17,11 +17,12 @@
#include "kiofusevfs.h"
const QStringList KIOFuseService::m_blacklist {
- QStringLiteral("gdrive"), // @see #1
- QStringLiteral("mtp"), // @see #2
- // http(s) is buggy and gives back invalid sizes (similar to gdrive).
- QStringLiteral("https"),
- QStringLiteral("http")
+ QStringLiteral("gdrive"), // @see #1
+ QStringLiteral("mtp"), // @see #2
+ // http(s) is buggy and gives back invalid sizes (similar to gdrive).
+ QStringLiteral("https"),
+ QStringLiteral("http"),
+ QStringLiteral("admin"),
};
KIOFuseService::~KIOFuseService()
@@ -31,7 +32,7 @@
kiofusevfs.stop();
}
-bool KIOFuseService::start(struct fuse_args &args, QString mountpoint, bool foreground)
+bool KIOFuseService::start(struct fuse_args &args, const QString &mountpoint, bool foreground)
{
if(!m_mountpoint.isEmpty())
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/kiofuseservice.h new/kio-fuse-5.1.0/kiofuseservice.h
--- old/kio-fuse-5.0.1/kiofuseservice.h 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/kiofuseservice.h 2023-12-09 21:26:39.000000000 +0100
@@ -38,7 +38,7 @@
virtual ~KIOFuseService();
/** Attempts to register the service and start kiofusevfs. If both succeed,
* returns true, false otherwise. */
- bool start(struct fuse_args &args, QString mountpoint, bool foreground);
+ bool start(struct fuse_args &args, const QString &mountpoint, bool foreground);
KIOFuseVFS kiofusevfs;
public Q_SLOTS:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/kiofusevfs.cpp new/kio-fuse-5.1.0/kiofusevfs.cpp
--- old/kio-fuse-5.0.1/kiofusevfs.cpp 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/kiofusevfs.cpp 2023-12-09 21:26:39.000000000 +0100
@@ -295,14 +295,29 @@
m_useFileJob = useFileJob;
}
-void KIOFuseVFS::mountUrl(QUrl url, std::function<void (const QString &, int)> callback)
+void KIOFuseVFS::mountUrl(const QUrl &url, const std::function<void (const QString &, int)> &callback)
{
+ qDebug(KIOFUSE_LOG) << "Trying to mount" << url;
+
+ if(!url.isValid()) {
+ qDebug(KIOFUSE_LOG) << "Got invalid URL";
+ return callback({}, EINVAL);
+ }
+
+ const auto vfsPath = mapUrlToVfs(url).join(QLatin1Char('/'));
+ // If it's not mounted, this returns an empty QUrl.
+ // Checking with the target URL is done to detect password changes.
+ if(localPathToRemoteUrl(vfsPath) == url) {
+ qDebug(KIOFUSE_LOG) << "Already mounted";
+ return callback(vfsPath, 0);
+ }
+
// First make sure it actually exists
qDebug(KIOFUSE_LOG) << "Stating" << url.toDisplayString() << "for mount";
auto statJob = KIO::stat(url);
statJob->setSide(KIO::StatJob::SourceSide); // Be "optimistic" to allow accessing
// files over plain HTTP
- connect(statJob, &KIO::StatJob::result, [=] {
+ connect(statJob, &KIO::StatJob::result, this, [=] {
if(statJob->error())
{
qDebug(KIOFUSE_LOG) << statJob->errorString();
@@ -317,10 +332,12 @@
});
}
-QStringList KIOFuseVFS::mapUrlToVfs(QUrl url)
+QStringList KIOFuseVFS::mapUrlToVfs(const QUrl &url)
{
// Build the path where it will appear in the VFS
- auto targetPathComponents = QStringList{url.scheme(), url.authority()};
+ auto urlWithoutPassword = url;
+ urlWithoutPassword.setPassword({});
+ auto targetPathComponents = QStringList{urlWithoutPassword.scheme(), urlWithoutPassword.authority()};
targetPathComponents.append(url.path().split(QLatin1Char('/')));
// Strip empty path elements, for instance in
@@ -332,13 +349,13 @@
return targetPathComponents;
}
-void KIOFuseVFS::findAndCreateOrigin(QUrl url, QStringList pathElements, std::function<void (const QString &, int)> callback)
+void KIOFuseVFS::findAndCreateOrigin(const QUrl &url, const QStringList &pathElements, const std::function<void (const QString &, int)> &callback)
{
qDebug(KIOFUSE_LOG) << "Trying origin" << url.toDisplayString();
auto statJob = KIO::stat(url);
statJob->setSide(KIO::StatJob::SourceSide); // Be "optimistic" to allow accessing
// files over plain HTTP
- connect(statJob, &KIO::StatJob::result, [=] {
+ connect(statJob, &KIO::StatJob::result, this, [=] {
if(statJob->error())
{
qDebug(KIOFUSE_LOG) << statJob->errorString();
@@ -395,7 +412,7 @@
return callback({}, EIO);
}
- // Some ioslaves like man:/ implement "index files" for folders (including /) by making
+ // Some ioworkers like man:/ implement "index files" for folders (including /) by making
// them look as regular file when stating, but they also support listDir for directory
// functionality. This behaviour is not compatible, so just reject it outright.
if((url.path().isEmpty() || url.path() == QStringLiteral("/"))
@@ -602,7 +619,7 @@
fileJob->truncate(sharedState->value.st_size);
connect(fileJob, &KIO::FileJob::truncated, [=] {
fileJob->close();
- connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::close), [=] {
+ connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::fileClosed), [=] {
fileJobBasedFileNode->m_stat.st_size = sharedState->value.st_size;
markOperationCompleted(FUSE_SET_ATTR_SIZE);
});
@@ -748,7 +765,7 @@
auto url = addPathElements(that->remoteUrl(node), {nameStr});
auto *job = KIO::put(url, mode & ~S_IFMT);
// Not connecting to the dataReq signal at all results in an empty file
- that->connect(job, &KIO::SimpleJob::finished, [=] {
+ that->connect(job, &KIO::SimpleJob::finished, that, [=] {
if(job->error())
{
fuse_reply_err(req, kioErrorToFuseError(job->error()));
@@ -784,7 +801,7 @@
auto namestr = QString::fromUtf8(name);
auto url = addPathElements(that->remoteUrl(node), {namestr});
auto *job = KIO::mkdir(url, mode & ~S_IFMT);
- that->connect(job, &KIO::SimpleJob::finished, [=] {
+ that->connect(job, &KIO::SimpleJob::finished, that, [=] {
if(job->error())
{
fuse_reply_err(req, kioErrorToFuseError(job->error()));
@@ -857,7 +874,7 @@
}
auto *job = KIO::del(that->remoteUrl(node));
- that->connect(job, &KIO::SimpleJob::finished, [=] {
+ that->connect(job, &KIO::SimpleJob::finished, that, [=] {
if(job->error())
{
fuse_reply_err(req, kioErrorToFuseError(job->error()));
@@ -923,7 +940,7 @@
auto namestr = QString::fromUtf8(name);
auto url = addPathElements(that->remoteUrl(node), {namestr});
auto *job = KIO::symlink(target, url);
- that->connect(job, &KIO::SimpleJob::finished, [=] {
+ that->connect(job, &KIO::SimpleJob::finished, that, [=] {
if(job->error())
{
fuse_reply_err(req, kioErrorToFuseError(job->error()));
@@ -1013,7 +1030,7 @@
newUrl = addPathElements(that->remoteUrl(remoteNewParent), {newNameStr});
auto *job = KIO::rename(url, newUrl, (flags & RENAME_NOREPLACE) ? KIO::DefaultFlags : KIO::Overwrite);
- that->connect(job, &KIO::SimpleJob::finished, [=] {
+ that->connect(job, &KIO::SimpleJob::finished, that, [=] {
if(job->error())
fuse_reply_err(req, kioErrorToFuseError(job->error()));
else
@@ -1231,7 +1248,7 @@
if(off_t(offset) != off)
{
fileJob->close();
- fileJob->connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::close), [=] {
+ fileJob->connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::fileClosed), [=] {
fuse_reply_err(req, EIO);
});
return;
@@ -1257,7 +1274,7 @@
return;
}
fileJob->close();
- fileJob->connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::close), [=] {
+ fileJob->connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::fileClosed), [=] {
fuse_reply_buf(req, buffer.constData(), buffer.size());
});
});
@@ -1353,12 +1370,12 @@
Q_UNUSED(job);
if (off_t(offset) != off) {
fileJob->close();
- fileJob->connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::close), [=] {
+ fileJob->connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::fileClosed), [=] {
fuse_reply_err(req, EIO);
});
return;
}
- // Limit write to avoid killing the slave.
+ // Limit write to avoid killing the worker.
// @see https://phabricator.kde.org/D15448
fileJob->write(data.left(0xFFFFFF));
off_t bytesLeft = size;
@@ -1372,7 +1389,7 @@
return;
}
fileJob->close();
- fileJob->connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::close), [=] {
+ fileJob->connect(fileJob, qOverload<KIO::Job*>(&KIO::FileJob::fileClosed), [=] {
// Wait till we've flushed first...
remoteNode->m_stat.st_size = std::max(off_t(offset + data.size()), remoteNode->m_stat.st_size);
fuse_reply_write(req, data.size());
@@ -1490,7 +1507,7 @@
return true;
}
-std::shared_ptr<KIOFuseNode> KIOFuseVFS::nodeByName(const std::shared_ptr<KIOFuseDirNode> &parent, const QString name) const
+std::shared_ptr<KIOFuseNode> KIOFuseVFS::nodeByName(const std::shared_ptr<KIOFuseDirNode> &parent, const QString &name) const
{
for(auto ino : parent->m_childrenInos)
{
@@ -1739,7 +1756,7 @@
void KIOFuseVFS::replyAttr(fuse_req_t req, std::shared_ptr<KIOFuseNode> node)
{
// Set st_blocks accordingly
- node->m_stat.st_blocks = (node->m_stat.st_size + node->m_stat.st_blksize - 1) / node->m_stat.st_blksize;
+ node->m_stat.st_blocks = (node->m_stat.st_size + 512 - 1) / 512;
// TODO: Validity timeout?
fuse_reply_attr(req, &node->m_stat, 0);
@@ -1763,7 +1780,7 @@
fuse_reply_entry(req, &entry);
}
-std::shared_ptr<KIOFuseNode> KIOFuseVFS::createNodeFromUDSEntry(const KIO::UDSEntry &entry, const fuse_ino_t parentIno, QString nameOverride)
+std::shared_ptr<KIOFuseNode> KIOFuseVFS::createNodeFromUDSEntry(const KIO::UDSEntry &entry, const fuse_ino_t parentIno, const QString &nameOverride)
{
QString name = nameOverride;
if(name.isEmpty())
@@ -1949,7 +1966,7 @@
return node;
}
-void KIOFuseVFS::awaitBytesAvailable(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, off_t bytes, std::function<void(int error)> callback)
+void KIOFuseVFS::awaitBytesAvailable(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, off_t bytes, const std::function<void(int error)> &callback)
{
if(bytes < 0)
{
@@ -1990,11 +2007,11 @@
int cacheFd = fileno(node->m_localCache);
if(lseek(cacheFd, 0, SEEK_END) == -1
|| !sane_write(cacheFd, data.data(), data.size()))
- emit node->localCacheChanged(errno);
+ Q_EMIT node->localCacheChanged(errno);
else
{
node->m_cacheSize += data.size();
- emit node->localCacheChanged(0);
+ Q_EMIT node->localCacheChanged(0);
}
});
connect(job, &KIO::TransferJob::result, [=] {
@@ -2008,7 +2025,7 @@
node->m_cacheSize = 0;
node->m_cacheComplete = false;
node->m_localCache = nullptr;
- emit node->localCacheChanged(kioErrorToFuseError(job->error()));
+ Q_EMIT node->localCacheChanged(kioErrorToFuseError(job->error()));
}
else
{
@@ -2016,7 +2033,7 @@
// This also ensures that the cache is seen as complete.
node->m_stat.st_size = node->m_cacheSize;
node->m_cacheComplete = true;
- emit node->localCacheChanged(0);
+ Q_EMIT node->localCacheChanged(0);
}
});
}
@@ -2047,7 +2064,7 @@
);
}
-void KIOFuseVFS::awaitCacheComplete(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, std::function<void (int)> callback)
+void KIOFuseVFS::awaitCacheComplete(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, const std::function<void (int)> &callback)
{
return awaitBytesAvailable(node, std::numeric_limits<off_t>::max(), [callback](int error) {
// ESPIPE == cache complete, but less than the requested size, which is expected.
@@ -2055,7 +2072,7 @@
});
}
-void KIOFuseVFS::awaitChildrenComplete(const std::shared_ptr<KIOFuseDirNode> &node, std::function<void (int)> callback)
+void KIOFuseVFS::awaitChildrenComplete(const std::shared_ptr<KIOFuseDirNode> &node, const std::function<void (int)> &callback)
{
auto remoteNode = std::dynamic_pointer_cast<KIOFuseRemoteDirNode>(node);
if(!remoteNode)
@@ -2074,7 +2091,7 @@
// List the remote dir
auto refreshTime = std::chrono::steady_clock::now();
auto *job = KIO::listDir(remoteUrl(remoteNode));
- connect(job, &KIO::ListJob::entries, [=](auto *job, const KIO::UDSEntryList &entries) {
+ connect(job, &KIO::ListJob::entries, this, [=](auto *job, const KIO::UDSEntryList &entries) {
for(auto &entry : entries)
{
// Inside the loop because refreshing "." might drop it
@@ -2118,12 +2135,12 @@
insertNode(childrenNode);
}
});
- connect(job, &KIO::ListJob::result, [=] {
+ connect(job, &KIO::ListJob::result, this, [=] {
remoteNode->m_childrenRequested = false;
if(job->error() && job->error() != KJob::KilledJobError)
{
- emit remoteNode->gotChildren(kioErrorToFuseError(job->error()));
+ Q_EMIT remoteNode->gotChildren(kioErrorToFuseError(job->error()));
return;
}
@@ -2136,7 +2153,7 @@
}
remoteNode->m_lastChildrenRefresh = refreshTime;
- emit remoteNode->gotChildren(0);
+ Q_EMIT remoteNode->gotChildren(0);
});
remoteNode->m_childrenRequested = true;
@@ -2162,7 +2179,7 @@
m_dirtyNodes.insert(node->m_stat.st_ino);
}
-void KIOFuseVFS::awaitNodeFlushed(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, std::function<void (int)> callback)
+void KIOFuseVFS::awaitNodeFlushed(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, const std::function<void (int)> &callback)
{
if(!node->m_cacheDirty && !node->m_flushRunning)
return callback(0); // Nothing to flush/wait for
@@ -2198,7 +2215,7 @@
job->setTotalSize(node->m_cacheSize);
off_t bytesSent = 0; // Modified inside the lambda
- connect(job, &KIO::TransferJob::dataReq, [=](auto *job, QByteArray &data) mutable {
+ connect(job, &KIO::TransferJob::dataReq, this, [=](auto *job, QByteArray &data) mutable {
Q_UNUSED(job);
// Someone truncated the file?
@@ -2232,14 +2249,14 @@
bytesSent += toSend;
});
- connect(job, &KIO::TransferJob::result, [=] {
+ connect(job, &KIO::TransferJob::result, this, [=] {
node->m_flushRunning = false;
if(job->error())
{
qWarning(KIOFUSE_LOG) << "Failed to send data:" << job->errorString();
markCacheDirty(node); // Try again
- emit node->cacheFlushed(kioErrorToFuseError(job->error()));
+ Q_EMIT node->cacheFlushed(kioErrorToFuseError(job->error()));
return;
}
@@ -2248,7 +2265,7 @@
// Nobody wrote to the cache while sending data
m_dirtyNodes.extract(node->m_stat.st_ino);
node->m_numKilledJobs = 0;
- emit node->cacheFlushed(0);
+ Q_EMIT node->cacheFlushed(0);
}
else
awaitNodeFlushed(node, [](int){});
@@ -2266,7 +2283,7 @@
);
}
-void KIOFuseVFS::awaitAttrRefreshed(const std::shared_ptr<KIOFuseNode> &node, std::function<void (int)> callback)
+void KIOFuseVFS::awaitAttrRefreshed(const std::shared_ptr<KIOFuseNode> &node, const std::function<void (int)> &callback)
{
auto remoteNode = std::dynamic_pointer_cast<KIOFuseRemoteNodeInfo>(node);
if(!remoteNode || !remoteNode->hasStatTimedOut())
@@ -2289,7 +2306,7 @@
Q_UNUSED(mountedNode);
remoteNode->m_statRequested = false;
- emit remoteNode->statRefreshed(error);
+ Q_EMIT remoteNode->statRefreshed(error);
});
}
@@ -2304,7 +2321,7 @@
);
}
-void KIOFuseVFS::awaitChildMounted(const std::shared_ptr<KIOFuseRemoteDirNode> &parent, const QString name, std::function<void (const std::shared_ptr<KIOFuseNode> &, int)> callback)
+void KIOFuseVFS::awaitChildMounted(const std::shared_ptr<KIOFuseRemoteDirNode> &parent, const QString &name, const std::function<void (const std::shared_ptr<KIOFuseNode> &, int)> &callback)
{
auto url = addPathElements(remoteUrl(parent), {name});
if(url.isEmpty()) // Not remote?
@@ -2319,7 +2336,7 @@
auto statJob = KIO::stat(url);
statJob->setSide(KIO::StatJob::SourceSide); // Be "optimistic" to allow accessing
// files over plain HTTP
- connect(statJob, &KIO::StatJob::result, [=] {
+ connect(statJob, &KIO::StatJob::result, this, [=] {
if(statJob->error())
{
qDebug(KIOFUSE_LOG) << statJob->errorString();
@@ -2347,7 +2364,7 @@
});
}
-QUrl KIOFuseVFS::originOfUrl(QUrl url)
+QUrl KIOFuseVFS::originOfUrl(const QUrl &url)
{
QUrl originUrl = url;
if(originUrl.path().startsWith(QLatin1Char('/')))
@@ -2461,7 +2478,7 @@
case KIO::ERR_CANNOT_RENAME : return EIO;
case KIO::ERR_CANNOT_CHMOD : return EIO;
case KIO::ERR_CANNOT_DELETE : return EIO;
- case KIO::ERR_SLAVE_DIED : return EIO;
+ case KIO::ERR_WORKER_DIED : return EIO;
case KIO::ERR_OUT_OF_MEMORY : return ENOMEM;
case KIO::ERR_UNKNOWN_PROXY_HOST : return EHOSTUNREACH;
case KIO::ERR_CANNOT_AUTHENTICATE : return EACCES;
@@ -2477,10 +2494,10 @@
case KIO::ERR_CANNOT_RENAME_PARTIAL : return EIO;
case KIO::ERR_NEED_PASSWD : return EACCES;
case KIO::ERR_CANNOT_SYMLINK : return EIO;
- case KIO::ERR_NO_CONTENT : return ENODATA;
+ case KIO::ERR_NO_CONTENT : return EIO;
case KIO::ERR_DISK_FULL : return ENOSPC;
case KIO::ERR_IDENTICAL_FILES : return EEXIST;
- case KIO::ERR_SLAVE_DEFINED : return EIO;
+ case KIO::ERR_WORKER_DEFINED : return EIO;
case KIO::ERR_UPGRADE_REQUIRED : return EPROTOTYPE;
case KIO::ERR_POST_DENIED : return EACCES;
case KIO::ERR_CANNOT_SEEK : return EIO;
@@ -2490,7 +2507,7 @@
case KIO::ERR_DROP_ON_ITSELF : return EINVAL;
case KIO::ERR_CANNOT_MOVE_INTO_ITSELF : return EINVAL;
case KIO::ERR_PASSWD_SERVER : return EIO;
- case KIO::ERR_CANNOT_CREATE_SLAVE : return EIO;
+ case KIO::ERR_CANNOT_CREATE_WORKER : return EIO;
case KIO::ERR_FILE_TOO_LARGE_FOR_FAT32 : return EFBIG;
case KIO::ERR_OWNER_DIED : return EIO;
default : return EIO;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/kiofusevfs.h new/kio-fuse-5.1.0/kiofusevfs.h
--- old/kio-fuse-5.0.1/kiofusevfs.h 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/kiofusevfs.h 2023-12-09 21:26:39.000000000 +0100
@@ -51,7 +51,7 @@
void setUseFileJob(bool useFileJob);
/** Runs KIO::stat on url and (if successful) creates an origin node at the lowest possible level.
* Returns the relative path to where url is reachable in the callback. */
- void mountUrl(QUrl url, std::function<void(const QString&, int)> callback);
+ void mountUrl(const QUrl &url, const std::function<void(const QString&, int)> &callback);
/** Converts a local path into a remote URL if it is mounted within the VFS */
QUrl localPathToRemoteUrl(const QString &localPath) const;
/** Returns the path upwards until a root node. */
@@ -101,7 +101,7 @@
static void signalHandler(int signal);
/** Returns a pointer to a child node of parent with m_nodeName == name or nullptr. */
- std::shared_ptr<KIOFuseNode> nodeByName(const std::shared_ptr<KIOFuseDirNode> &parent, const QString name) const;
+ std::shared_ptr<KIOFuseNode> nodeByName(const std::shared_ptr<KIOFuseDirNode> &parent, const QString &name) const;
/** Returns a pointer to the KIOFuseNode with inode number ino or nullptr. */
std::shared_ptr<KIOFuseNode> nodeForIno(const fuse_ino_t ino) const;
/** Removes the node from the old parent's children list (if any) and adds it to the new parent's list.*/
@@ -123,7 +123,7 @@
/** Depending on the lookup count, it makes the node a child of DeletedRoot or deletes it directly. */
void markNodeDeleted(const std::shared_ptr<KIOFuseNode> &node);
/** Creates a new node with the matching type and fills m_stat fields. */
- std::shared_ptr<KIOFuseNode> createNodeFromUDSEntry(const KIO::UDSEntry &entry, const fuse_ino_t parentIno, QString nameOverride);
+ std::shared_ptr<KIOFuseNode> createNodeFromUDSEntry(const KIO::UDSEntry &entry, const fuse_ino_t parentIno, const QString &nameOverride);
/** Applies a fresh KIO::UDSEntry to an existing node. If the type needs changing,
* The old node is deleted and a new one inserted instead. The now fresh node is returned. */
std::shared_ptr<KIOFuseNode> updateNodeFromUDSEntry(const std::shared_ptr<KIOFuseNode> &node, const KIO::UDSEntry &entry);
@@ -136,28 +136,28 @@
/** Invokes callback on error or when the bytes are available for reading/writing.
* If the file is smaller than bytes, it sets error = ESPIPE. */
- void awaitBytesAvailable(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, off_t bytes, std::function<void(int error)> callback);
+ void awaitBytesAvailable(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, off_t bytes, const std::function<void(int error)> &callback);
/** Invokes callback on error or when the cache is marked as complete. */
- void awaitCacheComplete(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, std::function<void(int error)> callback);
+ void awaitCacheComplete(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, const std::function<void(int error)> &callback);
/** Invokes callback on error or when all children nodes are available */
- void awaitChildrenComplete(const std::shared_ptr<KIOFuseDirNode> &node, std::function<void(int error)> callback);
+ void awaitChildrenComplete(const std::shared_ptr<KIOFuseDirNode> &node, const std::function<void(int error)> &callback);
/** Marks a node's cache as dirty and add it to m_dirtyNodes. */
void markCacheDirty(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node);
/** Calls the callback once the cache is not dirty anymore (no cache counts as clean as well).
* If writes happen while a flush is sending data, a flush will be retriggered. */
- void awaitNodeFlushed(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, std::function<void(int error)> callback);
+ void awaitNodeFlushed(const std::shared_ptr<KIOFuseRemoteCacheBasedFileNode> &node, const std::function<void(int error)> &callback);
/** Invokes callback on error or when a node has been refreshed (if its stat timed out) */
- void awaitAttrRefreshed(const std::shared_ptr<KIOFuseNode> &node, std::function<void(int error)> callback);
+ void awaitAttrRefreshed(const std::shared_ptr<KIOFuseNode> &node, const std::function<void(int error)> &callback);
/** Invokes callback on error on when the child node was fetched and created/updated. */
- void awaitChildMounted(const std::shared_ptr<KIOFuseRemoteDirNode> &node, const QString name, std::function<void(const std::shared_ptr<KIOFuseNode>&, int)> callback);
+ void awaitChildMounted(const std::shared_ptr<KIOFuseRemoteDirNode> &node, const QString &name, const std::function<void(const std::shared_ptr<KIOFuseNode>&, int)> &callback);
/** Returns the URL pointing to the origin of the linked resource, i.e. path set to / or empty. */
- QUrl originOfUrl(QUrl url);
+ QUrl originOfUrl(const QUrl &url);
/** Returns the path elements where the URL url gets mapped to in this VFS. */
- QStringList mapUrlToVfs(QUrl url);
+ QStringList mapUrlToVfs(const QUrl &url);
/** Stats url. If successful, returns the path where url + pathElements is reachable in callback.
* If it failed, it moves one part of pathElements to url and tries again, recursively. */
- void findAndCreateOrigin(QUrl url, QStringList pathElements, std::function<void(const QString&, int)> callback);
+ void findAndCreateOrigin(const QUrl &url, const QStringList &pathElements, const std::function<void(const QString&, int)> &callback);
/** Returns the corresponding FUSE error to the given KIO Job error */
static int kioErrorToFuseError(const int kioError);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/tests/CMakeLists.txt new/kio-fuse-5.1.0/tests/CMakeLists.txt
--- old/kio-fuse-5.0.1/tests/CMakeLists.txt 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/tests/CMakeLists.txt 2023-12-09 21:26:39.000000000 +0100
@@ -2,19 +2,17 @@
set(KIOFUSE_TEST_SOURCES
fileopstest.cpp)
-find_package(Qt5Test CONFIG REQUIRED)
-find_package(Qt5DBus CONFIG REQUIRED)
+find_package(Qt${QT_MAJOR_VERSION}Test CONFIG REQUIRED)
+find_package(Qt${QT_MAJOR_VERSION}DBus CONFIG REQUIRED)
-qt5_add_dbus_interface(KIOFUSE_TEST_SOURCES org.kde.KIOFuse.VFS.xml kiofuse_interface)
-qt5_add_dbus_interface(KIOFUSE_TEST_SOURCES org.kde.KIOFuse.Private.xml kiofuseprivate_interface)
+qt_add_dbus_interface(KIOFUSE_TEST_SOURCES org.kde.KIOFuse.VFS.xml kiofuse_interface)
+qt_add_dbus_interface(KIOFUSE_TEST_SOURCES org.kde.KIOFuse.Private.xml kiofuseprivate_interface)
add_executable(fileopstest-cache ${KIOFUSE_TEST_SOURCES})
-target_link_libraries(fileopstest-cache PRIVATE Qt5::Test Qt5::DBus KF5::KIOCore)
+target_link_libraries(fileopstest-cache PRIVATE Qt::Test Qt::DBus KF${QT_MAJOR_VERSION}::KIOCore)
target_compile_definitions(fileopstest-cache PRIVATE -DTEST_CACHE_BASED_IO)
add_test(NAME fileopstest-cache COMMAND dbus-run-session ${CMAKE_BINARY_DIR}/bin/fileopstest-cache)
-set_tests_properties(fileopstest-cache PROPERTIES ENVIRONMENT KDE_FORK_SLAVES=1)
add_executable(fileopstest-filejob ${KIOFUSE_TEST_SOURCES})
-target_link_libraries(fileopstest-filejob PRIVATE Qt5::Test Qt5::DBus KF5::KIOCore)
+target_link_libraries(fileopstest-filejob PRIVATE Qt::Test Qt::DBus KF${QT_MAJOR_VERSION}::KIOCore)
add_test(NAME fileopstest-filejob COMMAND dbus-run-session ${CMAKE_BINARY_DIR}/bin/fileopstest-filejob)
-set_tests_properties(fileopstest-filejob PROPERTIES ENVIRONMENT KDE_FORK_SLAVES=1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/tests/fileopstest.cpp new/kio-fuse-5.1.0/tests/fileopstest.cpp
--- old/kio-fuse-5.0.1/tests/fileopstest.cpp 2021-03-21 15:14:52.000000000 +0100
+++ new/kio-fuse-5.1.0/tests/fileopstest.cpp 2023-12-09 21:26:39.000000000 +0100
@@ -56,12 +56,12 @@
#endif // WASTE_DISK_SPACE
private:
- QDateTime roundDownToSecond(QDateTime dt);
+ QDateTime roundDownToSecond(const QDateTime &dt);
bool forceNodeTimeout();
/** Unlike QFileInfo::symLinkTarget, which returns absolute paths only,
* this returns the raw link content. On failure or truncation, a null
* QString is returned instead. */
- QString readlink(QString symlink);
+ QString readlink(const QString &symlink);
org::kde::KIOFuse::VFS m_kiofuse_iface{QStringLiteral("org.kde.KIOFuse"),
QStringLiteral("/org/kde/KIOFuse"),
@@ -131,7 +131,7 @@
// mtp:/ -> Remote URL can't possibly be location of KIOFuse mount.
// / -> Root can't possibly be location of KIOFuse mount.
// m_mountDir -> Whilst this is in the KIOFuse mount, no remote URL exists for it
- for(auto url : {QStringLiteral("mtp:/"), QStringLiteral("/"), m_mountDir.path()})
+ for(const auto &url : {QStringLiteral("mtp:/"), QStringLiteral("/"), m_mountDir.path()})
{
errorReply = m_kiofuse_iface.remoteUrl(url);
errorReply.waitForFinished();
@@ -683,7 +683,7 @@
void FileOpsTest::testManWorkaround()
{
- // The man ioslave has "hybrid" directories which stat as regular files but also support
+ // The man ioworker has "hybrid" directories which stat as regular files but also support
// listDir. This behaviour is not supported and mounting has to fail.
if (!KProtocolInfo::isKnownProtocol(QStringLiteral("man")))
@@ -1029,9 +1029,9 @@
}
#endif // WASTE_DISK_SPACE
-QDateTime FileOpsTest::roundDownToSecond(QDateTime dt)
+QDateTime FileOpsTest::roundDownToSecond(const QDateTime &dt)
{
- return QDateTime::fromTime_t(dt.toTime_t());
+ return dt.addMSecs(-dt.time().msec());
}
bool FileOpsTest::forceNodeTimeout()
@@ -1041,7 +1041,7 @@
return !reply.isError();
}
-QString FileOpsTest::readlink(QString symlink)
+QString FileOpsTest::readlink(const QString &symlink)
{
char buf[PATH_MAX];
int len = ::readlink(qPrintable(symlink), buf, sizeof(buf));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kio-fuse-5.0.1/utils/mount-url.sh new/kio-fuse-5.1.0/utils/mount-url.sh
--- old/kio-fuse-5.0.1/utils/mount-url.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/kio-fuse-5.1.0/utils/mount-url.sh 2023-12-09 21:26:39.000000000 +0100
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+# SPDX-FileCopyrightText: 2022 Alexander Saoutkin <a.saoutkin(a)gmail.com>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+
+dbus-send --session --print-reply --type=method_call \
+ --dest=org.kde.KIOFuse \
+ /org/kde/KIOFuse \
+ org.kde.KIOFuse.VFS.mountUrl "string:$1"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kdump for openSUSE:Factory checked in at 2023-12-14 22:02:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdump (Old)
and /work/SRC/openSUSE:Factory/.kdump.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump"
Thu Dec 14 22:02:44 2023 rev:143 rq:1132926 version:2.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2023-11-02 20:20:45.890279051 +0100
+++ /work/SRC/openSUSE:Factory/.kdump.new.25432/kdump.changes 2023-12-14 22:02:44.931219632 +0100
@@ -1,0 +2,9 @@
+Wed Dec 13 16:44:48 UTC 2023 - Jiri Bohac <jbohac(a)suse.com>
+
+- upgrade to version 2.0.0
+ * add support for riscv64 (bsc#1204214)
+ * mkdumprd: fix the check for updated SSH keys
+ * prefer by-path and device-mapper aliases (bsc#1217617)
+ * udev: don't reload kdump if kernel handles hotplug (jsc#PED-5077)
+
+-------------------------------------------------------------------
Old:
----
kdump-1.9.8.tar.xz
New:
----
kdump-2.0.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdump.spec ++++++
--- /var/tmp/diff_new_pack.QS58fm/_old 2023-12-14 22:02:45.751249209 +0100
+++ /var/tmp/diff_new_pack.QS58fm/_new 2023-12-14 22:02:45.751249209 +0100
@@ -44,16 +44,20 @@
%ifarch %power64
%define qemu qemu-ppc
%else
+%ifarch riscv64
+%define qemu qemu-extra
+%else
%define qemu qemu-%{_target_cpu}
%endif
%endif
%endif
%endif
+%endif
%define dracutlibdir %{_prefix}/lib/dracut
Name: kdump
-Version: 1.9.8
+Version: 2.0.0
Release: 0
Summary: Kernel crash dump scripts and utilities
License: GPL-2.0-or-later
++++++ kdump-1.9.8.tar.xz -> kdump-2.0.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.8/70-kdump.rules.in new/kdump-2.0.0/70-kdump.rules.in
--- old/kdump-1.9.8/70-kdump.rules.in 2023-10-31 14:48:03.000000000 +0100
+++ new/kdump-2.0.0/70-kdump.rules.in 2023-12-13 17:34:59.000000000 +0100
@@ -4,13 +4,13 @@
# no kdump udev rules are required.
#
@else
-#
+
+# Do nothing if kernel itself updates vmcoreinfo on hotplug
+SUBSYSTEM=="cpu", ATTRS{crash_hotplug}=="1", GOTO="kdump_end"
+SUBSYSTEM=="memory", ATTRS{crash_hotplug}=="1", GOTO="kdump_end"
+
# Kdump core headers needs to be regnerated if the CPUs or memory changes.
# For this, reload kdump.
-#
-# Novell Bug #389658
-#
-
SUBSYSTEM=="memory", ACTION=="add|remove", GOTO="kdump_try_restart"
@if @ARCH@ ppc ppc64 ppc64le
SUBSYSTEM=="cpu", ACTION=="online", GOTO="kdump_try_restart"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.8/NEWS new/kdump-2.0.0/NEWS
--- old/kdump-1.9.8/NEWS 2023-10-31 14:48:03.000000000 +0100
+++ new/kdump-2.0.0/NEWS 2023-12-13 17:34:59.000000000 +0100
@@ -1,3 +1,10 @@
+2.0.0
+-----
+ * add support for riscv64 (bsc#1204214)
+ * mkdumprd: fix the check for updated SSH keys
+ * prefer by-path and device-mapper aliases (bsc#1217617)
+ * udev: don't reload kdump if kernel handles hotplug (jsc#PED-5077)
+
1.9.8
-----
* drop obsolete dependency on systemd-sysvinit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.8/calibrate/mkelfcorehdr.c new/kdump-2.0.0/calibrate/mkelfcorehdr.c
--- old/kdump-1.9.8/calibrate/mkelfcorehdr.c 2023-10-31 14:48:03.000000000 +0100
+++ new/kdump-2.0.0/calibrate/mkelfcorehdr.c 2023-12-13 17:34:59.000000000 +0100
@@ -46,6 +46,8 @@
# define ELF_MACHINE EM_ARM
#elif defined(__alpha__)
# define ELF_MACHINE EM_ALPHA
+#elif defined(__riscv)
+# define ELF_MACHINE EM_RISCV
#else
# error "Unimplemented architecture!"
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.8/calibrate/run-qemu.py new/kdump-2.0.0/calibrate/run-qemu.py
--- old/kdump-1.9.8/calibrate/run-qemu.py 2023-10-31 14:48:03.000000000 +0100
+++ new/kdump-2.0.0/calibrate/run-qemu.py 2023-12-13 17:34:59.000000000 +0100
@@ -34,7 +34,7 @@
image="vmlinuz"
elif arch.startswith("s390"):
image="image"
-elif arch == "aarch64":
+elif arch == "aarch64" or arch == "riscv64":
image="Image"
else:
image="vmlinux"
@@ -48,6 +48,9 @@
if params['ARCH'] == 'aarch64':
# QEMU defines all RAM at 1G physical for AArch64
ADDR_ELFCOREHDR = (1024 * 1024 * 1024) + (256 * 1024 * 1024)
+elif params['ARCH'] == 'riscv64':
+ # QEMU defines all RAM at 2G physical for RISC-V
+ ADDR_ELFCOREHDR = 0x80000000 + (256 * 1024 * 1024)
else:
# For other platforms, the region at 768M should be reasonably safe,
# because it is high enough to avoid conflicts with special-purpose
@@ -179,6 +182,9 @@
elif arch.startswith('s390'):
console = 'sclp0'
logdev = '229,0' # hvc0
+ elif arch == 'riscv64':
+ console = 'ttyS1'
+ logdev = '4,66' # ttyS2
else:
console = 'ttyS0'
logdev = '4,65' # ttyS1
@@ -197,6 +203,13 @@
'-chardev', 'file,path={},id=hvc0'.format(params['TRACKRSS_LOG']),
'-device', 'virtconsole,nr=0,chardev=hvc0',
)
+ elif arch == 'riscv64':
+ console_args = (
+ '-serial', 'mon:stdio', # one serial port is hardcoded in the virt machine
+ '-chardev', 'file,path={},id=ttyS1'.format(params['MESSAGES_LOG']),
+ '-chardev', 'file,path={},id=ttyS2'.format(params['TRACKRSS_LOG']),
+ '-device', 'pci-serial-2x,chardev1=ttyS1,chardev2=ttyS2',
+ )
else:
console_args = (
'-serial', 'file:' + params['MESSAGES_LOG'],
@@ -245,6 +258,10 @@
'-cpu', 'max',
'-bios', '/usr/share/qemu/qemu-uefi-aarch64.bin',
))
+ if arch == 'riscv64':
+ extra_qemu_args.extend((
+ '-machine', 'virt',
+ ))
kernel_args = (
'panic=1',
'nokaslr',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.8/doc/man/kdump.5.txt.in new/kdump-2.0.0/doc/man/kdump.5.txt.in
--- old/kdump-1.9.8/doc/man/kdump.5.txt.in 2023-10-31 14:48:03.000000000 +0100
+++ new/kdump-2.0.0/doc/man/kdump.5.txt.in 2023-12-13 17:34:59.000000000 +0100
@@ -237,6 +237,8 @@
following format will be created: "YYYY-MM-DD-HH-MM". That directory contains
the vmcore dump, the dmesg and a README.txt file.
+Bind mounts are not supported.
+
Default: "/var/crash".
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.8/init/mkdumprd new/kdump-2.0.0/init/mkdumprd
--- old/kdump-1.9.8/init/mkdumprd 2023-10-31 14:48:03.000000000 +0100
+++ new/kdump-2.0.0/init/mkdumprd 2023-12-13 17:34:59.000000000 +0100
@@ -54,6 +54,18 @@
mkdir -p "${KDUMP_SAVEDIR_REALPATH}"
read -r SOURCE TARGET FS OPTIONS < <(findmnt -n -v --raw --target "${KDUMP_SAVEDIR_REALPATH}" --output=source,target,fstype,options) ||
error "Cannot find mount point for ${KDUMP_SAVEDIR#*://}"
+
+ # get persistent device name for SOURCE
+ local _symlink
+ for _symlink in $(udevadm info --root --query=symlink "$SOURCE")
+ do
+ case "$_symlink" in
+ */by-path/*|*/mapper/*)
+ SOURCE="$_symlink"
+ break
+ esac
+ done
+
TARGET="${MOUNTPOINT}${TARGET}"
KDUMP_DRACUT_MOUNT_OPTION="${SOURCE} ${TARGET} ${FS} ${OPTIONS}"
;;
@@ -109,7 +121,8 @@
pushd ~root/.ssh >/dev/null #identity files are relative to this directory
[[ -z "${KDUMP_SSH_IDENTITY}" ]] && KDUMP_SSH_IDENTITY="id_rsa id_dsa id_ecdsa id_ed25519"
for i in ${KDUMP_SSH_IDENTITY}; do
- [[ -f "${i}.pub" ]] && [[ "${i}.pub" -ot "$INITRD" ]] || return 1
+ [[ -f "${i}.pub" ]] || continue
+ [[ "${i}.pub" -ot "$INITRD" ]] || return 1
done
popd
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.8/kdumptool/calibrate.cc new/kdump-2.0.0/kdumptool/calibrate.cc
--- old/kdump-1.9.8/kdumptool/calibrate.cc 2023-10-31 14:48:03.000000000 +0100
+++ new/kdump-2.0.0/kdumptool/calibrate.cc 2023-12-13 17:34:59.000000000 +0100
@@ -106,6 +106,10 @@
# define DEF_RESERVE_KB MB(192)
# define CAN_REDUCE_CPUS 1
+#elif defined(__riscv)
+# define DEF_RESERVE_KB MB(192)
+# define CAN_REDUCE_CPUS 1
+
#else
# error "No default crashkernel reservation for your architecture!"
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.9.8/packaging/suse/kdump.spec new/kdump-2.0.0/packaging/suse/kdump.spec
--- old/kdump-1.9.8/packaging/suse/kdump.spec 2023-10-31 14:48:03.000000000 +0100
+++ new/kdump-2.0.0/packaging/suse/kdump.spec 2023-12-13 17:34:59.000000000 +0100
@@ -43,10 +43,14 @@
%ifarch %power64
%define qemu qemu-ppc
%else
+%ifarch riscv64
+%define qemu qemu-extra
+%else
%define qemu qemu-%{_target_cpu}
%endif
%endif
%endif
+%endif
%endif
%define dracutlibdir %{_prefix}/lib/dracut
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yast2-python-bindings for openSUSE:Factory checked in at 2023-12-14 22:02:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-python-bindings (Old)
and /work/SRC/openSUSE:Factory/.yast2-python-bindings.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-python-bindings"
Thu Dec 14 22:02:42 2023 rev:55 rq:1132914 version:5.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-python-bindings/yast2-python-bindings.changes 2023-09-29 21:13:21.413278969 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-python-bindings.new.25432/yast2-python-bindings.changes 2023-12-14 22:02:43.967184861 +0100
@@ -1,0 +2,6 @@
+Mon Nov 13 09:44:31 UTC 2023 - Noel Power <nopower(a)suse.com>
+
+- Fix leak when passing Term objects; (bsc#1217075)
+- 5.0.2
+
+-------------------------------------------------------------------
@@ -10 +16 @@
-- 5.0.0 (#bsc1185510)
+- 5.0.0 (bsc#1185510)
Old:
----
yast2-python-bindings-5.0.1.tar.bz2
New:
----
yast2-python-bindings-5.0.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-python-bindings.spec ++++++
--- /var/tmp/diff_new_pack.V1QYi9/_old 2023-12-14 22:02:44.519204771 +0100
+++ /var/tmp/diff_new_pack.V1QYi9/_new 2023-12-14 22:02:44.519204771 +0100
@@ -23,7 +23,7 @@
%bcond_with python2
%endif
Name: yast2-python-bindings
-Version: 5.0.1
+Version: 5.0.2
Release: 0
Summary: Python bindings for the YaST platform
License: GPL-2.0-only
++++++ yast2-python-bindings-5.0.1.tar.bz2 -> yast2-python-bindings-5.0.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-python-bindings-5.0.1/package/yast2-python-bindings.changes new/yast2-python-bindings-5.0.2/package/yast2-python-bindings.changes
--- old/yast2-python-bindings-5.0.1/package/yast2-python-bindings.changes 2023-09-12 12:56:35.000000000 +0200
+++ new/yast2-python-bindings-5.0.2/package/yast2-python-bindings.changes 2023-12-13 16:39:48.000000000 +0100
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Mon Nov 13 09:44:31 UTC 2023 - Noel Power <nopower(a)suse.com>
+
+- Fix leak when passing Term objects; (bsc#1217075)
+- 5.0.2
+
+-------------------------------------------------------------------
Tue Sep 12 10:10:25 UTC 2023 - Samuel Cabrero <scabrero(a)suse.de>
- Fix inspect.getargspec() removed in python3.11; (bsc#1215226);
@@ -7,7 +13,7 @@
-------------------------------------------------------------------
Wed Aug 30 20:16:10 UTC 2023 - Josef Reidinger <jreidinger(a)suse.cz>
-- 5.0.0 (#bsc1185510)
+- 5.0.0 (bsc#1185510)
-------------------------------------------------------------------
Fri Mar 03 14:44:07 UTC 2023 - Ladislav Slezák <lslezak(a)suse.cz>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-python-bindings-5.0.1/package/yast2-python-bindings.spec new/yast2-python-bindings-5.0.2/package/yast2-python-bindings.spec
--- old/yast2-python-bindings-5.0.1/package/yast2-python-bindings.spec 2023-09-12 12:56:35.000000000 +0200
+++ new/yast2-python-bindings-5.0.2/package/yast2-python-bindings.spec 2023-12-13 16:39:48.000000000 +0100
@@ -23,7 +23,7 @@
%bcond_with python2
%endif
Name: yast2-python-bindings
-Version: 5.0.1
+Version: 5.0.2
Release: 0
Summary: Python bindings for the YaST platform
License: GPL-2.0-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-python-bindings-5.0.1/src/ytypes.i new/yast2-python-bindings-5.0.2/src/ytypes.i
--- old/yast2-python-bindings-5.0.1/src/ytypes.i 2023-09-12 12:56:35.000000000 +0200
+++ new/yast2-python-bindings-5.0.2/src/ytypes.i 2023-12-13 16:39:48.000000000 +0100
@@ -64,7 +64,7 @@
l->add(pyval_to_ycp(PyTuple_GetItem(input, i)));
return l;
}
- ret = SWIG_ConvertPtr(input, &arg, SWIGTYPE_p_YCPValue, SWIG_POINTER_DISOWN | 0);
+ ret = SWIG_ConvertPtr(input, &arg, SWIGTYPE_p_YCPValue, 0 | 0);
if (SWIG_IsOK(ret))
return *(reinterpret_cast<YCPValue*>(arg));
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package polkit-default-privs for openSUSE:Factory checked in at 2023-12-14 22:02:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polkit-default-privs (Old)
and /work/SRC/openSUSE:Factory/.polkit-default-privs.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polkit-default-privs"
Thu Dec 14 22:02:41 2023 rev:230 rq:1132910 version:1550+20231213.09963a4
Changes:
--------
--- /work/SRC/openSUSE:Factory/polkit-default-privs/polkit-default-privs.changes 2023-11-30 22:00:38.351552224 +0100
+++ /work/SRC/openSUSE:Factory/.polkit-default-privs.new.25432/polkit-default-privs.changes 2023-12-14 22:02:42.935147636 +0100
@@ -1,0 +2,6 @@
+Wed Dec 13 15:11:09 UTC 2023 - filippo.bonazzi(a)suse.com
+
+- Update to version 1550+20231213.09963a4:
+ * profiles: add and adjust polkit actions for gamemode (bsc#1217915)
+
+-------------------------------------------------------------------
Old:
----
polkit-default-privs-1550+20231129.269abcd.tar.xz
New:
----
polkit-default-privs-1550+20231213.09963a4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit-default-privs.spec ++++++
--- /var/tmp/diff_new_pack.iisRVL/_old 2023-12-14 22:02:43.647173318 +0100
+++ /var/tmp/diff_new_pack.iisRVL/_new 2023-12-14 22:02:43.651173462 +0100
@@ -23,7 +23,7 @@
%endif
Name: polkit-default-privs
-Version: 1550+20231129.269abcd
+Version: 1550+20231213.09963a4
Release: 0
Summary: SUSE PolicyKit default permissions
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.iisRVL/_old 2023-12-14 22:02:43.687174760 +0100
+++ /var/tmp/diff_new_pack.iisRVL/_new 2023-12-14 22:02:43.687174760 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/polkit-default-privs.git</param>
- <param name="changesrevision">269abcd34e94b4dc6faba2b5e8b122dc59bb8d50</param></service></servicedata>
+ <param name="changesrevision">09963a4b9c36dede1fdc7d68b3fac3885ea1dbb6</param></service></servicedata>
(No newline at EOF)
++++++ polkit-default-privs-1550+20231129.269abcd.tar.xz -> polkit-default-privs-1550+20231213.09963a4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-1550+20231129.269abcd/profiles/easy new/polkit-default-privs-1550+20231213.09963a4/profiles/easy
--- old/polkit-default-privs-1550+20231129.269abcd/profiles/easy 2023-11-29 13:04:41.000000000 +0100
+++ new/polkit-default-privs-1550+20231213.09963a4/profiles/easy 2023-12-13 16:11:00.000000000 +0100
@@ -679,10 +679,14 @@
# liblxqt (backlight backend helper, bsc#1092192)
org.lxqt.backlight.pkexec no:no:yes
-# gamemode (bsc#1093979)
-com.feralinteractive.GameMode.governor-helper no:no:yes
+# gamemode (bsc#1093979): this is now bound to gamemode group membership
+# established in custom polkit rules in 40-gamemode.rules
+com.feralinteractive.GameMode.governor-helper no:no:no
# additional gpuclockctl (bsc#1129967)
-com.feralinteractive.GameMode.gpu-helper no:no:yes
+com.feralinteractive.GameMode.gpu-helper no:no:no
+# additional cpu and procsys helpers (bsc#1217915)
+com.feralinteractive.GameMode.cpu-helper no:no:no
+com.feralinteractive.GameMode.procsys-helper no:no:no
# meson (bsc#1103811)
com.mesonbuild.install.run no:no:auth_admin_keep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-1550+20231129.269abcd/profiles/restrictive new/polkit-default-privs-1550+20231213.09963a4/profiles/restrictive
--- old/polkit-default-privs-1550+20231129.269abcd/profiles/restrictive 2023-11-29 13:04:41.000000000 +0100
+++ new/polkit-default-privs-1550+20231213.09963a4/profiles/restrictive 2023-12-13 16:11:00.000000000 +0100
@@ -680,10 +680,14 @@
# liblxqt (backlight backend helper, bsc#1092192)
org.lxqt.backlight.pkexec no:no:yes
-# gamemode (bsc#1093979)
-com.feralinteractive.GameMode.governor-helper no:no:auth_admin_keep
+# gamemode (bsc#1093979): this is now bound to gamemode group membership
+# established in custom polkit rules in 40-gamemode.rules
+com.feralinteractive.GameMode.governor-helper no:no:no
# additional gpuclockctl (bsc#1129967)
-com.feralinteractive.GameMode.gpu-helper no:no:auth_admin_keep
+com.feralinteractive.GameMode.gpu-helper no:no:no
+# additional cpu and procsys helpers (bsc#1217915)
+com.feralinteractive.GameMode.cpu-helper no:no:no
+com.feralinteractive.GameMode.procsys-helper no:no:no
# meson (bsc#1103811)
com.mesonbuild.install.run no:no:auth_admin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-1550+20231129.269abcd/profiles/standard new/polkit-default-privs-1550+20231213.09963a4/profiles/standard
--- old/polkit-default-privs-1550+20231129.269abcd/profiles/standard 2023-11-29 13:04:41.000000000 +0100
+++ new/polkit-default-privs-1550+20231213.09963a4/profiles/standard 2023-12-13 16:11:00.000000000 +0100
@@ -680,10 +680,14 @@
# liblxqt (backlight backend helper, bsc#1092192)
org.lxqt.backlight.pkexec no:no:yes
-# gamemode (bsc#1093979)
-com.feralinteractive.GameMode.governor-helper no:no:yes
+# gamemode (bsc#1093979): this is now bound to gamemode group membership
+# established in custom polkit rules in 40-gamemode.rules
+com.feralinteractive.GameMode.governor-helper no:no:no
# additional gpuclockctl (bsc#1129967)
-com.feralinteractive.GameMode.gpu-helper no:no:yes
+com.feralinteractive.GameMode.gpu-helper no:no:no
+# additional cpu and procsys helpers (bsc#1217915)
+com.feralinteractive.GameMode.cpu-helper no:no:no
+com.feralinteractive.GameMode.procsys-helper no:no:no
# meson (bsc#1103811)
com.mesonbuild.install.run no:no:auth_admin_keep
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package patterns-server for openSUSE:Factory checked in at 2023-12-14 22:02:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/patterns-server (Old)
and /work/SRC/openSUSE:Factory/.patterns-server.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patterns-server"
Thu Dec 14 22:02:40 2023 rev:15 rq:1132906 version:20210330
Changes:
--------
--- /work/SRC/openSUSE:Factory/patterns-server/patterns-server.changes 2023-05-11 12:31:28.830111629 +0200
+++ /work/SRC/openSUSE:Factory/.patterns-server.new.25432/patterns-server.changes 2023-12-14 22:02:40.875073331 +0100
@@ -1,0 +2,14 @@
+Wed Nov 29 15:28:43 UTC 2023 - Dario Faggioli <dfaggioli(a)suse.com>
+
+- kvm_server pattern:
+ - require the basic libvirt modules and packages for a minimal
+ (but properly working) KVM host
+ - remove the direct dependency for qemu, as that now comes from
+ libvirt-daemon-driver-qemu
+
+This makes the kvm_server pattern a lot more useful, in contexts
+where recommended packages are not installed by default. On the
+other hand, everyone using it with recommended packages installation
+enabled, will see no difference at all.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ patterns-server.spec ++++++
--- /var/tmp/diff_new_pack.j87qGr/_old 2023-12-14 22:02:41.459094397 +0100
+++ /var/tmp/diff_new_pack.j87qGr/_new 2023-12-14 22:02:41.463094541 +0100
@@ -37,8 +37,8 @@
This particular package contains all the server related patterns
-################################################################################
+################################################################################
%package dhcp_dns_server
%pattern_serverfunctions
Summary: DHCP and DNS Server
@@ -189,6 +189,10 @@
Provides: pattern-icon() = pattern-server
Provides: pattern-order() = 3099
Provides: pattern-visible()
+Requires: libvirt-daemon-config-network
+Requires: libvirt-daemon-driver-network
+Requires: libvirt-daemon-driver-qemu
+Requires: libvirt-daemon-driver-storage-core
Requires: tftp
Requires: pattern() = basesystem
Recommends: libvirt-daemon-qemu
@@ -201,22 +205,6 @@
Provides: patterns-sles-kvm_server = %{version}
Obsoletes: patterns-sles-kvm_server < %{version}
%endif
-# fix issue because qemu-kvm is not present on all arch and
-# we would like to deprecate it for the futur (will be only
-# updated if already installed on the system)
-%ifarch %ix86 x86_64
-Requires: qemu-x86
-%endif
-%ifarch ppc ppc64 ppc64le
-Requires: qemu-ppc
-%endif
-%ifarch s390x
-Requires: qemu-s390x
-%endif
-%ifarch %arm %arm64
-Requires: qemu-arm
-Requires: qemu-ipxe
-%endif
%description kvm_server
Software to set up a server for configuring, managing, and monitoring virtual machines on a single physical machine.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pexpect for openSUSE:Factory checked in at 2023-12-14 22:02:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pexpect (Old)
and /work/SRC/openSUSE:Factory/.python-pexpect.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pexpect"
Thu Dec 14 22:02:38 2023 rev:47 rq:1132884 version:4.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pexpect/python-pexpect.changes 2023-11-26 19:36:53.685264528 +0100
+++ /work/SRC/openSUSE:Factory/.python-pexpect.new.25432/python-pexpect.changes 2023-12-14 22:02:40.107045630 +0100
@@ -1,0 +2,5 @@
+Tue Dec 12 15:16:28 UTC 2023 - pgajdos(a)suse.com
+
+- disable randomly failing tests [bsc#1209560]
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pexpect.spec ++++++
--- /var/tmp/diff_new_pack.HTExf1/_old 2023-12-14 22:02:40.683066407 +0100
+++ /var/tmp/diff_new_pack.HTExf1/_new 2023-12-14 22:02:40.683066407 +0100
@@ -68,7 +68,12 @@
export INPUTRC=$(readlink -f .inputrc) TRAVIS=true
# test_pager_as_cat - needs manpages that would pull extra deps
# test_interrupt, test_multiple_interrupts - hangs under linux-user emulation
-%pytest -k "not (test_pager_as_cat or test_zsh %{?qemu_user_space_build: or test_interrupt or test_multiple_interrupts})"
+# test_large_stdout_stream - seen failed on s390x, [ assert 2 == 1 ]
+# test_*interrupt hang or are too long [bsc#1209560]
+# test_replwrap - seen failed on s390x, [ ValueError: Continuation prompt found - input was incomplete: ]
+# test_pxssh - seen failed on s390x, [ pexpect.pxssh.ExceptionPxssh: could not synchronize with original prompt ]
+# test_interact_exit_unicode - seen failed on s390x [ pexpect.exceptions.EOF: End Of File (EOF). Exception style platform. ]
+%pytest -k "not (test_large_stdout_stream or test_pager_as_cat or test_replwrap or test_pxssh or test_zsh or test_interrupt or test_multiple_interrupts or test_interact_exit_unicode)"
%files %{python_files}
%license LICENSE
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libslirp for openSUSE:Factory checked in at 2023-12-14 22:02:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libslirp (Old)
and /work/SRC/openSUSE:Factory/.libslirp.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libslirp"
Thu Dec 14 22:02:37 2023 rev:10 rq:1132882 version:4.7.0+60
Changes:
--------
--- /work/SRC/openSUSE:Factory/libslirp/libslirp.changes 2022-11-21 15:29:24.412590813 +0100
+++ /work/SRC/openSUSE:Factory/.libslirp.new.25432/libslirp.changes 2023-12-14 22:02:38.714995420 +0100
@@ -1,0 +2,18 @@
+Wed Dec 13 09:44:43 UTC 2023 - lnussel(a)suse.com
+
+- Update to version 4.7.0+60:
+ * Avoid including <sys/param.h> on windows
+ * Document functions
+ * icmp: Handle ICMP packets as IPPROTO_IP on BSD
+ * ip: Enforce strict aliasing
+ * Fix including BaseTsd.h on mingw
+ * Use SSIZE_T from BaseTsd.h on windows
+ * Detach UDP socket if errno is ENOTCONN (Socket is not connected)
+ * slirp: use localhost as dns when /etc/resolv.conf empty
+ * missing semicolon
+ * Drop unused UDP_UDPDATALEN macro
+ * Reject domain-search when any entry ends with ".."
+ * Use target address from Neighbor Advertisement
+- removed libslirp-semicolon.patch, now included
+
+-------------------------------------------------------------------
Old:
----
libslirp-4.7.0+44.obscpio
libslirp-semicolon.patch
New:
----
libslirp-4.7.0+60.obscpio
BETA DEBUG BEGIN:
Old: * Use target address from Neighbor Advertisement
- removed libslirp-semicolon.patch, now included
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libslirp.spec ++++++
--- /var/tmp/diff_new_pack.BaEmmi/_old 2023-12-14 22:02:39.439021535 +0100
+++ /var/tmp/diff_new_pack.BaEmmi/_new 2023-12-14 22:02:39.439021535 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libslirp
#
-# 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
@@ -19,15 +19,13 @@
%define libname libslirp0
Name: libslirp
-Version: 4.7.0+44
+Version: 4.7.0+60
Release: 0
Summary: A general purpose TCP-IP emulator
License: MIT
Group: System/Libraries
URL: https://gitlab.freedesktop.org/slirp/%{name}
Source0: %{name}-%{version}.tar.xz
-# https://gitlab.freedesktop.org/slirp/libslirp/-/issues/64
-Patch0: libslirp-semicolon.patch
BuildRequires: gcc
BuildRequires: git-core
BuildRequires: glib2-devel
++++++ _service ++++++
--- /var/tmp/diff_new_pack.BaEmmi/_old 2023-12-14 22:02:39.475022833 +0100
+++ /var/tmp/diff_new_pack.BaEmmi/_new 2023-12-14 22:02:39.479022978 +0100
@@ -1,5 +1,5 @@
<services>
- <service name="obs_scm" mode="disabled">
+ <service name="obs_scm" mode="manual">
<param name="url">https://gitlab.freedesktop.org/slirp/libslirp.git</param>
<param name="scm">git</param>
<param name="filename">libslirp</param>
@@ -8,7 +8,7 @@
<param name="revision">master</param>
<param name="changesgenerate">enable</param>
</service>
- <service name="set_version" mode="disabled"/>
+ <service name="set_version" mode="manual"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.BaEmmi/_old 2023-12-14 22:02:39.503023843 +0100
+++ /var/tmp/diff_new_pack.BaEmmi/_new 2023-12-14 22:02:39.507023988 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://gitlab.freedesktop.org/slirp/libslirp.git</param>
- <param name="changesrevision">60967ef1ac6254e710cc913fb8430c86a696dd02</param></service></servicedata>
+ <param name="changesrevision">129077f9870426d1b7b3a8239d8b5a50bee017b4</param></service></servicedata>
(No newline at EOF)
++++++ libslirp-4.7.0+44.obscpio -> libslirp-4.7.0+60.obscpio ++++++
++++ 1737 lines of diff (skipped)
++++++ libslirp.obsinfo ++++++
--- /var/tmp/diff_new_pack.BaEmmi/_old 2023-12-14 22:02:39.647029038 +0100
+++ /var/tmp/diff_new_pack.BaEmmi/_new 2023-12-14 22:02:39.651029182 +0100
@@ -1,5 +1,5 @@
name: libslirp
-version: 4.7.0+44
-mtime: 1655913759
-commit: 7132fef2a6b08d270b412d37a4c38b34728993ea
+version: 4.7.0+60
+mtime: 1691935283
+commit: 129077f9870426d1b7b3a8239d8b5a50bee017b4
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kernel-default-base for openSUSE:Factory checked in at 2023-12-14 22:02:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-default-base (Old)
and /work/SRC/openSUSE:Factory/.kernel-default-base.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-default-base"
Thu Dec 14 22:02:35 2023 rev:30 rq:1132867 version:MACRO
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-default-base/kernel-default-base.changes 2023-11-01 22:09:30.198608215 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-default-base.new.25432/kernel-default-base.changes 2023-12-14 22:02:37.630956320 +0100
@@ -1,0 +2,5 @@
+Wed Dec 13 07:48:14 UTC 2023 - Fabian Vogt <fvogt(a)suse.com>
+
+- Add macvlan
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-default-base.spec ++++++
--- /var/tmp/diff_new_pack.LJE8mF/_old 2023-12-14 22:02:38.258978973 +0100
+++ /var/tmp/diff_new_pack.LJE8mF/_new 2023-12-14 22:02:38.262979117 +0100
@@ -56,7 +56,7 @@
af_packet arptable_filter arp_tables arpt_mangle bpfilter bridge br_netfilter \
cls_bpf ebt_.* ebtable_.* ebtables ip6table_.* ip6_tables ip6t_.* ip_.* ipt_.* iptable_.* \
nf_.* nfnetlink.* nft_.* openvswitch sch_ingress tun veth xfrm.*_tunnel xfrm_.* \
-x_tables xt_.* vport-.* vxlan vport-.* wireguard \
+x_tables xt_.* vport-.* vxlan vport-.* wireguard macvlan \
netlink_diag af_packet_diag raw_diag inet_diag tcp_diag udp_diag unix_diag vsock_diag
%define crypto_modules \
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package brltty for openSUSE:Factory checked in at 2023-12-14 22:02:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/brltty (Old)
and /work/SRC/openSUSE:Factory/.brltty.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "brltty"
Thu Dec 14 22:02:34 2023 rev:64 rq:1132864 version:6.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/brltty/brltty.changes 2023-12-01 21:25:08.069362863 +0100
+++ /work/SRC/openSUSE:Factory/.brltty.new.25432/brltty.changes 2023-12-14 22:02:36.822927176 +0100
@@ -1,0 +2,12 @@
+Wed Dec 13 11:10:22 UTC 2023 - Matthias Gerstner <matthias.gerstner(a)suse.com>
+
+- README.SUSE: add documentation about the state of security of the brltty
+ daemon (bsc#1214158).
+
+-------------------------------------------------------------------
+Tue Dec 12 12:12:12 UTC 2023 - ohering(a)suse.de
+
+- Use ocaml-rpm-macros to track OCaml ABI
+- Reduce amount of rpmlint warnings with brltty.rpmlintrc
+
+-------------------------------------------------------------------
New:
----
brltty.rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ brltty.spec ++++++
--- /var/tmp/diff_new_pack.9wmC8e/_old 2023-12-14 22:02:37.394947808 +0100
+++ /var/tmp/diff_new_pack.9wmC8e/_new 2023-12-14 22:02:37.394947808 +0100
@@ -16,6 +16,7 @@
#
+%global _lto_cflags %_lto_cflags -ffat-lto-objects
%define api_version 0.8.5
%define sover 0_8
%define soname libbrlapi%{sover}
@@ -30,6 +31,7 @@
Source0: https://brltty.app/archive/%name-%version.tar.xz
Source1: README.SUSE
+Source2: %name.rpmlintrc
Patch0: brltty-udev-dir.patch
Patch1: https://github.com/brltty/brltty/commit/e6707d5e.patch
@@ -46,6 +48,7 @@
BuildRequires: libbraille-devel
BuildRequires: ncurses-devel
BuildRequires: ocaml
+BuildRequires: ocaml-rpm-macros >= 20231101
BuildRequires: pkg-config
BuildRequires: python-rpm-macros
BuildRequires: python3
@@ -160,7 +163,7 @@
This package contains the XWindow braille driver.
%package udev-generic
-Summary: BRLTTY Udev rules for braille devices that use a generic USB to serial adapter.
+Summary: BRLTTY Udev rules for braille devices that use a generic USB to serial adapter
Group: System/Daemons
Requires: %name = %version-%release
@@ -333,24 +336,28 @@
done
export PYTHON=/usr/bin/python3
%configure CPPFLAGS="$java_inc" \
- --with-install-root="%buildroot" \
--with-tables-directory=%_datadir/%name \
- --libexecdir=%_libexecdir \
--disable-stripping
make
%install
sed -i "s=/usr/libexec/brltty-systemd-wrapper=%_libexecdir/brltty-systemd-wrapper=" Autostart/Systemd/brltty@.service
-%make_install install-systemd install-udev install-polkit DESTDIR="%buildroot"
+%make_install install-systemd install-udev install-polkit INSTALL_ROOT="%buildroot"
+for exe in %buildroot%_bindir/*
+do
+ sed -i~ '1{s@%_bindir/env[[:blank:]]\+@%_bindir/@}' "${exe}"
+ diff -u "$_"~ "$_" || :
+ rm -f "${exe}~"
+done
%find_lang %name
sed -i "s/#api-parameters Auth=polkit/api-parameters Auth=polkit/" Documents/brltty.conf
install -D -m644 Documents/brltty.conf %buildroot%_sysconfdir/brltty.conf
# ghost brlapi.key
touch %buildroot%_sysconfdir/brlapi.key
-# Don't include source files in binary package
-rm -f %buildroot%_libdir/ocaml/brlapi/brlapi.{mli,cmxa}
+# OCaml
+%ocaml_create_file_list
+#
rm %buildroot%_libdir/libbrlapi.a
-rm %buildroot%_libdir/ocaml/brlapi/libbrlapi_stubs.a
rm %buildroot/etc/X11/Xsession.d/90xbrlapi # TODO: install this somewhere?
# fix missing executable bits
test ! -x %buildroot%_bindir/brltty-config.sh
@@ -526,9 +533,7 @@
%{_jnidir}/libbrlapi_java.so
%{_javadir}/brlapi.jar
-%files -n ocaml-brlapi
-%_libdir/ocaml/brlapi/
-%_libdir/ocaml/stublibs/dllbrlapi_stubs.so*
+%files -n ocaml-brlapi -f %name.files.devel
%files -n python3-brlapi
%{python3_sitearch}/brlapi.cpython*.so
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.9wmC8e/_old 2023-12-14 22:02:37.422948818 +0100
+++ /var/tmp/diff_new_pack.9wmC8e/_new 2023-12-14 22:02:37.426948963 +0100
@@ -25,3 +25,16 @@
like to change this behavior, then you can edit the api-parameters
directive in /etc/brltty.conf.
+Notes on Security
+========================================================================
+
+The brltty daemon runs as a dedicated service user and group account named
+"brltty". While this looks got from afar, the daemon actually keeps a lot of
+privileges, most notably among them:
+
+- root group membership.
+- Linux capabilities CAP_SYS_ADMIN and CAP_MKNOD.
+
+Therefore the SUSE security team currently considers the brltty service to be
+equivalent to root.
+
++++++ brltty.rpmlintrc ++++++
addFilter("devel-file-in-non-devel-package")
addFilter("static-library-without-debuginfo")
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package susepaste for openSUSE:Factory checked in at 2023-12-14 22:02:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/susepaste (Old)
and /work/SRC/openSUSE:Factory/.susepaste.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "susepaste"
Thu Dec 14 22:02:32 2023 rev:14 rq:1132854 version:0.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/susepaste/susepaste.changes 2022-12-14 14:10:42.707404837 +0100
+++ /work/SRC/openSUSE:Factory/.susepaste.new.25432/susepaste.changes 2023-12-14 22:02:35.758888798 +0100
@@ -1,0 +2,6 @@
+Mon Nov 13 13:59:54 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Fix homepage URL
+- Add _service file (use on next release)
+
+-------------------------------------------------------------------
New:
----
_service
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ susepaste.spec ++++++
--- /var/tmp/diff_new_pack.6Jn18b/_old 2023-12-14 22:02:36.378911161 +0100
+++ /var/tmp/diff_new_pack.6Jn18b/_new 2023-12-14 22:02:36.382911305 +0100
@@ -1,7 +1,7 @@
#
# spec file for package susepaste
#
-# 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
@@ -22,7 +22,7 @@
Summary: Script for using openSUSE paste
License: GPL-3.0-only
Group: Productivity/Other
-URL: https://susepaste.org
+URL: https://github.com/openSUSE/paste
Source0: susepaste-script-%{version}.tar.bz2
Patch0: 0001-susepaste-Fix-parsing-of-returned-Location-header.patch
# PATCH-FIX-OPENSUSE 0002-susepaste-add-image-paste-info.patch malcolmlewis(a)opensuse.org boo#1193400-- Add info on posting an image to susepaste in the man page.
++++++ _service ++++++
<services>
<service name="tar_scm" mode="manual">
<param name="filename">gromox</param>
<param name="scm">git</param>
<param name="url">https://github.com/openSUSE/paste</param>
<param name="revision">a21cd8d3df39934db385e3b9ff2d0c930a5df32e</param>
<param name="versionformat">0.6</param>
</service>
<service name="recompress" mode="manual">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="manual"/>
</services>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-websocket-client for openSUSE:Factory checked in at 2023-12-14 22:02:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-websocket-client (Old)
and /work/SRC/openSUSE:Factory/.python-websocket-client.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-websocket-client"
Thu Dec 14 22:02:31 2023 rev:25 rq:1132851 version:1.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-websocket-client/python-websocket-client.changes 2023-11-28 22:19:37.878288791 +0100
+++ /work/SRC/openSUSE:Factory/.python-websocket-client.new.25432/python-websocket-client.changes 2023-12-14 22:02:34.610847389 +0100
@@ -1,0 +2,13 @@
+Wed Dec 13 10:36:07 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.7.0:
+ * Renamed `mask` variable in ABNF to prevent name collision
+ with `mask()` function (9b51f73)
+ * Fixed old http import of HTTPStatus in _handshake.py
+ * Add `send_text()` and `send_bytes()` to _app.py
+ * Improved typehint support
+ * General readability improvements, made all string
+ concatenations use f-strings
+ * Applied black formatting style to code (da7f286)
+
+-------------------------------------------------------------------
Old:
----
websocket-client-1.6.4.tar.gz
New:
----
websocket-client-1.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-websocket-client.spec ++++++
--- /var/tmp/diff_new_pack.j4RlZL/_old 2023-12-14 22:02:35.250870473 +0100
+++ /var/tmp/diff_new_pack.j4RlZL/_new 2023-12-14 22:02:35.254870618 +0100
@@ -24,7 +24,7 @@
%{?sle15_python_module_pythons}
Name: python-websocket-client
-Version: 1.6.4
+Version: 1.7.0
Release: 0
Summary: WebSocket client implementation
License: LGPL-2.1-only
++++++ websocket-client-1.6.4.tar.gz -> websocket-client-1.7.0.tar.gz ++++++
++++ 4879 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xorg-x11-server for openSUSE:Factory checked in at 2023-12-14 22:02:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
and /work/SRC/openSUSE:Factory/.xorg-x11-server.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xorg-x11-server"
Thu Dec 14 22:02:29 2023 rev:421 rq:1132834 version:21.1.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes 2023-10-25 18:02:53.746590489 +0200
+++ /work/SRC/openSUSE:Factory/.xorg-x11-server.new.25432/xorg-x11-server.changes 2023-12-14 22:02:32.422768468 +0100
@@ -1,0 +2,11 @@
+Mon Dec 4 18:49:47 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
+ * Out-of-bounds memory write in XKB button actions (CVE-2023-6377,
+ ZDI-CAN-22412, ZDI-CAN-22413, bsc#1217765)
+- U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
+ * Out-of-bounds memory read in RRChangeOutputProperty and
+ RRChangeProviderProperty (CVE-2023-6478, ZDI-CAN-22561,
+ bsc#1217766)
+
+-------------------------------------------------------------------
New:
----
U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
BETA DEBUG BEGIN:
New:
- U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
* Out-of-bounds memory write in XKB button actions (CVE-2023-6377,
New: ZDI-CAN-22412, ZDI-CAN-22413, bsc#1217765)
- U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
* Out-of-bounds memory read in RRChangeOutputProperty and
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.xni97z/_old 2023-12-14 22:02:34.206832817 +0100
+++ /var/tmp/diff_new_pack.xni97z/_new 2023-12-14 22:02:34.210832961 +0100
@@ -243,6 +243,9 @@
Patch1960: u_sync-pci-ids-with-Mesa.patch
+Patch1217765: U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
+Patch1217766: U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
+
%description
This package contains the X.Org Server.
@@ -401,6 +404,9 @@
%patch1940 -p1
%patch1960 -p1
+%patch1217765 -p1
+%patch1217766 -p1
+
%build
# We have some -z now related errors during X default startup (boo#1197994):
# - when loading modesetting: gbm_bo_get_plane_count
++++++ U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch ++++++
From 924fbcb74ae5434afa7ce4603cd85ebcbdcccad5 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer(a)who-t.net>
Date: Tue, 28 Nov 2023 15:19:04 +1000
Subject: [PATCH xserver] Xi: allocate enough XkbActions for our buttons
button->xkb_acts is supposed to be an array sufficiently large for all
our buttons, not just a single XkbActions struct. Allocating
insufficient memory here means when we memcpy() later in
XkbSetDeviceInfo we write into memory that wasn't ours to begin with,
leading to the usual security ooopsiedaisies.
CVE-2023-6377, ZDI-CAN-22412, ZDI-CAN-22413
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
---
Xi/exevents.c | 12 ++++++------
dix/devices.c | 10 ++++++++++
2 files changed, 16 insertions(+), 6 deletions(-)
--- a/Xi/exevents.c
+++ a/Xi/exevents.c
@@ -611,13 +611,13 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
}
if (from->button->xkb_acts) {
- if (!to->button->xkb_acts) {
- to->button->xkb_acts = calloc(1, sizeof(XkbAction));
- if (!to->button->xkb_acts)
- FatalError("[Xi] not enough memory for xkb_acts.\n");
- }
+ size_t maxbuttons = max(to->button->numButtons, from->button->numButtons);
+ to->button->xkb_acts = xnfreallocarray(to->button->xkb_acts,
+ maxbuttons,
+ sizeof(XkbAction));
+ memset(to->button->xkb_acts, 0, maxbuttons * sizeof(XkbAction));
memcpy(to->button->xkb_acts, from->button->xkb_acts,
- sizeof(XkbAction));
+ from->button->numButtons * sizeof(XkbAction));
}
else {
free(to->button->xkb_acts);
--- a/dix/devices.c
+++ a/dix/devices.c
@@ -2530,6 +2530,8 @@ RecalculateMasterButtons(DeviceIntPtr slave)
if (master->button && master->button->numButtons != maxbuttons) {
int i;
+ int last_num_buttons = master->button->numButtons;
+
DeviceChangedEvent event = {
.header = ET_Internal,
.type = ET_DeviceChanged,
@@ -2540,6 +2542,14 @@ RecalculateMasterButtons(DeviceIntPtr slave)
};
master->button->numButtons = maxbuttons;
+ if (last_num_buttons < maxbuttons) {
+ master->button->xkb_acts = xnfreallocarray(master->button->xkb_acts,
+ maxbuttons,
+ sizeof(XkbAction));
+ memset(&master->button->xkb_acts[last_num_buttons],
+ 0,
+ (maxbuttons - last_num_buttons) * sizeof(XkbAction));
+ }
memcpy(&event.buttons.names, master->button->labels, maxbuttons *
sizeof(Atom));
--
++++++ U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch ++++++
From bd59316fe54b2bcad94c883e81fe7cae2a90cdd6 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer(a)who-t.net>
Date: Mon, 27 Nov 2023 16:27:49 +1000
Subject: [PATCH xserver] randr: avoid integer truncation in length check of
ProcRRChange*Property
Affected are ProcRRChangeProviderProperty and ProcRRChangeOutputProperty.
See also xserver@8f454b79 where this same bug was fixed for the core
protocol and XI.
This fixes an OOB read and the resulting information disclosure.
Length calculation for the request was clipped to a 32-bit integer. With
the correct stuff->nUnits value the expected request size was
truncated, passing the REQUEST_FIXED_SIZE check.
The server then proceeded with reading at least stuff->num_items bytes
(depending on stuff->format) from the request and stuffing whatever it
finds into the property. In the process it would also allocate at least
stuff->nUnits bytes, i.e. 4GB.
CVE-2023-XXXXX, ZDI-CAN-22561
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
---
randr/rrproperty.c | 2 +-
randr/rrproviderproperty.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/randr/rrproperty.c b/randr/rrproperty.c
index 25469f57b2..c4fef8a1f6 100644
--- a/randr/rrproperty.c
+++ b/randr/rrproperty.c
@@ -530,7 +530,7 @@ ProcRRChangeOutputProperty(ClientPtr client)
char format, mode;
unsigned long len;
int sizeInBytes;
- int totalSize;
+ uint64_t totalSize;
int err;
REQUEST_AT_LEAST_SIZE(xRRChangeOutputPropertyReq);
diff --git a/randr/rrproviderproperty.c b/randr/rrproviderproperty.c
index b79c17f9bf..90c5a9a933 100644
--- a/randr/rrproviderproperty.c
+++ b/randr/rrproviderproperty.c
@@ -498,7 +498,7 @@ ProcRRChangeProviderProperty(ClientPtr client)
char format, mode;
unsigned long len;
int sizeInBytes;
- int totalSize;
+ uint64_t totalSize;
int err;
REQUEST_AT_LEAST_SIZE(xRRChangeProviderPropertyReq);
--
2.43.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xwayland for openSUSE:Factory checked in at 2023-12-14 22:02:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xwayland (Old)
and /work/SRC/openSUSE:Factory/.xwayland.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xwayland"
Thu Dec 14 22:02:28 2023 rev:27 rq:1132832 version:23.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/xwayland/xwayland.changes 2023-11-27 22:43:48.670800119 +0100
+++ /work/SRC/openSUSE:Factory/.xwayland.new.25432/xwayland.changes 2023-12-14 22:02:29.230653332 +0100
@@ -1,0 +2,11 @@
+Mon Dec 4 18:33:56 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
+ * Out-of-bounds memory write in XKB button actions (CVE-2023-6377,
+ ZDI-CAN-22412, ZDI-CAN-22413, bsc#1217765)
+- U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
+ * Out-of-bounds memory read in RRChangeOutputProperty and
+ RRChangeProviderProperty (CVE-2023-6478, ZDI-CAN-22561,
+ bsc#1217766)
+
+-------------------------------------------------------------------
New:
----
U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
BETA DEBUG BEGIN:
New:
- U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
* Out-of-bounds memory write in XKB button actions (CVE-2023-6377,
New: ZDI-CAN-22412, ZDI-CAN-22413, bsc#1217765)
- U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
* Out-of-bounds memory read in RRChangeOutputProperty and
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xwayland.spec ++++++
--- /var/tmp/diff_new_pack.T9F1Cq/_old 2023-12-14 22:02:31.114721288 +0100
+++ /var/tmp/diff_new_pack.T9F1Cq/_new 2023-12-14 22:02:31.126721721 +0100
@@ -34,6 +34,8 @@
Source1: %{url}/archive/individual/xserver/%{name}-%{version}.tar.xz.sig
Source2: xwayland.keyring
+Patch1217765: U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
+Patch1217766: U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
BuildRequires: meson
BuildRequires: ninja
++++++ U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch ++++++
From 924fbcb74ae5434afa7ce4603cd85ebcbdcccad5 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer(a)who-t.net>
Date: Tue, 28 Nov 2023 15:19:04 +1000
Subject: [PATCH xserver] Xi: allocate enough XkbActions for our buttons
button->xkb_acts is supposed to be an array sufficiently large for all
our buttons, not just a single XkbActions struct. Allocating
insufficient memory here means when we memcpy() later in
XkbSetDeviceInfo we write into memory that wasn't ours to begin with,
leading to the usual security ooopsiedaisies.
CVE-2023-6377, ZDI-CAN-22412, ZDI-CAN-22413
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
---
Xi/exevents.c | 12 ++++++------
dix/devices.c | 10 ++++++++++
2 files changed, 16 insertions(+), 6 deletions(-)
--- a/Xi/exevents.c
+++ a/Xi/exevents.c
@@ -611,13 +611,13 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
}
if (from->button->xkb_acts) {
- if (!to->button->xkb_acts) {
- to->button->xkb_acts = calloc(1, sizeof(XkbAction));
- if (!to->button->xkb_acts)
- FatalError("[Xi] not enough memory for xkb_acts.\n");
- }
+ size_t maxbuttons = max(to->button->numButtons, from->button->numButtons);
+ to->button->xkb_acts = xnfreallocarray(to->button->xkb_acts,
+ maxbuttons,
+ sizeof(XkbAction));
+ memset(to->button->xkb_acts, 0, maxbuttons * sizeof(XkbAction));
memcpy(to->button->xkb_acts, from->button->xkb_acts,
- sizeof(XkbAction));
+ from->button->numButtons * sizeof(XkbAction));
}
else {
free(to->button->xkb_acts);
--- a/dix/devices.c
+++ a/dix/devices.c
@@ -2530,6 +2530,8 @@ RecalculateMasterButtons(DeviceIntPtr slave)
if (master->button && master->button->numButtons != maxbuttons) {
int i;
+ int last_num_buttons = master->button->numButtons;
+
DeviceChangedEvent event = {
.header = ET_Internal,
.type = ET_DeviceChanged,
@@ -2540,6 +2542,14 @@ RecalculateMasterButtons(DeviceIntPtr slave)
};
master->button->numButtons = maxbuttons;
+ if (last_num_buttons < maxbuttons) {
+ master->button->xkb_acts = xnfreallocarray(master->button->xkb_acts,
+ maxbuttons,
+ sizeof(XkbAction));
+ memset(&master->button->xkb_acts[last_num_buttons],
+ 0,
+ (maxbuttons - last_num_buttons) * sizeof(XkbAction));
+ }
memcpy(&event.buttons.names, master->button->labels, maxbuttons *
sizeof(Atom));
--
++++++ U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch ++++++
From bd59316fe54b2bcad94c883e81fe7cae2a90cdd6 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer(a)who-t.net>
Date: Mon, 27 Nov 2023 16:27:49 +1000
Subject: [PATCH xserver] randr: avoid integer truncation in length check of
ProcRRChange*Property
Affected are ProcRRChangeProviderProperty and ProcRRChangeOutputProperty.
See also xserver@8f454b79 where this same bug was fixed for the core
protocol and XI.
This fixes an OOB read and the resulting information disclosure.
Length calculation for the request was clipped to a 32-bit integer. With
the correct stuff->nUnits value the expected request size was
truncated, passing the REQUEST_FIXED_SIZE check.
The server then proceeded with reading at least stuff->num_items bytes
(depending on stuff->format) from the request and stuffing whatever it
finds into the property. In the process it would also allocate at least
stuff->nUnits bytes, i.e. 4GB.
CVE-2023-XXXXX, ZDI-CAN-22561
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
---
randr/rrproperty.c | 2 +-
randr/rrproviderproperty.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/randr/rrproperty.c b/randr/rrproperty.c
index 25469f57b2..c4fef8a1f6 100644
--- a/randr/rrproperty.c
+++ b/randr/rrproperty.c
@@ -530,7 +530,7 @@ ProcRRChangeOutputProperty(ClientPtr client)
char format, mode;
unsigned long len;
int sizeInBytes;
- int totalSize;
+ uint64_t totalSize;
int err;
REQUEST_AT_LEAST_SIZE(xRRChangeOutputPropertyReq);
diff --git a/randr/rrproviderproperty.c b/randr/rrproviderproperty.c
index b79c17f9bf..90c5a9a933 100644
--- a/randr/rrproviderproperty.c
+++ b/randr/rrproviderproperty.c
@@ -498,7 +498,7 @@ ProcRRChangeProviderProperty(ClientPtr client)
char format, mode;
unsigned long len;
int sizeInBytes;
- int totalSize;
+ uint64_t totalSize;
int err;
REQUEST_AT_LEAST_SIZE(xRRChangeProviderPropertyReq);
--
2.43.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-numpy for openSUSE:Factory checked in at 2023-12-14 22:02:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-numpy (Old)
and /work/SRC/openSUSE:Factory/.python-numpy.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-numpy"
Thu Dec 14 22:02:25 2023 rev:123 rq:1132800 version:1.26.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-numpy/python-numpy.changes 2023-11-22 18:54:07.346505574 +0100
+++ /work/SRC/openSUSE:Factory/.python-numpy.new.25432/python-numpy.changes 2023-12-14 22:02:26.902569361 +0100
@@ -1,0 +2,6 @@
+Wed Dec 13 06:53:32 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Do not attempt to ship numpy.distutils C code in the Python 3.12 -devel
+ package, it is not installed.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-numpy.spec ++++++
--- /var/tmp/diff_new_pack.g4OPU1/_old 2023-12-14 22:02:27.686597640 +0100
+++ /var/tmp/diff_new_pack.g4OPU1/_new 2023-12-14 22:02:27.690597784 +0100
@@ -408,8 +408,10 @@
%license LICENSE.txt
%if %{without hpc}
%{python_sitearch}/numpy/core/include/
+%if 0%{python_version_nodots} < 312
%{python_sitearch}/numpy/distutils/mingw/*.c
%{python_sitearch}/numpy/distutils/checks/*.c
+%endif
%{python_sitearch}/numpy/f2py/src/
%{python_sitearch}/numpy/core/lib/libnpymath.a
%{python_sitearch}/numpy/random/lib/libnpyrandom.a
@@ -417,8 +419,10 @@
%{p_python_sitearch}/numpy/core/include/
%{p_python_sitearch}/numpy/core/lib/libnpymath.a
%{p_python_sitearch}/numpy/random/lib/libnpyrandom.a
+%if 0%{python_version_nodots} < 312
%{p_python_sitearch}/numpy/distutils/mingw/*.c
%{p_python_sitearch}/numpy/distutils/checks/*.c
+%endif
%{p_python_sitearch}/numpy/f2py/src/
%endif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-ply for openSUSE:Factory checked in at 2023-12-14 22:02:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ply (Old)
and /work/SRC/openSUSE:Factory/.python-ply.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ply"
Thu Dec 14 22:02:24 2023 rev:32 rq:1132798 version:3.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ply/python-ply.changes 2023-05-05 15:56:47.635916285 +0200
+++ /work/SRC/openSUSE:Factory/.python-ply.new.25432/python-ply.changes 2023-12-14 22:02:26.106540649 +0100
@@ -1,0 +2,8 @@
+Wed Dec 13 06:30:27 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Add patch fix-assert-methods.patch:
+ * Support Python 3.12 by not using removed assertion methods.
+- Switch to autosetup and pyproject macros.
+- Stop using greedy globs in %files.
+
+-------------------------------------------------------------------
New:
----
fix-assert-methods.patch
BETA DEBUG BEGIN:
New:
- Add patch fix-assert-methods.patch:
* Support Python 3.12 by not using removed assertion methods.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ply.spec ++++++
--- /var/tmp/diff_new_pack.Ggaulm/_old 2023-12-14 22:02:26.678561281 +0100
+++ /var/tmp/diff_new_pack.Ggaulm/_new 2023-12-14 22:02:26.678561281 +0100
@@ -22,11 +22,13 @@
Release: 0
Summary: Python Lex & Yacc
License: BSD-3-Clause
-Group: Development/Languages/Python
URL: http://www.dabeaz.com/ply/
Source: https://files.pythonhosted.org/packages/source/p/ply/ply-%{version}.tar.gz
Patch0: python-ply-shebangs.patch
+Patch1: fix-assert-methods.patch
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -62,8 +64,7 @@
%endif
%prep
-%setup -q -n ply-%{version}
-%patch0 -p1
+%autosetup -p1 -n ply-%{version}
# remove unneeded executable bit
chmod -x test/testlex.py
@@ -74,10 +75,10 @@
%fdupes example
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -92,7 +93,8 @@
# yay for upstream that puts the license to readme
%license README.md
%doc ANNOUNCE CHANGES README.md TODO
-%{python_sitelib}/*
+%{python_sitelib}/ply
+%{python_sitelib}/ply-%{version}.dist-info
%if 0%{?suse_version} > 1500
%files -n %{name}-doc
++++++ fix-assert-methods.patch ++++++
++++ 802 lines (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package meson for openSUSE:Factory checked in at 2023-12-14 22:02:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/meson (Old)
and /work/SRC/openSUSE:Factory/.meson.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "meson"
Thu Dec 14 22:02:18 2023 rev:104 rq:1132905 version:1.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/meson/meson.changes 2023-12-12 19:31:37.723129800 +0100
+++ /work/SRC/openSUSE:Factory/.meson.new.25432/meson.changes 2023-12-14 22:02:20.222328413 +0100
@@ -1,0 +2,18 @@
+Tue Dec 12 01:47:37 UTC 2023 - Yifan Jiang <yfjiang(a)suse.com>
+
+- Make BuildRequires libstdc++6-devel-gcc11 more precise, for
+ SLE 15 SP4 and SLE 15 SP5 only.
+
+-------------------------------------------------------------------
+Mon Dec 11 10:31:25 UTC 2023 - Yifan Jiang <yfjiang(a)suse.com>
+
+- Specify clang and llvm versions in SLE/Leap.
+
+-------------------------------------------------------------------
+Mon Dec 11 10:25:14 UTC 2023 - Yifan Jiang <yfjiang(a)suse.com>
+
+- Fix shebang replacement for ninja test cases. The curly brackets
+ are necessary for the macro expansion in the splitted lines
+ worked correctly.
+
+-------------------------------------------------------------------
@@ -218,0 +237,7 @@
+
+-------------------------------------------------------------------
+Mon Jan 16 01:36:31 UTC 2023 - Yifan Jiang <yfjiang(a)suse.com>
+
+- Add BuildRequires libstdc++6-devel-gcc11 for SLE 15 SP4 and
+ version above, which is necessary to make clang-tiny unit test
+ run.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ meson.spec ++++++
--- /var/tmp/diff_new_pack.ueu40F/_old 2023-12-14 22:02:21.790384971 +0100
+++ /var/tmp/diff_new_pack.ueu40F/_new 2023-12-14 22:02:21.794385115 +0100
@@ -68,7 +68,11 @@
ExclusiveArch: x86_64
BuildRequires: %{python_module devel}
BuildRequires: bison
+%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
+BuildRequires: clang17 >= 15
+%else
BuildRequires: clang >= 15
+%endif
BuildRequires: clang-tools >= 15
BuildRequires: cups-devel
BuildRequires: distribution-release
@@ -104,8 +108,15 @@
BuildRequires: libpcap-devel
BuildRequires: libqt5-qtbase-common-devel
BuildRequires: libqt5-qtbase-private-headers-devel
+%if 0%{?sle_version} == 150400 || 0%{?sle_version} == 150500
+BuildRequires: libstdc++6-devel-gcc11
+%endif
BuildRequires: libwmf-devel
+%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
+BuildRequires: llvm17-devel
+%else
BuildRequires: llvm-devel
+%endif
BuildRequires: meson = %{version}
BuildRequires: ninja
BuildRequires: pkgconfig
@@ -262,8 +273,8 @@
c++ --version
# Fix shebang in test cases getting executed by ninja
-%python_expand find test\ cases -type f -name "*.py" \
- -exec sed -i "1s@#!.*python.*@#!$(realpath %{_bindir}/$python)@" {} +
+%{python_expand find test\ cases -type f -name "*.py" \
+ -exec sed -i "1s@#!.*python.*@#!$(realpath %{_bindir}/$python)@" {} +}
%endif
export LANG=C.UTF-8
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-13 21:06:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Wed Dec 13 21:06:52 2023 rev:2644 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.pKiB7y/_old 2023-12-13 21:06:55.571702528 +0100
+++ /var/tmp/diff_new_pack.pKiB7y/_new 2023-12-13 21:06:55.595703417 +0100
@@ -7956,12 +7956,8 @@
Provides: weakremover(json4s-scalap)
Provides: weakremover(json4s-xml)
Provides: weakremover(jsonnet)
-Provides: weakremover(julia)
-Provides: weakremover(julia-compat)
Provides: weakremover(julia-compat-debug)
-Provides: weakremover(julia-compat-devel)
Provides: weakremover(julia-debug)
-Provides: weakremover(julia-devel)
Provides: weakremover(julia-doc)
Provides: weakremover(julia-examples)
Provides: weakremover(jumpnbump)
@@ -9200,8 +9196,10 @@
Provides: weakremover(libMagickWand-7_Q16HDRI9)
Provides: weakremover(libMagickWand-7_Q16HDRI9-32bit)
Provides: weakremover(libMrm4-32bit)
+Provides: weakremover(libMyGUICommon3_4_1)
Provides: weakremover(libMyGUIEngine3)
Provides: weakremover(libMyGUIEngine3_4_0)
+Provides: weakremover(libMyGUIEngine3_4_1)
Provides: weakremover(libOIS-1_3_0)
Provides: weakremover(libOgreBites13_2)
Provides: weakremover(libOgreBites13_3)
@@ -9708,7 +9706,9 @@
Provides: weakremover(libangelscript2_33_0)
Provides: weakremover(libangelscript2_34_0)
Provides: weakremover(libangelscript2_35_0)
+Provides: weakremover(libangelscript2_35_1)
Provides: weakremover(libangelscript_addons2_35_0)
+Provides: weakremover(libangelscript_addons2_35_1)
Provides: weakremover(libanthy0-32bit)
Provides: weakremover(libantic0)
Provides: weakremover(libantlr3c3-32bit)
@@ -11799,6 +11799,7 @@
Provides: weakremover(libconfuse0)
Provides: weakremover(libconfuse0-lang)
Provides: weakremover(libcotp12)
+Provides: weakremover(libcotp2)
Provides: weakremover(libcotp2-32bit)
Provides: weakremover(libcotp2-x86-64-v3)
Provides: weakremover(libcourier-unicode3)
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-13 21:05:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Wed Dec 13 21:05:14 2023 rev:2396 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_3838.1.packages.zst
factory_20231212.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-13 18:41:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Wed Dec 13 18:41:35 2023 rev:2643 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Aeon-release.spec ++++++
--- /var/tmp/diff_new_pack.zVSe4J/_old 2023-12-13 18:41:38.985229334 +0100
+++ /var/tmp/diff_new_pack.zVSe4J/_new 2023-12-13 18:41:38.985229334 +0100
@@ -17,7 +17,7 @@
Name: Aeon-release
-Version: 20231212
+Version: 20231213
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) = 20231212-0
+Provides: product(Aeon) = 20231213-0
Provides: product-label() = openSUSE%20Aeon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231212
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231213
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) = 20231212-0
+Provides: product_flavor(Aeon) = 20231213-0
Summary: openSUSE Aeon%{?betaversion: %{betaversion}}
%description appliance
@@ -255,11 +255,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Aeon</name>
- <version>20231212</version>
+ <version>20231213</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:aeon:20231212</cpeid>
+ <cpeid>cpe:/o:opensuse:aeon:20231213</cpeid>
<productline>Aeon</productline>
<register>
<pool>
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.zVSe4J/_old 2023-12-13 18:41:39.009230221 +0100
+++ /var/tmp/diff_new_pack.zVSe4J/_new 2023-12-13 18:41:39.009230221 +0100
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20231212
+Version: 20231213
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) = 20231212-0
+Provides: product(MicroOS) = 20231213-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231212
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231213
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) = 20231212-0
+Provides: product_flavor(MicroOS) = 20231213-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) = 20231212-0
+Provides: product_flavor(MicroOS) = 20231213-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -276,11 +276,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20231212</version>
+ <version>20231213</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20231212</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20231213</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.zVSe4J/_old 2023-12-13 18:41:39.133234803 +0100
+++ /var/tmp/diff_new_pack.zVSe4J/_new 2023-12-13 18:41:39.149235394 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20231212)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20231213)
#
# 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: 20231212
+Version: 20231213
#!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) = 20231212-0
+Provides: product(openSUSE-Addon-NonOss) = 20231213-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231212
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231213
AutoReqProv: on
@@ -50,10 +50,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231212</version>
+ <version>20231213</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231212</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231213</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.zVSe4J/_old 2023-12-13 18:41:39.269239828 +0100
+++ /var/tmp/diff_new_pack.zVSe4J/_new 2023-12-13 18:41:39.269239828 +0100
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20231212
+Version: 20231213
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -184,7 +184,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20231212-0
+Provides: product(openSUSE) = 20231213-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -198,7 +198,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231212
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231213
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)
@@ -212,7 +212,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -227,7 +227,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -242,7 +242,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -257,7 +257,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -272,7 +272,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -287,7 +287,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -302,7 +302,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -317,7 +317,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -332,7 +332,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -347,7 +347,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -362,7 +362,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -377,7 +377,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -392,7 +392,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -407,7 +407,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -422,7 +422,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -437,7 +437,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -452,7 +452,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -467,7 +467,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -482,7 +482,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20231212-0
+Provides: product_flavor(openSUSE) = 20231213-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -562,10 +562,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231212</version>
+ <version>20231213</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20231212</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20231213</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 cilium-cli for openSUSE:Factory checked in at 2023-12-13 18:36:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cilium-cli (Old)
and /work/SRC/openSUSE:Factory/.cilium-cli.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cilium-cli"
Wed Dec 13 18:36:51 2023 rev:54 rq:1132893 version:0.15.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/cilium-cli/cilium-cli.changes 2023-12-06 23:49:51.442837497 +0100
+++ /work/SRC/openSUSE:Factory/.cilium-cli.new.25432/cilium-cli.changes 2023-12-13 18:36:55.826767039 +0100
@@ -1,0 +2,27 @@
+Wed Dec 13 13:50:03 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 0.15.18:
+ * Prepare for v0.15.18 release
+ * connectivity: Bump test-connection-disruption img to v0.0.13
+ * fix(deps): update github.com/cilium/charts digest to 64e4ab4
+ * fix(deps): update all go dependencies main
+ * install: don't make changes to running cluster in dry-run mode
+ * install/upgrade: introduce IsDryRun method on parameters
+ * kind: Set conn-disrupt-test-setup
+ * chore(deps): update go to v1.21.5
+ * chore(deps): update golang-images
+ * Remove classic mode tests from the main branch
+ * chore(deps): update google-github-actions/setup-gcloud action
+ to v2
+ * Assign unique names to connectivity test jobs
+ * defaults: Add expected drop reasons
+ * connectivity: Add flag --expected-drop-reasons
+ * connectivity: Check for unexpected packet drops
+ * Remove Cilium v1.11 from the version list
+ * chore(deps): update actions/setup-go action to v5
+ * connectivity: Set test-conn-disrupt dispatch interval to 0ms
+ * Update stable release to v0.15.17
+ * chore(deps): update golang docker tag to v1.21.5
+ * connectivity: Add more tests for Ingress Controller
+
+-------------------------------------------------------------------
Old:
----
cilium-cli-0.15.17.obscpio
New:
----
cilium-cli-0.15.18.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cilium-cli.spec ++++++
--- /var/tmp/diff_new_pack.97Wimk/_old 2023-12-13 18:36:58.122851876 +0100
+++ /var/tmp/diff_new_pack.97Wimk/_new 2023-12-13 18:36:58.126852024 +0100
@@ -19,14 +19,14 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: cilium-cli
-Version: 0.15.17
+Version: 0.15.18
Release: 0
Summary: CLI to install, manage & troubleshoot Kubernetes clusters running Cilium
License: Apache-2.0
URL: https://github.com/cilium/cilium-cli
Source: cilium-cli-%{version}.tar.gz
Source1: vendor.tar.gz
-BuildRequires: go >= 1.20
+BuildRequires: go >= 1.21
%description
CLI to install, manage and troubleshoot Kubernetes clusters running Cilium
++++++ _service ++++++
--- /var/tmp/diff_new_pack.97Wimk/_old 2023-12-13 18:36:58.154853059 +0100
+++ /var/tmp/diff_new_pack.97Wimk/_new 2023-12-13 18:36:58.158853206 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/cilium/cilium-cli</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.15.17</param>
+ <param name="revision">v0.15.18</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.97Wimk/_old 2023-12-13 18:36:58.178853945 +0100
+++ /var/tmp/diff_new_pack.97Wimk/_new 2023-12-13 18:36:58.182854093 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/cilium/cilium-cli</param>
- <param name="changesrevision">c1fa8afda634f0457e9905d4f638e5164c4e0fc8</param></service></servicedata>
+ <param name="changesrevision">301179b6b8fbac37e7181ca2e7179249a1c28267</param></service></servicedata>
(No newline at EOF)
++++++ cilium-cli-0.15.17.obscpio -> cilium-cli-0.15.18.obscpio ++++++
/work/SRC/openSUSE:Factory/cilium-cli/cilium-cli-0.15.17.obscpio /work/SRC/openSUSE:Factory/.cilium-cli.new.25432/cilium-cli-0.15.18.obscpio differ: char 49, line 1
++++++ cilium-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.97Wimk/_old 2023-12-13 18:36:58.222855571 +0100
+++ /var/tmp/diff_new_pack.97Wimk/_new 2023-12-13 18:36:58.222855571 +0100
@@ -1,5 +1,5 @@
name: cilium-cli
-version: 0.15.17
-mtime: 1701800588
-commit: c1fa8afda634f0457e9905d4f638e5164c4e0fc8
+version: 0.15.18
+mtime: 1702460256
+commit: 301179b6b8fbac37e7181ca2e7179249a1c28267
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/cilium-cli/vendor.tar.gz /work/SRC/openSUSE:Factory/.cilium-cli.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 shadowsocks-libev for openSUSE:Factory checked in at 2023-12-13 18:36:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shadowsocks-libev (Old)
and /work/SRC/openSUSE:Factory/.shadowsocks-libev.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shadowsocks-libev"
Wed Dec 13 18:36:48 2023 rev:21 rq:1132890 version:3.3.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/shadowsocks-libev/shadowsocks-libev.changes 2023-10-26 17:15:21.990356829 +0200
+++ /work/SRC/openSUSE:Factory/.shadowsocks-libev.new.25432/shadowsocks-libev.changes 2023-12-13 18:36:53.194669787 +0100
@@ -1,0 +2,5 @@
+Wed Dec 13 13:52:10 UTC 2023 - Hillwood Yang <hillwood(a)opensuse.org>
+
+- Set permissions as 640 for /etc/shadowsocks (boo#1216372)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shadowsocks-libev.spec ++++++
--- /var/tmp/diff_new_pack.hvVCZk/_old 2023-12-13 18:36:53.890695504 +0100
+++ /var/tmp/diff_new_pack.hvVCZk/_new 2023-12-13 18:36:53.890695504 +0100
@@ -172,6 +172,7 @@
%service_add_post %{name}-redir@.service
%service_add_post %{name}-tunnel@.service
chown root:shadowsocks %{_sysconfdir}/shadowsocks -R
+chmod 640 %{_sysconfdir}/shadowsocks -R
%preun
%service_del_preun %{name}-server.service
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-13 18:36:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shadowsocks-rust (Old)
and /work/SRC/openSUSE:Factory/.shadowsocks-rust.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shadowsocks-rust"
Wed Dec 13 18:36:44 2023 rev:6 rq:1132889 version:1.17.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/shadowsocks-rust/shadowsocks-rust.changes 2023-12-03 20:49:59.952389754 +0100
+++ /work/SRC/openSUSE:Factory/.shadowsocks-rust.new.25432/shadowsocks-rust.changes 2023-12-13 18:36:51.986625151 +0100
@@ -1,0 +2,5 @@
+Wed Dec 13 13:55:57 UTC 2023 - Hillwood Yang <hillwood(a)opensuse.org>
+
+- Set permissions as 640 for /etc/shadowsocks (boo#1216372)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shadowsocks-rust.spec ++++++
--- /var/tmp/diff_new_pack.EtAb2H/_old 2023-12-13 18:36:52.938660328 +0100
+++ /var/tmp/diff_new_pack.EtAb2H/_new 2023-12-13 18:36:52.938660328 +0100
@@ -87,6 +87,7 @@
%service_add_post %{name}-server.service
%service_add_post %{name}-manager.service
chown root:shadowsocks %{_sysconfdir}/shadowsocks -R
+chmod 640 %{_sysconfdir}/shadowsocks -R
%preun
%service_del_preun %{name}-client.service
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package opensc for openSUSE:Factory checked in at 2023-12-13 18:36:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opensc (Old)
and /work/SRC/openSUSE:Factory/.opensc.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opensc"
Wed Dec 13 18:36:41 2023 rev:55 rq:1132880 version:0.24.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/opensc/opensc.changes 2023-10-10 21:02:47.823514863 +0200
+++ /work/SRC/openSUSE:Factory/.opensc.new.25432/opensc.changes 2023-12-13 18:36:49.766543123 +0100
@@ -1,0 +2,114 @@
+Wed Dec 13 12:27:34 UTC 2023 - Otto Hollmann <otto.hollmann(a)suse.com>
+
+- Update to OpenSC 0.24.0:
+ * Security
+ - CVE-2023-40660: Fix Potential PIN bypass
+ (#2806, frankmorgner/OpenSCToken#50, #2807)
+ - CVE-2023-40661: Important dynamic analyzers reports
+ - CVE-2023-4535: Out-of-bounds read in MyEID driver handling encryption
+ using symmetric keys (f1993dc)
+ * General improvements
+ - Fix compatibility of EAC with OpenSSL 3.0 (#2674)
+ - Enable use_file_cache by default (#2501)
+ - Use custom libctx with OpenSSL >= 3.0 (#2712, #2715)
+ - Fix record-based files (#2604)
+ - Fix several race conditions (#2735)
+ - Run tests under Valgrind (#2756)
+ - Test signing of data bigger than 512 bytes (#2789)
+ - Update to OpenPACE 1.1.3 (#2796)
+ - Implement logout for some of the card drivers (#2807)
+ - Fix wrong popup position of opensc-notify (#2901)
+ - Fixed various issues reported by OSS-Fuzz and Coverity regarding card
+ drivers, PKCS#11 and PKCS#15 init
+ * PKCS#11
+ - Check card presence state in C_GetSessionInfo (#2740)
+ - Remove onepin-opensc-pkcs11 module (#2681)
+ - Do not use colons in the token info label (#2760)
+ - Present profile objects in all slots with the CKA_TOKEN attribute to
+ resolve issues with NSS (#2928, #2924)
+ - Use secure memory for PUK (#2906)
+ - Don't logout to preserve concurrent access from different processes
+ (#2907)
+ - Add more examples to manual page (#2936)
+ - Present profile objects in all virtual slots (#2928)
+ - Provide CKA_TOKEN attribute for profile objects (#2924)
+ - Improve --slot parameter documentation (#2951)
+ * PKCS#15
+ - Honor cache offsets when writing file cache (#2858)
+ - Prevent needless amount of PIN prompts from pkcs15init layer (#2916)
+ - Propagate CKA_EXTRACTABLE and SC_PKCS15_PRKEY_ACCESS_SENSITIVE from and
+ back to PKCS#11 (#2936)
+ * Minidriver
+ - Fix for private keys that do not need a PIN (#2722)
+ - Unbreak decipher when the first null byte of PKCS#1.5 padding is
+ missing (#2939*
+ * pkcs11-tool
+ - Fix RSA key import with OpenSSL 3.0 (#2656)
+ - Add support for attribute filtering when listing objects (#2687)
+ - Add support for --private flag when writing certificates (#2768)
+ - Add support for non-AEAD ciphers to the test mode (#2780)
+ - Show CKA_SIGN attribute for secret keys (#2862)
+ - Do not attempt to read CKA_ALWAYS_AUTHENTICATE on secret keys
+ (#2864, #2913)
+ - Show Sign/VerifyRecover attributes (#2888)
+ - Add option to import generic keys (#2955)
+ * westcos-tool
+ - Generate 2k RSA keys by default (b53fc5c)
+ * pkcs11-register
+ - Disable autostart on Linux by default (#2680)
+ * IDPrime
+ - Add support for IDPrime MD 830, 930 and 940 (#2666)
+ - Add support for SafeNet eToken 5110 token (#2812)
+ - Process index even without keyrefmap and use correct label for second
+ PIN (#2878)
+ - Add support for Gemalto IDPrime 940C (#2941)
+ * EPass2003
+ - Change of PIN requires verification of the PIN (#2759)
+ - Fix incorrect CMAC computation for subkeys (#2759, issue #2734)
+ - Use true random number for mutual authentication for SM (#2766)
+ - Add verification of data coming from the token in the secure messaging
+ mode (#2772)
+ - Avoid success when using unsupported digest and fix data length for RAW
+ ECDSA signatures (#2845)
+ * OpenPGP
+ - Fix select data command (#2753, issue #2752)
+ - Unbreak ed/curve25519 support (#2892)
+ * eOI
+ - Add support for Slovenian eID card (eOI) (#2646)
+ * Italian CNS
+ - Add support for IDEMIA (Oberthur) tokens (#2483)
+ * PIV
+ - Add support for Swissbit iShield FIDO2 Authenticator (#2671)
+ - Implement PIV secure messaging (#2053)
+ * SkeID
+ - Add support for Slovak eID cards (#2672)
+ * isoApplet
+ - Support ECDSA with off-card hashing (#2642)
+ * MyEID
+ - Fix WRAP operation when using T0 (#2695)
+ - Identify changes on the card and enable use_file_cache (#2798)
+ - Workaround for unwrapping using 2K RSA key (#2921)
+ * SC-HSM
+ - Add support for opensc-tool --serial (#2675)
+ - Fix unwrapping of 4096 keys with handling reader limits (#2682)
+ - Indicate supported hashes and MGF1s (#2827)
+- Remove patches:
+ * opensc-CVE-2023-40660-1of2.patch
+ * opensc-CVE-2023-40660-2of2.patch
+ * opensc-CVE-2023-40661-1of12.patch
+ * opensc-CVE-2023-40661-2of12.patch
+ * opensc-CVE-2023-40661-3of12.patch
+ * opensc-CVE-2023-40661-4of12.patch
+ * opensc-CVE-2023-40661-5of12.patch
+ * opensc-CVE-2023-40661-6of12.patch
+ * opensc-CVE-2023-40661-7of12.patch
+ * opensc-CVE-2023-40661-8of12.patch
+ * opensc-CVE-2023-40661-9of12.patch
+ * opensc-CVE-2023-40661-10of12.patch
+ * opensc-CVE-2023-40661-11of12.patch
+ * opensc-CVE-2023-40661-12of12.patch
+ * opensc-CVE-2023-4535.patch
+ * opensc-CVE-2023-2977.patch
+ * opensc-NULL_pointer_fix.patch
+
+-------------------------------------------------------------------
Old:
----
opensc-0.23.0.tar.gz
opensc-CVE-2023-2977.patch
opensc-CVE-2023-40660-1of2.patch
opensc-CVE-2023-40660-2of2.patch
opensc-CVE-2023-40661-10of12.patch
opensc-CVE-2023-40661-11of12.patch
opensc-CVE-2023-40661-12of12.patch
opensc-CVE-2023-40661-1of12.patch
opensc-CVE-2023-40661-2of12.patch
opensc-CVE-2023-40661-3of12.patch
opensc-CVE-2023-40661-4of12.patch
opensc-CVE-2023-40661-5of12.patch
opensc-CVE-2023-40661-6of12.patch
opensc-CVE-2023-40661-7of12.patch
opensc-CVE-2023-40661-8of12.patch
opensc-CVE-2023-40661-9of12.patch
opensc-CVE-2023-4535.patch
opensc-NULL_pointer_fix.patch
New:
----
opensc-0.24.0.tar.gz
BETA DEBUG BEGIN:
Old: * opensc-CVE-2023-4535.patch
* opensc-CVE-2023-2977.patch
* opensc-NULL_pointer_fix.patch
Old:- Remove patches:
* opensc-CVE-2023-40660-1of2.patch
* opensc-CVE-2023-40660-2of2.patch
Old: * opensc-CVE-2023-40660-1of2.patch
* opensc-CVE-2023-40660-2of2.patch
* opensc-CVE-2023-40661-1of12.patch
Old: * opensc-CVE-2023-40661-9of12.patch
* opensc-CVE-2023-40661-10of12.patch
* opensc-CVE-2023-40661-11of12.patch
Old: * opensc-CVE-2023-40661-10of12.patch
* opensc-CVE-2023-40661-11of12.patch
* opensc-CVE-2023-40661-12of12.patch
Old: * opensc-CVE-2023-40661-11of12.patch
* opensc-CVE-2023-40661-12of12.patch
* opensc-CVE-2023-4535.patch
Old: * opensc-CVE-2023-40660-2of2.patch
* opensc-CVE-2023-40661-1of12.patch
* opensc-CVE-2023-40661-2of12.patch
Old: * opensc-CVE-2023-40661-1of12.patch
* opensc-CVE-2023-40661-2of12.patch
* opensc-CVE-2023-40661-3of12.patch
Old: * opensc-CVE-2023-40661-2of12.patch
* opensc-CVE-2023-40661-3of12.patch
* opensc-CVE-2023-40661-4of12.patch
Old: * opensc-CVE-2023-40661-3of12.patch
* opensc-CVE-2023-40661-4of12.patch
* opensc-CVE-2023-40661-5of12.patch
Old: * opensc-CVE-2023-40661-4of12.patch
* opensc-CVE-2023-40661-5of12.patch
* opensc-CVE-2023-40661-6of12.patch
Old: * opensc-CVE-2023-40661-5of12.patch
* opensc-CVE-2023-40661-6of12.patch
* opensc-CVE-2023-40661-7of12.patch
Old: * opensc-CVE-2023-40661-6of12.patch
* opensc-CVE-2023-40661-7of12.patch
* opensc-CVE-2023-40661-8of12.patch
Old: * opensc-CVE-2023-40661-7of12.patch
* opensc-CVE-2023-40661-8of12.patch
* opensc-CVE-2023-40661-9of12.patch
Old: * opensc-CVE-2023-40661-8of12.patch
* opensc-CVE-2023-40661-9of12.patch
* opensc-CVE-2023-40661-10of12.patch
Old: * opensc-CVE-2023-40661-12of12.patch
* opensc-CVE-2023-4535.patch
* opensc-CVE-2023-2977.patch
Old: * opensc-CVE-2023-2977.patch
* opensc-NULL_pointer_fix.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opensc.spec ++++++
--- /var/tmp/diff_new_pack.eyINbU/_old 2023-12-13 18:36:50.862583619 +0100
+++ /var/tmp/diff_new_pack.eyINbU/_new 2023-12-13 18:36:50.862583619 +0100
@@ -18,7 +18,7 @@
%define completionsdir %(pkg-config --variable completionsdir bash-completion)
Name: opensc
-Version: 0.23.0
+Version: 0.24.0
Release: 0
Summary: Smart Card Utilities
License: LGPL-2.1-or-later
@@ -31,27 +31,6 @@
# https://web.archive.org/web/20111225073733/http://www.opensc-project.org/op…
Source3: opensc.module
Patch0: opensc-gcc11.patch
-# PATCH-FIX-UPSTREAM: bsc#1211894, CVE-2023-2977 out of bounds read in pkcs15 cardos_have_verifyrc_package()
-Patch1: opensc-CVE-2023-2977.patch
-# PATCH-FIX-UPSTREAM: bsc#1215762 CVE-2023-40660: PIN bypass when card tracks its own login state
-Patch2: opensc-CVE-2023-40660-1of2.patch
-Patch3: opensc-CVE-2023-40660-2of2.patch
-# PATCH-FIX-UPSTREAM: bsc#1215763 CVE-2023-4535: out-of-bounds read in MyEID driver handling encryption using symmetric keys
-Patch4: opensc-NULL_pointer_fix.patch
-Patch5: opensc-CVE-2023-4535.patch
-# PATCH-FIX-UPSTREAM: bsc#1215761 CVE-2023-40661: multiple memory issues with pkcs15-init (enrollment tool)
-Patch6: opensc-CVE-2023-40661-1of12.patch
-Patch7: opensc-CVE-2023-40661-2of12.patch
-Patch8: opensc-CVE-2023-40661-3of12.patch
-Patch9: opensc-CVE-2023-40661-4of12.patch
-Patch10: opensc-CVE-2023-40661-5of12.patch
-Patch11: opensc-CVE-2023-40661-6of12.patch
-Patch12: opensc-CVE-2023-40661-7of12.patch
-Patch13: opensc-CVE-2023-40661-8of12.patch
-Patch14: opensc-CVE-2023-40661-9of12.patch
-Patch15: opensc-CVE-2023-40661-10of12.patch
-Patch16: opensc-CVE-2023-40661-11of12.patch
-Patch17: opensc-CVE-2023-40661-12of12.patch
BuildRequires: docbook-xsl-stylesheets
BuildRequires: libxslt
BuildRequires: pkgconfig
@@ -107,7 +86,6 @@
%doc %{_docdir}/%{name}/opensc.conf
%{_bindir}/*
%{_datadir}/applications/*.desktop
-%{_sysconfdir}/xdg/autostart/pkcs11-register.desktop
%{_datadir}/opensc
# Note: .la and .so must be in the main package, required by ltdl:
%{_libdir}/*.la
++++++ opensc-0.23.0.tar.gz -> opensc-0.24.0.tar.gz ++++++
++++ 59904 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package adobe-sourcehanserif-fonts for openSUSE:Factory checked in at 2023-12-13 18:36:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/adobe-sourcehanserif-fonts (Old)
and /work/SRC/openSUSE:Factory/.adobe-sourcehanserif-fonts.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "adobe-sourcehanserif-fonts"
Wed Dec 13 18:36:31 2023 rev:5 rq:1132876 version:2.002
Changes:
--------
--- /work/SRC/openSUSE:Factory/adobe-sourcehanserif-fonts/adobe-sourcehanserif-fonts.changes 2023-11-21 21:34:57.897869403 +0100
+++ /work/SRC/openSUSE:Factory/.adobe-sourcehanserif-fonts.new.25432/adobe-sourcehanserif-fonts.changes 2023-12-13 18:36:43.918327040 +0100
@@ -1,0 +2,7 @@
+Wed Dec 13 09:19:31 UTC 2023 - Giacomo Comes <gcomes.obs(a)gmail.com>
+
+- add %reconfigure_fonts_prereq to the subpackages
+ * required by the presence of the macro:
+ %reconfigure_fonts_scriptlets -n <subpackage-name>
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ adobe-sourcehanserif-fonts.spec ++++++
--- /var/tmp/diff_new_pack.rEA28S/_old 2023-12-13 18:36:45.730393993 +0100
+++ /var/tmp/diff_new_pack.rEA28S/_new 2023-12-13 18:36:45.734394141 +0100
@@ -61,6 +61,7 @@
Group: System/X11/Fonts
Provides: scalable-font-zh_CN
Provides: locale(zh_CN)
+%reconfigure_fonts_prereq
%description -n adobe-sourcehanserif-cn-fonts
%{shared_description}
@@ -76,6 +77,7 @@
Group: System/X11/Fonts
Provides: scalable-font-zh_HK
Provides: locale(zh_HK)
+%reconfigure_fonts_prereq
%description -n adobe-sourcehanserif-hk-fonts
%{shared_description}
@@ -91,6 +93,7 @@
Group: System/X11/Fonts
Provides: scalable-font-jp
Provides: locale(jp)
+%reconfigure_fonts_prereq
%description -n adobe-sourcehanserif-jp-fonts
%{shared_description}
@@ -106,6 +109,7 @@
Group: System/X11/Fonts
Provides: scalable-font-kr
Provides: locale(kr)
+%reconfigure_fonts_prereq
%description -n adobe-sourcehanserif-kr-fonts
%{shared_description}
@@ -124,6 +128,7 @@
Provides: scalable-font-zh_TW
Provides: locale(zh_TW)
Obsoletes: adobe-sourcehanserif-fonts < %version
+%reconfigure_fonts_prereq
%description -n adobe-sourcehanserif-tw-fonts
%{shared_description}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package fwts for openSUSE:Factory checked in at 2023-12-13 18:36:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fwts (Old)
and /work/SRC/openSUSE:Factory/.fwts.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fwts"
Wed Dec 13 18:36:26 2023 rev:77 rq:1132868 version:23.11.00
Changes:
--------
--- /work/SRC/openSUSE:Factory/fwts/fwts.changes 2023-07-10 16:40:23.406717872 +0200
+++ /work/SRC/openSUSE:Factory/.fwts.new.25432/fwts.changes 2023-12-13 18:36:39.366158843 +0100
@@ -1,0 +2,89 @@
+Wed Dec 13 11:58:33 UTC 2023 - Martin Pluskal <mpluskal(a)suse.com>
+
+- Update to version 23.11.00:
+ * snapcraft: add source type for repo
+ * snapcraft: update the source repo for snap build
+ * lib: fwts_version.h - update to V23.11.00
+ * debian: update changelog
+ * fwts-test: add regression tests for iBFT
+ * acpi: ibft: add tests for iBFT table
+ * auto-packager: mkpackage.sh: add noble
+ * lib: framework: fix the unclear error message of the results log
+ * auto-packager: update the fwts git repo
+ * fwts-test: add regression tests for RAS2
+ * acpi: ras2: add test for ACPI RAS2 table
+ * acpi/wmi: Add WMI GUID for the wmi-bmof driver
+ * fwts-test: sync up with the klog message update
+ * fwts-test: sync up the SPTT typo fix
+ * klog.json: Add some missing power kernel messages to klog database
+ * klog.json: Add some missing battery kernel messages to klog database
+ * klog.json: Add some missing bus kernel messages to klog database
+ * klog.json: Add some missing nsaccess kernel messages to klog database
+ * klog.json: Add some missing exutils kernel messages to klog database
+ * klog.json: Add some missing hwregs kernel messages to klog database
+ * klog.json: Add some missing tbfadt kernel messages to klog database
+ * klog.json: Add some missing exfield kernel messages to klog database
+ * klog.json: Add some missing rslist kernel messages to klog database
+ * klog.json: Add some missing evmisc kernel messages to klog database
+ * klog.json: Add some missing exmisc kernel messages to klog database
+ * klog.json: Add some missing efi64 kernel messages to klog database
+ * klog.json: Add some missing exresolv kernel messages to klog database
+ * acpi: aspt: fix typo of SPTT
+ * README: modify the fwts git repository
+ * klog.json: Add some missinig processor_perflib kernel messages to klog database
+ * klog.json: Add some missing apmt kernel messages to klog database
+ * klog.json: Add some missing hest kernel messages to klog database
+ * lib: fwts_acpi_table: fix fwts_acpi_reserved_zero_array with the input string
+ * klog.json: Add some missing erst kernel messages to klog database
+ * klog.json: Add some missing bert kernel messages to klog database
+ * klog.json: Add some missing einj kernel messages to klog database
+ * fwts-test: sync up with Recognize Pluton TPM patch
+ * acpi: Recognize Pluton TPM
+ * lib: fwts_version.h - update to V23.09.00
+ * debian: update changelog
+ * klog.json: Add some missing ACPI PCI IRQ kernel messages to klog database
+ * tpmevlog: Correct boundary checking for PCR4 event check
+ * acpi: ivrs: fix the tests stuck at validate IVRS table
+ * klog.json: Add some missing dma kernel messages to klog database
+ * klog.json: Add some missing amba kernel messages to klog database
+ * klog.json: Add some missing sleep kernel messages to klog database
+ * klog.json: Add some missing ACPI NFIT kernel messages to klog database
+ * klog.json: Add some missing processor idle kernel messages to klog database
+ * klog.json: Add some missing ACPI memory hotplug kernel messages to klog database
+ * kernelscan: modify some pathes of the scan files
+ * acpi: madt: add more interrupt controller structure types defined in ACPI 6.5
+ * uefi: esrt: fix the last_attempt_status wrongly interpretation of value
+ * acpi: fadt: remove the tests for expecting smi_cmd is zero
+ * fwts-test: sync up with iort test to version E.e
+ * acpi: iort: update IORT table to specification version E.e
+ * lib: fwts_acpi_object_eval.: fix build fail for ppc64el on mantic
+ * auto-packager: mkpackage.sh: remove kinetic
+ * acpi: s3: build fail for unexpected format of argument types for i386
+ * fwts-test: sync up with the dumping s3-dump-wakeup-src option
+ * snapcraft: add snap build for riscv64
+ * s3: add dumping the all devices and signed wakeup sources
+ * s3: add checking the device signed wakeup events
+ * dmicheck: update supported DMI version to 3.7
+ * Upgrade the max value for "Processor Upgrade" to 0x50
+ * fwts-test: sync up the spcr test updating to revision 4
+ * acpi: spcr: update the spcr tests to lastest revision 4
+ * fwts-test: sync up with the phat dumping vendor data modification
+ * acpi: phat: modify the dumping vendor data format
+ * klog.json: Add and modify some more e820 kernel messages to klog database
+ * fwts-test: sync up with phat fix the device path for the health data record
+ * acpi: phat: fix the device path for the health data record
+ * uefi: esrtdump: update the LastAttemptStatus values to UEFI spec 2.10
+ * acpi: update fadt and madt revisions to ACPI 6.5
+ * fwts-test: sync up with update supported port types
+ * fwts-test: sync up with klog.json ix spelling mistakes found using codespell
+ * acpi/scpr: spcr->interrupt_type == 0 is valid
+ * acpi/spcr: Update supported port types
+ * src/*: Fix various spelling mistakes in source code
+ * data/klog.json: Fix spelling mistakes found using codespell
+
+-------------------------------------------------------------------
+Wed Oct 18 07:46:03 UTC 2023 - Martin Pluskal <martin(a)pluskal.org>
+
+- Update _service url
+
+-------------------------------------------------------------------
Old:
----
fwts-23.07.00.obscpio
New:
----
fwts-23.11.00.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fwts.spec ++++++
--- /var/tmp/diff_new_pack.pc1u5d/_old 2023-12-13 18:36:40.186189143 +0100
+++ /var/tmp/diff_new_pack.pc1u5d/_new 2023-12-13 18:36:40.186189143 +0100
@@ -17,11 +17,10 @@
Name: fwts
-Version: 23.07.00
+Version: 23.11.00
Release: 0
Summary: Firmware Test Suite
License: GPL-2.0-or-later
-Group: Development/Tools/Other
URL: https://wiki.ubuntu.com/Kernel/Reference/fwts
Source0: %{name}-%{version}.tar.gz
# PATCH-FIX-OPENSUSE fwts-no-compiletime.patch
++++++ _service ++++++
--- /var/tmp/diff_new_pack.pc1u5d/_old 2023-12-13 18:36:40.214190177 +0100
+++ /var/tmp/diff_new_pack.pc1u5d/_new 2023-12-13 18:36:40.218190325 +0100
@@ -1,7 +1,7 @@
<services>
- <service name="obs_scm" mode="disabled">
+ <service name="obs_scm" mode="manual">
<param name="versionformat">@PARENT_TAG@</param>
- <param name="url">https://git.launchpad.net/fwts</param>
+ <param name="url">https://github.com/ColinIanKing/fwts.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="exclude">.*</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.pc1u5d/_old 2023-12-13 18:36:40.234190916 +0100
+++ /var/tmp/diff_new_pack.pc1u5d/_new 2023-12-13 18:36:40.238191064 +0100
@@ -1,6 +1,8 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://git.launchpad.net/fwts</param>
- <param name="changesrevision">3cbc82cb1b73781d0b7a3fd94141f924436eed39</param></service></servicedata>
+ <param name="changesrevision">3cbc82cb1b73781d0b7a3fd94141f924436eed39</param></service><service name="tar_scm">
+ <param name="url">https://github.com/ColinIanKing/fwts.git</param>
+ <param name="changesrevision">7a824d3b13fb4e33c3970fe560e36d2c65e7fb10</param></service></servicedata>
(No newline at EOF)
++++++ fwts-23.07.00.obscpio -> fwts-23.11.00.obscpio ++++++
/work/SRC/openSUSE:Factory/fwts/fwts-23.07.00.obscpio /work/SRC/openSUSE:Factory/.fwts.new.25432/fwts-23.11.00.obscpio differ: char 48, line 1
++++++ fwts.obsinfo ++++++
--- /var/tmp/diff_new_pack.pc1u5d/_old 2023-12-13 18:36:40.278192542 +0100
+++ /var/tmp/diff_new_pack.pc1u5d/_new 2023-12-13 18:36:40.282192690 +0100
@@ -1,5 +1,5 @@
name: fwts
-version: 23.07.00
-mtime: 1688697618
-commit: 3cbc82cb1b73781d0b7a3fd94141f924436eed39
+version: 23.11.00
+mtime: 1701225431
+commit: 7a824d3b13fb4e33c3970fe560e36d2c65e7fb10
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package knot for openSUSE:Factory checked in at 2023-12-13 18:36:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/knot (Old)
and /work/SRC/openSUSE:Factory/.knot.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "knot"
Wed Dec 13 18:36:24 2023 rev:23 rq:1132852 version:3.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/knot/knot.changes 2023-10-30 22:11:53.546667190 +0100
+++ /work/SRC/openSUSE:Factory/.knot.new.25432/knot.changes 2023-12-13 18:36:37.762099576 +0100
@@ -1,0 +2,6 @@
+Thu Nov 16 09:59:21 UTC 2023 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
+ allow OBS to shortcut through systemd-mini.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ knot.spec ++++++
--- /var/tmp/diff_new_pack.lAW778/_old 2023-12-13 18:36:38.638131944 +0100
+++ /var/tmp/diff_new_pack.lAW778/_new 2023-12-13 18:36:38.638131944 +0100
@@ -31,7 +31,7 @@
%bcond_without docs
%if %{with systemd}
%define has_systemd 1
-BuildRequires: systemd-devel
+BuildRequires: pkgconfig(libsystemd)
%{?systemd_requires}
%endif
Name: knot
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-soxr for openSUSE:Factory checked in at 2023-12-13 18:36:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-soxr (Old)
and /work/SRC/openSUSE:Factory/.python-soxr.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-soxr"
Wed Dec 13 18:36:22 2023 rev:3 rq:1132860 version:0.3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-soxr/python-soxr.changes 2023-06-01 17:19:32.638168771 +0200
+++ /work/SRC/openSUSE:Factory/.python-soxr.new.25432/python-soxr.changes 2023-12-13 18:36:35.454014295 +0100
@@ -1,0 +2,11 @@
+Wed Dec 13 10:46:55 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.3.7:
+ * Add Python 3.12 builds
+ * Fix `__libsoxr_version__` (https://github.com/dofuuz/python-
+ soxr/pull/22)
+ * Fix version importing for setuptools_scm<7 (Fix #21)
+- update to 0.3.6:
+ * Add __libsoxr_version__ to check version of linked libsoxr
+
+-------------------------------------------------------------------
Old:
----
soxr-0.3.5.tar.gz
New:
----
soxr-0.3.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-soxr.spec ++++++
--- /var/tmp/diff_new_pack.Dcd2yy/_old 2023-12-13 18:36:36.694060113 +0100
+++ /var/tmp/diff_new_pack.Dcd2yy/_new 2023-12-13 18:36:36.702060409 +0100
@@ -17,7 +17,7 @@
Name: python-soxr
-Version: 0.3.5
+Version: 0.3.7
Release: 0
Summary: High quality, one-dimensional sample-rate conversion library
License: LGPL-2.1-or-later
++++++ soxr-0.3.5.tar.gz -> soxr-0.3.7.tar.gz ++++++
++++ 27399 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-testflo for openSUSE:Factory checked in at 2023-12-13 18:36:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-testflo (Old)
and /work/SRC/openSUSE:Factory/.python-testflo.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-testflo"
Wed Dec 13 18:36:18 2023 rev:10 rq:1132850 version:1.4.14
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-testflo/python-testflo.changes 2022-11-12 17:41:37.614331497 +0100
+++ /work/SRC/openSUSE:Factory/.python-testflo.new.25432/python-testflo.changes 2023-12-13 18:36:29.289786536 +0100
@@ -1,0 +2,6 @@
+Wed Dec 13 10:34:49 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.4.14:
+ * Fix bug with `disallow_skipped` option
+
+-------------------------------------------------------------------
Old:
----
testflo-1.4.9.tar.gz
New:
----
testflo-1.4.14.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-testflo.spec ++++++
--- /var/tmp/diff_new_pack.2csOgE/_old 2023-12-13 18:36:30.165818904 +0100
+++ /var/tmp/diff_new_pack.2csOgE/_new 2023-12-13 18:36:30.165818904 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-testflo
#
-# 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 @@
%define skip_python36 1
Name: python-testflo
-Version: 1.4.9
+Version: 1.4.14
Release: 0
Summary: A flow-based testing framework
License: Apache-2.0
++++++ testflo-1.4.9.tar.gz -> testflo-1.4.14.tar.gz ++++++
++++ 1847 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-trio-websocket for openSUSE:Factory checked in at 2023-12-13 18:36:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-trio-websocket (Old)
and /work/SRC/openSUSE:Factory/.python-trio-websocket.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-trio-websocket"
Wed Dec 13 18:36:17 2023 rev:2 rq:1132849 version:0.11.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-trio-websocket/python-trio-websocket.changes 2023-06-09 20:43:26.720647510 +0200
+++ /work/SRC/openSUSE:Factory/.python-trio-websocket.new.25432/python-trio-websocket.changes 2023-12-13 18:36:27.981738205 +0100
@@ -1,0 +2,7 @@
+Wed Dec 13 10:31:49 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.11.1:
+ * remove exceptiongroup dependency for Python >= 3.11
+ * fix client hang when connection lost just after remote closes
+
+-------------------------------------------------------------------
Old:
----
trio-websocket-0.10.3.tar.gz
New:
----
trio-websocket-0.11.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-trio-websocket.spec ++++++
--- /var/tmp/diff_new_pack.8IeedH/_old 2023-12-13 18:36:28.793768209 +0100
+++ /var/tmp/diff_new_pack.8IeedH/_new 2023-12-13 18:36:28.793768209 +0100
@@ -17,7 +17,7 @@
Name: python-trio-websocket
-Version: 0.10.3
+Version: 0.11.1
Release: 0
Summary: WebSocket library for Trio
License: MIT
@@ -30,7 +30,7 @@
BuildRequires: %{python_module wheel}
BuildRequires: python-rpm-macros
# SECTION test requirements
-BuildRequires: %{python_module exceptiongroup}
+BuildRequires: %{python_module exceptiongroup if %python-base < 3.11}
BuildRequires: %{python_module pytest-trio}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module trio >= 0.11}
@@ -38,7 +38,9 @@
BuildRequires: %{python_module wsproto >= 0.14}
# /SECTION
BuildRequires: fdupes
+%if 0%{?python_version_nodots} < 311
Requires: python-exceptiongroup
+%endif
Requires: python-trio >= 0.11
Requires: python-wsproto >= 0.14
BuildArch: noarch
++++++ trio-websocket-0.10.3.tar.gz -> trio-websocket-0.11.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trio-websocket-0.10.3/PKG-INFO new/trio-websocket-0.11.1/PKG-INFO
--- old/trio-websocket-0.10.3/PKG-INFO 2023-06-08 07:54:46.000000000 +0200
+++ new/trio-websocket-0.11.1/PKG-INFO 2023-09-27 01:22:39.000000000 +0200
@@ -1,12 +1,12 @@
Metadata-Version: 2.1
Name: trio-websocket
-Version: 0.10.3
+Version: 0.11.1
Summary: WebSocket library for Trio
-Home-page: https://github.com/HyperionGray/trio-websocket
+Home-page: https://github.com/python-trio/trio-websocket
Author: Mark E. Haase
Author-email: mehaase(a)gmail.com
-Project-URL: Bug Reports, https://github.com/HyperionGray/trio-websocket/issues
-Project-URL: Source, https://github.com/HyperionGray/trio-websocket
+Project-URL: Bug Reports, https://github.com/python-trio/trio-websocket/issues
+Project-URL: Source, https://github.com/python-trio/trio-websocket
Keywords: websocket client server trio
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
@@ -17,6 +17,7 @@
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.7
@@ -40,7 +41,7 @@
[![PyPI](https://img.shields.io/pypi/v/trio-websocket.svg?style=flat-square)](https://pypi.org/project/trio-websocket/)
![Python Versions](https://img.shields.io/pypi/pyversions/trio-websocket.svg?style=flat-square)
-[![Build Status](https://img.shields.io/github/actions/workflow/status/HyperionGray/…
+[![Build Status](https://img.shields.io/github/actions/workflow/status/python-trio/t…
[![Read the Docs](https://img.shields.io/readthedocs/trio-websocket.svg)](https://trio-websocket.readthedocs.io)
## Alternatives
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trio-websocket-0.10.3/README.md new/trio-websocket-0.11.1/README.md
--- old/trio-websocket-0.10.3/README.md 2023-03-19 10:32:10.000000000 +0100
+++ new/trio-websocket-0.11.1/README.md 2023-09-06 22:45:09.000000000 +0200
@@ -15,7 +15,7 @@
[![PyPI](https://img.shields.io/pypi/v/trio-websocket.svg?style=flat-square)](https://pypi.org/project/trio-websocket/)
![Python Versions](https://img.shields.io/pypi/pyversions/trio-websocket.svg?style=flat-square)
-[![Build Status](https://img.shields.io/github/actions/workflow/status/HyperionGray/…
+[![Build Status](https://img.shields.io/github/actions/workflow/status/python-trio/t…
[![Read the Docs](https://img.shields.io/readthedocs/trio-websocket.svg)](https://trio-websocket.readthedocs.io)
## Alternatives
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trio-websocket-0.10.3/setup.py new/trio-websocket-0.11.1/setup.py
--- old/trio-websocket-0.10.3/setup.py 2023-03-19 10:32:10.000000000 +0100
+++ new/trio-websocket-0.11.1/setup.py 2023-09-27 01:18:34.000000000 +0200
@@ -19,7 +19,7 @@
description='WebSocket library for Trio',
long_description=long_description,
long_description_content_type='text/markdown',
- url='https://github.com/HyperionGray/trio-websocket',
+ url='https://github.com/python-trio/trio-websocket',
author='Mark E. Haase',
author_email='mehaase(a)gmail.com',
classifiers=[
@@ -33,6 +33,7 @@
'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',
],
@@ -40,12 +41,12 @@
keywords='websocket client server trio',
packages=find_packages(exclude=['docs', 'examples', 'tests']),
install_requires=[
- 'exceptiongroup',
+ 'exceptiongroup; python_version<"3.11"',
'trio>=0.11',
'wsproto>=0.14',
],
project_urls={
- 'Bug Reports': 'https://github.com/HyperionGray/trio-websocket/issues',
- 'Source': 'https://github.com/HyperionGray/trio-websocket',
+ 'Bug Reports': 'https://github.com/python-trio/trio-websocket/issues',
+ 'Source': 'https://github.com/python-trio/trio-websocket',
},
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trio-websocket-0.10.3/tests/test_connection.py new/trio-websocket-0.11.1/tests/test_connection.py
--- old/trio-websocket-0.10.3/tests/test_connection.py 2023-03-19 12:11:56.000000000 +0100
+++ new/trio-websocket-0.11.1/tests/test_connection.py 2023-09-06 22:45:09.000000000 +0200
@@ -38,7 +38,7 @@
import trio
import trustme
import wsproto
-from trio.testing import memory_stream_pair
+from trio.testing import memory_stream_pair, memory_stream_pump
from wsproto.events import CloseConnection
try:
@@ -1017,3 +1017,41 @@
await trio.sleep_forever()
finally:
raise ValueError
+
+
+async def test_remote_close_rude():
+ """
+ Bad ordering:
+ 1. Remote close
+ 2. TCP closed
+ 3. Local confirms
+ => no ConnectionClosed raised, client hangs forever
+ """
+ client_stream, server_stream = memory_stream_pair()
+
+ async def client():
+ client_conn = await wrap_client_stream(nursery, client_stream, HOST, RESOURCE)
+ assert not client_conn.closed
+ await client_conn.send_message('Hello from client!')
+ with pytest.raises(ConnectionClosed):
+ await client_conn.get_message()
+
+ async def server():
+ server_request = await wrap_server_stream(nursery, server_stream)
+ server_ws = await server_request.accept()
+ assert not server_ws.closed
+ msg = await server_ws.get_message()
+ assert msg == "Hello from client!"
+
+ # disable pumping so that the CloseConnection arrives at the same time as the stream closure
+ server_stream.send_stream.send_all_hook = None
+ await server_ws._send(CloseConnection(code=1000, reason=None))
+ await server_stream.aclose()
+
+ # pump the messages over
+ memory_stream_pump(server_stream.send_stream, client_stream.receive_stream)
+
+
+ async with trio.open_nursery() as nursery:
+ nursery.start_soon(server)
+ nursery.start_soon(client)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trio-websocket-0.10.3/trio_websocket/_impl.py new/trio-websocket-0.11.1/trio_websocket/_impl.py
--- old/trio-websocket-0.10.3/trio_websocket/_impl.py 2023-06-08 07:43:11.000000000 +0200
+++ new/trio-websocket-0.11.1/trio_websocket/_impl.py 2023-09-27 01:18:34.000000000 +0200
@@ -13,7 +13,6 @@
import trio
import trio.abc
-from exceptiongroup import BaseExceptionGroup
from wsproto import ConnectionType, WSConnection
from wsproto.connection import ConnectionState
import wsproto.frame_protocol as wsframeproto
@@ -30,6 +29,10 @@
)
import wsproto.utilities
+if sys.version_info < (3, 11): # pragma: no cover
+ # pylint doesn't care about the version_info check, so need to ignore the warning
+ from exceptiongroup import BaseExceptionGroup # pylint: disable=redefined-builtin
+
_TRIO_MULTI_ERROR = tuple(map(int, trio.__version__.split('.')[:2])) < (0, 22)
CONN_TIMEOUT = 60 # default connect & disconnect timeout, in seconds
@@ -65,7 +68,7 @@
if value is None or not self._armed:
return False
- if _TRIO_MULTI_ERROR:
+ if _TRIO_MULTI_ERROR: # pragma: no cover
filtered_exception = trio.MultiError.filter(_ignore_cancel, value) # pylint: disable=no-member
elif isinstance(value, BaseExceptionGroup):
filtered_exception = value.subgroup(lambda exc: not isinstance(exc, trio.Cancelled))
@@ -1210,45 +1213,46 @@
except ConnectionClosed:
self._reader_running = False
- while self._reader_running:
- # Process events.
- for event in self._wsproto.events():
- event_type = type(event)
+ async with self._send_channel:
+ while self._reader_running:
+ # Process events.
+ for event in self._wsproto.events():
+ event_type = type(event)
+ try:
+ handler = handlers[event_type]
+ logger.debug('%s received event: %s', self,
+ event_type)
+ await handler(event)
+ except KeyError:
+ logger.warning('%s received unknown event type: "%s"', self,
+ event_type)
+ except ConnectionClosed:
+ self._reader_running = False
+ break
+
+ # Get network data.
try:
- handler = handlers[event_type]
- logger.debug('%s received event: %s', self,
- event_type)
- await handler(event)
- except KeyError:
- logger.warning('%s received unknown event type: "%s"', self,
- event_type)
- except ConnectionClosed:
- self._reader_running = False
+ data = await self._stream.receive_some(RECEIVE_BYTES)
+ except (trio.BrokenResourceError, trio.ClosedResourceError):
+ await self._abort_web_socket()
break
-
- # Get network data.
- try:
- data = await self._stream.receive_some(RECEIVE_BYTES)
- except (trio.BrokenResourceError, trio.ClosedResourceError):
- await self._abort_web_socket()
- break
- if len(data) == 0:
- logger.debug('%s received zero bytes (connection closed)',
- self)
- # If TCP closed before WebSocket, then record it as an abnormal
- # closure.
+ if len(data) == 0:
+ logger.debug('%s received zero bytes (connection closed)',
+ self)
+ # If TCP closed before WebSocket, then record it as an abnormal
+ # closure.
+ if self._wsproto.state != ConnectionState.CLOSED:
+ await self._abort_web_socket()
+ break
+ logger.debug('%s received %d bytes', self, len(data))
if self._wsproto.state != ConnectionState.CLOSED:
- await self._abort_web_socket()
- break
- logger.debug('%s received %d bytes', self, len(data))
- if self._wsproto.state != ConnectionState.CLOSED:
- try:
- self._wsproto.receive_data(data)
- except wsproto.utilities.RemoteProtocolError as err:
- logger.debug('%s remote protocol error: %s', self, err)
- if err.event_hint:
- await self._send(err.event_hint)
- await self._close_stream()
+ try:
+ self._wsproto.receive_data(data)
+ except wsproto.utilities.RemoteProtocolError as err:
+ logger.debug('%s remote protocol error: %s', self, err)
+ if err.event_hint:
+ await self._send(err.event_hint)
+ await self._close_stream()
logger.debug('%s reader task finished', self)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trio-websocket-0.10.3/trio_websocket/_version.py new/trio-websocket-0.11.1/trio_websocket/_version.py
--- old/trio-websocket-0.10.3/trio_websocket/_version.py 2023-06-08 07:48:42.000000000 +0200
+++ new/trio-websocket-0.11.1/trio_websocket/_version.py 2023-09-27 01:22:10.000000000 +0200
@@ -1 +1 @@
-__version__ = '0.10.3'
+__version__ = '0.11.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trio-websocket-0.10.3/trio_websocket.egg-info/PKG-INFO new/trio-websocket-0.11.1/trio_websocket.egg-info/PKG-INFO
--- old/trio-websocket-0.10.3/trio_websocket.egg-info/PKG-INFO 2023-06-08 07:54:46.000000000 +0200
+++ new/trio-websocket-0.11.1/trio_websocket.egg-info/PKG-INFO 2023-09-27 01:22:39.000000000 +0200
@@ -1,12 +1,12 @@
Metadata-Version: 2.1
Name: trio-websocket
-Version: 0.10.3
+Version: 0.11.1
Summary: WebSocket library for Trio
-Home-page: https://github.com/HyperionGray/trio-websocket
+Home-page: https://github.com/python-trio/trio-websocket
Author: Mark E. Haase
Author-email: mehaase(a)gmail.com
-Project-URL: Bug Reports, https://github.com/HyperionGray/trio-websocket/issues
-Project-URL: Source, https://github.com/HyperionGray/trio-websocket
+Project-URL: Bug Reports, https://github.com/python-trio/trio-websocket/issues
+Project-URL: Source, https://github.com/python-trio/trio-websocket
Keywords: websocket client server trio
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
@@ -17,6 +17,7 @@
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.7
@@ -40,7 +41,7 @@
[![PyPI](https://img.shields.io/pypi/v/trio-websocket.svg?style=flat-square)](https://pypi.org/project/trio-websocket/)
![Python Versions](https://img.shields.io/pypi/pyversions/trio-websocket.svg?style=flat-square)
-[![Build Status](https://img.shields.io/github/actions/workflow/status/HyperionGray/…
+[![Build Status](https://img.shields.io/github/actions/workflow/status/python-trio/t…
[![Read the Docs](https://img.shields.io/readthedocs/trio-websocket.svg)](https://trio-websocket.readthedocs.io)
## Alternatives
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trio-websocket-0.10.3/trio_websocket.egg-info/requires.txt new/trio-websocket-0.11.1/trio_websocket.egg-info/requires.txt
--- old/trio-websocket-0.10.3/trio_websocket.egg-info/requires.txt 2023-06-08 07:54:46.000000000 +0200
+++ new/trio-websocket-0.11.1/trio_websocket.egg-info/requires.txt 2023-09-27 01:22:39.000000000 +0200
@@ -1,3 +1,5 @@
-exceptiongroup
trio>=0.11
wsproto>=0.14
+
+[:python_version < "3.11"]
+exceptiongroup
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-wsaccel for openSUSE:Factory checked in at 2023-12-13 18:36:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-wsaccel (Old)
and /work/SRC/openSUSE:Factory/.python-wsaccel.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-wsaccel"
Wed Dec 13 18:36:11 2023 rev:4 rq:1132844 version:0.6.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-wsaccel/python-wsaccel.changes 2022-11-12 17:41:29.350282300 +0100
+++ /work/SRC/openSUSE:Factory/.python-wsaccel.new.25432/python-wsaccel.changes 2023-12-13 18:36:23.657578434 +0100
@@ -1,0 +2,7 @@
+Wed Dec 13 10:24:56 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.6.6:
+ * Support Python 3.12
+- use packaged license
+
+-------------------------------------------------------------------
Old:
----
LICENSE
v0.6.4.tar.gz
New:
----
v0.6.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-wsaccel.spec ++++++
--- /var/tmp/diff_new_pack.A0VDhf/_old 2023-12-13 18:36:24.541611097 +0100
+++ /var/tmp/diff_new_pack.A0VDhf/_new 2023-12-13 18:36:24.541611097 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-wsaccel
#
-# 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,18 +18,18 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-wsaccel
-Version: 0.6.4
+Version: 0.6.6
Release: 0
Summary: Accelerator for ws4py and AutobahnPython
License: Apache-2.0
Group: Development/Languages/Python
URL: https://github.com/methane/wsaccel
Source: https://github.com/methane/wsaccel/archive/v%{version}.tar.gz
-Source1: https://raw.githubusercontent.com/methane/wsaccel/master/LICENSE
-BuildRequires: %{python_module Cython >= 0.16}
+BuildRequires: %{python_module Cython}
BuildRequires: %{python_module devel}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%python_subpackages
@@ -41,13 +41,12 @@
%prep
%setup -q -n wsaccel-%{version}
-cp %{SOURCE1} .
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
@@ -57,5 +56,6 @@
%files %{python_files}
%doc ChangeLog README.rst
%license LICENSE
-%{python_sitearch}/*
+%{python_sitearch}/wsaccel
+%{python_sitearch}/wsaccel-%{version}.dist-info
++++++ v0.6.4.tar.gz -> v0.6.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsaccel-0.6.4/.github/workflows/build.yaml new/wsaccel-0.6.6/.github/workflows/build.yaml
--- old/wsaccel-0.6.4/.github/workflows/build.yaml 2022-10-29 06:21:46.000000000 +0200
+++ new/wsaccel-0.6.6/.github/workflows/build.yaml 2023-09-05 09:49:50.000000000 +0200
@@ -3,7 +3,7 @@
jobs:
build-sdist:
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
@@ -13,8 +13,8 @@
- name: build
run: |
pip install -r requirements.txt
- python setup.py sdist
- - uses: actions/upload-artifact@v2
+ python -m build -s
+ - uses: actions/upload-artifact@v3
with:
name: sdist
path: dist
@@ -22,7 +22,7 @@
build:
strategy:
matrix:
- os: [ubuntu-22.04, windows-2022, macos-10.15]
+ os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
name: Build wheels on ${{ matrix.os }}
@@ -31,7 +31,7 @@
- name: Set up QEMU
if: runner.os == 'Linux'
- uses: docker/setup-qemu-action@v1
+ uses: docker/setup-qemu-action@v2
with:
platforms: arm64
@@ -45,17 +45,17 @@
shell: bash
run: |
pip install -r requirements.txt
- python setup.py sdist # To run cythonize
+ python -m build -s # to run Cythonize
- name: Build
- uses: pypa/cibuildwheel(a)v2.11.2
+ uses: pypa/cibuildwheel(a)v2.15.0
env:
CIBW_ARCHS_LINUX: auto aarch64
CIBW_ARCHS_MACOS: x86_64 universal2 arm64
CIBW_SKIP: pp*
- name: Upload Wheels to artifact
- uses: actions/upload-artifact@v1
+ uses: actions/upload-artifact@v3
with:
name: Wheels
path: wheelhouse
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsaccel-0.6.4/ChangeLog new/wsaccel-0.6.6/ChangeLog
--- old/wsaccel-0.6.4/ChangeLog 2022-10-29 06:21:46.000000000 +0200
+++ new/wsaccel-0.6.6/ChangeLog 2023-09-05 09:49:50.000000000 +0200
@@ -1,3 +1,8 @@
+0.6.6
+=====
+
+* Support Python 3.12
+
0.6.4
=====
* Support Python 3.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsaccel-0.6.4/MANIFEST.in new/wsaccel-0.6.6/MANIFEST.in
--- old/wsaccel-0.6.4/MANIFEST.in 2022-10-29 06:21:46.000000000 +0200
+++ new/wsaccel-0.6.6/MANIFEST.in 2023-09-05 09:49:50.000000000 +0200
@@ -1,3 +1,5 @@
include wsaccel/*.[ch]
-include README.rst
include LICENSE
+include README.rst
+include pyproject.toml
+include setup.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsaccel-0.6.4/README.rst new/wsaccel-0.6.6/README.rst
--- old/wsaccel-0.6.4/README.rst 2022-10-29 06:21:46.000000000 +0200
+++ new/wsaccel-0.6.6/README.rst 2023-09-05 09:49:50.000000000 +0200
@@ -1,9 +1,9 @@
WSAccell
=========
-**NOTE: AutobahnPython and ws4py are not actively maintained. So I will stop this project too.
+**NOTE**: AutobahnPython and ws4py are not actively maintained. So I will stop this project too.
Please migrate to `Tornado <https://www.tornadoweb.org/en/stable/>`_ or
-`websockets <https://websockets.readthedocs.io/en/stable/intro.html>`_.**
+`websockets <https://websockets.readthedocs.io/en/stable/intro.html>`_.
WSAccell is WebSocket accelerator for `AutobahnPython <https://autobahn.readthedocs.io/en/latest/>`_,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsaccel-0.6.4/requirements.txt new/wsaccel-0.6.6/requirements.txt
--- old/wsaccel-0.6.4/requirements.txt 2022-10-29 06:21:46.000000000 +0200
+++ new/wsaccel-0.6.6/requirements.txt 2023-09-05 09:49:50.000000000 +0200
@@ -1,3 +1,2 @@
-Cython~=0.29.32
-wheel
-setuptools
+build
+cython
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsaccel-0.6.4/setup.cfg new/wsaccel-0.6.6/setup.cfg
--- old/wsaccel-0.6.4/setup.cfg 1970-01-01 01:00:00.000000000 +0100
+++ new/wsaccel-0.6.6/setup.cfg 2023-09-05 09:49:50.000000000 +0200
@@ -0,0 +1,20 @@
+[metadata]
+name = wsaccel
+version = 0.6.6
+description = Accelerator for ws4py and AutobahnPython
+maintainer = Inada Naoki
+maintainer_email = songofacandy(a)gmail.com
+url = https://github.com/methane/wsaccel
+license = Apache 2.0
+long_description = file: README.md
+long_description_content_type = text/x-rst
+classifiers=
+ Intended Audience :: Developers
+ Operating System :: OS Independent
+ Programming Language :: Python
+ Programming Language :: Python :: 3
+ 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsaccel-0.6.4/setup.py new/wsaccel-0.6.6/setup.py
--- old/wsaccel-0.6.4/setup.py 2022-10-29 06:21:46.000000000 +0200
+++ new/wsaccel-0.6.6/setup.py 2023-09-05 09:49:50.000000000 +0200
@@ -47,31 +47,8 @@
Extension('wsaccel.xormask', ['wsaccel/xormask.c']),
]
-with open('README.rst', encoding='utf-8') as f:
- long_description = f.read()
-
-setup(name="wsaccel",
- version='0.6.4',
- description="Accelerator for ws4py and AutobahnPython",
- maintainer="Inada Naoki",
- maintainer_email="songofacandy(a)gmail.com",
- url="https://github.com/methane/wsaccel",
- packages=["wsaccel"],
- cmdclass={'build_ext': BuildExt, 'sdist': Sdist},
- ext_modules=ext_modules,
- platforms=["any"],
- license='Apache',
- long_description=long_description,
- classifiers=[
- 'Intended Audience :: Developers',
- 'Operating System :: OS Independent',
- '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',
- 'Programming Language :: Python :: 3.11',
- 'Programming Language :: Python :: Implementation :: CPython',
- ],
- )
+setup(
+ packages=["wsaccel"],
+ cmdclass={'build_ext': BuildExt, 'sdist': Sdist},
+ ext_modules=ext_modules,
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wsaccel-0.6.4/wsaccel/__init__.py new/wsaccel-0.6.6/wsaccel/__init__.py
--- old/wsaccel-0.6.4/wsaccel/__init__.py 2022-10-29 06:21:46.000000000 +0200
+++ new/wsaccel-0.6.6/wsaccel/__init__.py 2023-09-05 09:49:50.000000000 +0200
@@ -1,4 +1,5 @@
-__version__ = '0.6.4'
+__version__ = '0.6.6'
+
def patch_autobahn():
from wsaccel.utf8validator import Utf8Validator
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-rt for openSUSE:Factory checked in at 2023-12-13 18:36:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rt (Old)
and /work/SRC/openSUSE:Factory/.python-rt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rt"
Wed Dec 13 18:36:08 2023 rev:19 rq:1132843 version:3.1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rt/python-rt.changes 2023-08-18 19:29:40.283457099 +0200
+++ /work/SRC/openSUSE:Factory/.python-rt.new.25432/python-rt.changes 2023-12-13 18:36:21.917514141 +0100
@@ -1,0 +2,15 @@
+Fri Dec 8 16:08:22 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.1.3:
+ * Fix an issue where no e-mail was sent on ticket creation due
+ to suggesting to use **Requestors** instead of **Requestor**
+ * Revert breaking change for python3.8
+ (collections.abc.AsyncIterator is not subscriptable).
+ * In AsyncRt, instead of returning sequences, return
+ AsyncIterators.
+ * Replace *requests* with *httpx* for the REST2 part.
+ * Add a new *AsyncRt* class which implements the RT REST2 API
+ in asnyc.
+ * Adapt tests to include thew new async parts of this library.
+
+-------------------------------------------------------------------
Old:
----
rt-3.0.7.tar.gz
New:
----
rt-3.1.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rt.spec ++++++
--- /var/tmp/diff_new_pack.cn8sC5/_old 2023-12-13 18:36:22.385531434 +0100
+++ /var/tmp/diff_new_pack.cn8sC5/_new 2023-12-13 18:36:22.389531581 +0100
@@ -17,7 +17,7 @@
Name: python-rt
-Version: 3.0.7
+Version: 3.1.3
Release: 0
Summary: Python interface to Request Tracker API
License: GPL-3.0-only
++++++ rt-3.0.7.tar.gz -> rt-3.1.3.tar.gz ++++++
++++ 3060 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-userpath for openSUSE:Factory checked in at 2023-12-13 18:36:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-userpath (Old)
and /work/SRC/openSUSE:Factory/.python-userpath.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-userpath"
Wed Dec 13 18:36:07 2023 rev:6 rq:1132842 version:1.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-userpath/python-userpath.changes 2023-08-10 15:34:56.048550579 +0200
+++ /work/SRC/openSUSE:Factory/.python-userpath.new.25432/python-userpath.changes 2023-12-13 18:36:20.697469062 +0100
@@ -1,0 +2,7 @@
+Wed Dec 13 10:21:39 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.9.1:
+ * Temporarily revert the change on non-Windows systems where
+ only login shells are modified
+
+-------------------------------------------------------------------
Old:
----
userpath-1.9.0.tar.gz
New:
----
userpath-1.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-userpath.spec ++++++
--- /var/tmp/diff_new_pack.NuBZ5G/_old 2023-12-13 18:36:21.245489310 +0100
+++ /var/tmp/diff_new_pack.NuBZ5G/_new 2023-12-13 18:36:21.245489310 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-userpath
-Version: 1.9.0
+Version: 1.9.1
Release: 0
Summary: Tool for adding locations to the user PATH
License: MIT
++++++ userpath-1.9.0.tar.gz -> userpath-1.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/userpath-1.9.0/HISTORY.rst new/userpath-1.9.1/HISTORY.rst
--- old/userpath-1.9.0/HISTORY.rst 2020-02-02 01:00:00.000000000 +0100
+++ new/userpath-1.9.1/HISTORY.rst 2020-02-02 01:00:00.000000000 +0100
@@ -4,6 +4,11 @@
master
^^^^^^
+1.9.1
+^^^^^
+
+- Temporarily revert the change on non-Windows systems where only login shells are modified
+
1.9.0
^^^^^
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/userpath-1.9.0/PKG-INFO new/userpath-1.9.1/PKG-INFO
--- old/userpath-1.9.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/userpath-1.9.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: userpath
-Version: 1.9.0
+Version: 1.9.1
Summary: Cross-platform tool for adding locations to the user PATH
Project-URL: Funding, https://github.com/sponsors/ofek
Project-URL: History, https://github.com/ofek/userpath/blob/master/HISTORY.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/userpath-1.9.0/userpath/__init__.py new/userpath-1.9.1/userpath/__init__.py
--- old/userpath-1.9.0/userpath/__init__.py 2020-02-02 01:00:00.000000000 +0100
+++ new/userpath-1.9.1/userpath/__init__.py 2020-02-02 01:00:00.000000000 +0100
@@ -1,4 +1,4 @@
from .core import append, in_new_path, need_shell_restart, prepend
from .utils import in_current_path
-__version__ = '1.9.0'
+__version__ = '1.9.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/userpath-1.9.0/userpath/shells.py new/userpath-1.9.1/userpath/shells.py
--- old/userpath-1.9.0/userpath/shells.py 2020-02-02 01:00:00.000000000 +0100
+++ new/userpath-1.9.1/userpath/shells.py 2020-02-02 01:00:00.000000000 +0100
@@ -30,6 +30,8 @@
new_path = '{}{}{}'.format(head, pathsep, tail)
contents = 'export PATH="{}"'.format(new_path)
+ configs = {path.join(self.home, '.bashrc'): contents}
+
# https://github.com/ofek/userpath/issues/3#issuecomment-492491977
profile_path = path.join(self.home, '.profile')
bash_profile_path = path.join(self.home, '.bash_profile')
@@ -42,11 +44,13 @@
# Terminal.app runs a login shell by default for each new terminal window.
login_config = bash_profile_path
- return {login_config: contents}
+ configs[login_config] = contents
+
+ return configs
@classmethod
def show_path_commands(cls):
- return [['bash', '-i', '-l', '-c', 'echo $PATH']]
+ return [['bash', '-i', '-c', 'echo $PATH'], ['bash', '-i', '-l', '-c', 'echo $PATH']]
class Fish(Shell):
@@ -91,12 +95,11 @@
contents = 'export PATH="{}"'.format(new_path)
zdotdir = environ.get('ZDOTDIR', self.home)
-
- return {path.join(zdotdir, '.zprofile'): contents}
+ return {path.join(zdotdir, '.zshrc'): contents, path.join(zdotdir, '.zprofile'): contents}
@classmethod
def show_path_commands(cls):
- return [['zsh', '-i', '-l', '-c', 'echo $PATH']]
+ return [['zsh', '-i', '-c', 'echo $PATH'], ['zsh', '-i', '-l', '-c', 'echo $PATH']]
SHELLS = {
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-ujson for openSUSE:Factory checked in at 2023-12-13 18:36:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ujson (Old)
and /work/SRC/openSUSE:Factory/.python-ujson.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ujson"
Wed Dec 13 18:36:05 2023 rev:22 rq:1132838 version:5.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ujson/python-ujson.changes 2023-07-19 19:11:56.297023859 +0200
+++ /work/SRC/openSUSE:Factory/.python-ujson.new.25432/python-ujson.changes 2023-12-13 18:36:16.785324514 +0100
@@ -1,0 +2,12 @@
+Wed Dec 13 10:14:23 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 5.9.0:
+ * Raise TypeError if toDict() returns a non-dict instead of
+ silently converting it to null (#615) @eltoder
+ * Use lowercase strings for bool dict keys (#614) @eltoder
+ * Deploy to PyPI using trusted publishing (#603) @hugovk
+ * Replace PyPy3.8 wheel with PyPy3.10 (#602) @hugovk
+ * Speed-up and cleanup objToJSON (#615) @eltoder
+ * Use lowercase strings for bool dict keys (#614) @eltoder
+
+-------------------------------------------------------------------
Old:
----
ujson-5.8.0.tar.gz
New:
----
ujson-5.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ujson.spec ++++++
--- /var/tmp/diff_new_pack.qD60Tt/_old 2023-12-13 18:36:17.985368854 +0100
+++ /var/tmp/diff_new_pack.qD60Tt/_new 2023-12-13 18:36:17.997369298 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-ujson
-Version: 5.8.0
+Version: 5.9.0
Release: 0
Summary: JSON encoder and decoder for Python
License: BSD-3-Clause
++++++ ujson-5.8.0.tar.gz -> ujson-5.9.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-ujson/ujson-5.8.0.tar.gz /work/SRC/openSUSE:Factory/.python-ujson.new.25432/ujson-5.9.0.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-rich-click for openSUSE:Factory checked in at 2023-12-13 18:36:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rich-click (Old)
and /work/SRC/openSUSE:Factory/.python-rich-click.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rich-click"
Wed Dec 13 18:36:04 2023 rev:4 rq:1132837 version:1.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rich-click/python-rich-click.changes 2023-05-05 15:58:20.896450597 +0200
+++ /work/SRC/openSUSE:Factory/.python-rich-click.new.25432/python-rich-click.changes 2023-12-13 18:36:15.665283131 +0100
@@ -1,0 +2,28 @@
+Wed Dec 13 10:13:11 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.7.2:
+ * Add support for rich formatting in epilog text [#146]
+ * Fix bug with `rich-click` CLI not working with Python 3.12.
+ #141
+ * Fix compatibility issue with `dbt-core` CLI. [#140]
+ * Extends Click's `HelpFormatter` class
+ * Creates a `HelpConfiguration` class that doubles the current
+ module-level settings
+ * Added a decorator that allows the `HelpConfiguration` to be
+ passed into Click via the supported `context_settings`
+ argument provided by the `Command` and `Group` classes.
+ * The Rich Console object can also be configured per command
+ and is distinct from the Console instance used internally by
+ the formatter. The `RichHelpFormatter` creates a console
+ based on the `RichHelpConfiguration` as the tight coupling
+ between the Formatter and Click's internals make it difficult
+ to allow the Console to be configured externally (i.e. one
+ example is that Click expects help formatting to be
+ buffered).
+ * Created a `RichContext` class to allow creation of the custom
+ formatter.
+ * The Rich Command, Group, and Context now expose the `Console`
+ and `RichHelpConfiguration` properties.
+ * Added contributor VSCode settings
+
+-------------------------------------------------------------------
Old:
----
rich-click-1.6.1.tar.gz
New:
----
rich-click-1.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rich-click.spec ++++++
--- /var/tmp/diff_new_pack.lfxQAY/_old 2023-12-13 18:36:16.185302344 +0100
+++ /var/tmp/diff_new_pack.lfxQAY/_new 2023-12-13 18:36:16.185302344 +0100
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-rich-click
-Version: 1.6.1
+Version: 1.7.1
Release: 0
Summary: Format click help output nicely with rich
License: MIT
@@ -27,11 +27,11 @@
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-click >= 7
+Requires: python-click >= 8
Requires: python-rich >= 10.7.0
BuildArch: noarch
# SECTION test requirements
-BuildRequires: %{python_module click >= 7}
+BuildRequires: %{python_module click >= 8}
BuildRequires: %{python_module rich >= 10.7.0}
# /SECTION
%python_subpackages
++++++ rich-click-1.6.1.tar.gz -> rich-click-1.7.1.tar.gz ++++++
++++ 3732 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package bctoolbox for openSUSE:Factory checked in at 2023-12-13 18:35:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bctoolbox (Old)
and /work/SRC/openSUSE:Factory/.bctoolbox.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bctoolbox"
Wed Dec 13 18:35:56 2023 rev:48 rq:1132806 version:5.2.98
Changes:
--------
--- /work/SRC/openSUSE:Factory/bctoolbox/bctoolbox.changes 2023-10-15 19:30:17.878857734 +0200
+++ /work/SRC/openSUSE:Factory/.bctoolbox.new.25432/bctoolbox.changes 2023-12-13 18:36:08.781028767 +0100
@@ -1,0 +2,5 @@
+Mon Dec 11 07:40:03 UTC 2023 - Paolo Stivanin <info(a)paolostivanin.com>
+
+- Add decaf dep for post quantum crypto (tumbleweed only for now).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bctoolbox.spec ++++++
--- /var/tmp/diff_new_pack.Ua4IBl/_old 2023-12-13 18:36:09.557057440 +0100
+++ /var/tmp/diff_new_pack.Ua4IBl/_new 2023-12-13 18:36:09.557057440 +0100
@@ -31,6 +31,10 @@
Patch1: gcc9-stringop-bogus-warning.patch
Patch2: set_curret_version.patch
BuildRequires: bcunit-devel >= 3.0.2+git.20191119
+%if 0%{?suse_version} >= 1600
+# At the time of writing (11/Dec/2023), decaf is only available on Tumbleweed.
+BuildRequires: decaf-devel
+%endif
BuildRequires: chrpath
BuildRequires: cmake
BuildRequires: gcc-c++
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package okteta for openSUSE:Factory checked in at 2023-12-13 18:35:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/okteta (Old)
and /work/SRC/openSUSE:Factory/.okteta.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "okteta"
Wed Dec 13 18:35:51 2023 rev:82 rq:1132812 version:0.26.14
Changes:
--------
--- /work/SRC/openSUSE:Factory/okteta/okteta.changes 2023-08-08 17:26:00.403201122 +0200
+++ /work/SRC/openSUSE:Factory/.okteta.new.25432/okteta.changes 2023-12-13 18:36:00.928738636 +0100
@@ -1,0 +2,20 @@
+Wed Dec 13 08:34:09 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 0.26.14
+ * Improved: translations
+ * Improved: default docker widgets layout hack updated with a
+ Qt 5.15 value
+ * Improved: byte array view now supports Delete key also in
+ value column/row
+ * Fixed: ELF structure definition had wrong e_phoff label
+ (kde#474838)
+ * Fixed: status bar cursor position & selection display max.
+ width calculation
+ * Fixed: export of view as text now uses view setting for
+ offset encoding
+ * Fixed: printing of view now uses view setting for offset
+ encoding
+ * Changed: ISO-8859-8-I removed from codec set, Qt made
+ ISO-8859-8 the same
+
+-------------------------------------------------------------------
Old:
----
okteta-0.26.13.tar.xz
okteta-0.26.13.tar.xz.sig
New:
----
okteta-0.26.14.tar.xz
okteta-0.26.14.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ okteta.spec ++++++
--- /var/tmp/diff_new_pack.UEUSx7/_old 2023-12-13 18:36:01.476758885 +0100
+++ /var/tmp/diff_new_pack.UEUSx7/_new 2023-12-13 18:36:01.476758885 +0100
@@ -20,7 +20,7 @@
%define Okteta_sover 3
%bcond_without released
Name: okteta
-Version: 0.26.13
+Version: 0.26.14
Release: 0
Summary: Hex Editor
License: GFDL-1.2-only AND GPL-2.0-only
++++++ okteta-0.26.13.tar.xz -> okteta-0.26.14.tar.xz ++++++
++++ 17519 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libcotp for openSUSE:Factory checked in at 2023-12-13 18:35:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcotp (Old)
and /work/SRC/openSUSE:Factory/.libcotp.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcotp"
Wed Dec 13 18:35:46 2023 rev:12 rq:1132822 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libcotp/libcotp.changes 2023-11-28 22:21:03.105425808 +0100
+++ /work/SRC/openSUSE:Factory/.libcotp.new.25432/libcotp.changes 2023-12-13 18:35:55.600541767 +0100
@@ -1,0 +2,16 @@
+Wed Dec 13 08:53:29 UTC 2023 - Paolo Stivanin <info(a)paolostivanin.com>
+
+- Update to 3.0.0:
+ * This release supersedes v2.1.0 and brings a new feature and
+ some small code improvements:
+ + Add support for OpenSSL (#52), by @mchalain
+ + Fix base32 encoding and decoding of bytes array (#54)
+ + make is_string_valid_b32 public
+ + improve code readability
+
+-------------------------------------------------------------------
+Wed Dec 6 07:30:58 UTC 2023 - Paolo Stivanin <info(a)paolostivanin.com>
+
+- Use correct library 'libcriterion-devel'.
+
+-------------------------------------------------------------------
Old:
----
v2.1.0.tar.gz
v2.1.0.tar.gz.asc
New:
----
v3.0.0.tar.gz
v3.0.0.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libcotp.spec ++++++
--- /var/tmp/diff_new_pack.1IMnsz/_old 2023-12-13 18:35:56.184563346 +0100
+++ /var/tmp/diff_new_pack.1IMnsz/_new 2023-12-13 18:35:56.188563494 +0100
@@ -16,9 +16,9 @@
#
-%define libsoname %{name}2
+%define libsoname %{name}3
Name: libcotp
-Version: 2.1.0
+Version: 3.0.0
Release: 0
Summary: C library for generating TOTP and HOTP
License: Apache-2.0
@@ -31,7 +31,7 @@
BuildRequires: gcc
%if 0%{?suse_version} >= 1600
%ifarch x86_64
-BuildRequires: libcriterion3-devel
+BuildRequires: libcriterion-devel
%endif
%endif
BuildRequires: libgcrypt-devel >= 1.8.0
++++++ v2.1.0.tar.gz -> v3.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcotp-2.1.0/CMakeLists.txt new/libcotp-3.0.0/CMakeLists.txt
--- old/libcotp-2.1.0/CMakeLists.txt 2023-11-28 14:26:25.000000000 +0100
+++ new/libcotp-3.0.0/CMakeLists.txt 2023-12-13 09:42:15.000000000 +0100
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.16)
-project(cotp VERSION "2.1.0" LANGUAGES "C")
+project(cotp VERSION "3.0.0" LANGUAGES "C")
set(CMAKE_C_STANDARD 11)
@@ -35,30 +35,28 @@
message("libcotp can't use ${HMAC_WRAPPER} for hmac")
endif()
-include_directories(${HMAC_INCLUDE_DIR} ${BASEENCODE_INCLUDE_DIRS})
-
-link_directories(${HMAC_LIBRARY_DIRS} ${BASEENCODE_LIBRARY_DIRS})
+include_directories(${HMAC_INCLUDE_DIR})
+link_directories(${HMAC_LIBRARY_DIRS})
if (BUILD_TESTS)
-add_subdirectory(tests)
+ add_subdirectory(tests)
endif ()
set(COTP_HEADERS
src/cotp.h
- )
+)
+
set(SOURCE_FILES
src/otp.c
${HMAC_SOURCE_FILES}
src/utils/base32.c
- )
+)
# Set compiler flags for all targets
add_compile_options(-Wall -Wextra -O3 -Wformat=2 -Wmissing-format-attribute -fstack-protector-strong -Wundef -Wmissing-format-attribute
-fdiagnostics-color=always -Wstrict-prototypes -Wunreachable-code -Wchar-subscripts -Wwrite-strings -Wpointer-arith -Wbad-function-cast
-Wcast-align -Werror=format-security -Werror=implicit-function-declaration -Wno-sign-compare -Wno-format-nonliteral -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3)
-add_link_options(-Wl,--no-add-needed -Wl,--as-needed -Wl,-z,relro,-z,now)
-
add_library(cotp ${SOURCE_FILES})
target_link_libraries(cotp ${HMAC_LIBRARIES})
@@ -66,14 +64,13 @@
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src
PRIVATE
- ${HMAC_INCLUDE_DIR}
- ${BASEENCODE_INCLUDE_DIRS})
+ ${HMAC_INCLUDE_DIR})
target_compile_options(cotp PRIVATE
-Wall -Wextra -O3 -Wformat=2 -Wmissing-format-attribute -fstack-protector-strong -Wundef -Wmissing-format-attribute
-fdiagnostics-color=always -Wstrict-prototypes -Wunreachable-code -Wchar-subscripts -Wwrite-strings -Wpointer-arith -Wbad-function-cast
-Wcast-align -Werror=format-security -Werror=implicit-function-declaration -Wno-sign-compare -Wno-format-nonliteral -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3)
target_link_directories(cotp PRIVATE
- ${HMACLIBRARY_DIRS} ${BASEENCODE_LIBRARY_DIRS})
+ ${HMACLIBRARY_DIRS})
set_target_properties(cotp PROPERTIES VERSION ${CMAKE_PROJECT_VERSION} SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcotp-2.1.0/README.md new/libcotp-3.0.0/README.md
--- old/libcotp-2.1.0/README.md 2023-11-28 14:26:25.000000000 +0100
+++ new/libcotp-3.0.0/README.md 2023-12-13 09:42:15.000000000 +0100
@@ -96,10 +96,12 @@
uchar *base32_decode (const char *user_data,
size_t data_len,
cotp_error_t *err_code);
+
+bool is_string_valid_b32 (const char *user_data);
```
where:
-- `user_data` is the data to be encoded/decoded
+- `user_data` is the data to be encoded or decoded
- `data_len` is the length of the data to be encoded/decoded
- `err_code` is where the error is stored
@@ -115,3 +117,6 @@
- `INVALID_USER_INPUT`, set if the given input is not valid
Both functions return and empty string if the input is an empty string. In such a case, `err` is set to `EMPTY_STRING`.
+
+`is_string_valid_b32` returns `true` if `user_data` is a valid base32 encoded string, `false` otherwise. Please note that `user_data` can contain spaces, since
+the fucntion will also take care of trimming those.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcotp-2.1.0/SECURITY.md new/libcotp-3.0.0/SECURITY.md
--- old/libcotp-2.1.0/SECURITY.md 2023-11-28 14:26:25.000000000 +0100
+++ new/libcotp-3.0.0/SECURITY.md 2023-12-13 09:42:15.000000000 +0100
@@ -6,8 +6,8 @@
| Version | Supported | EOL |
|---------| ------------------ |-------------|
-| 2.1.x | :heavy_check_mark: | - |
-| 2.0.x | :heavy_check_mark: | 31-Dec-2023 |
+| 3.0.x | :white_check_mark: | - |
+| 2.0.x | :white_check_mark: | 31-Dec-2023 |
| 1.2.x | :x: | 30-Jun-2023 |
| 1.1.x | :x: | 31-Dec-2021 |
| 1.0.x | :x: | 31-Dec-2021 |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcotp-2.1.0/src/cotp.h new/libcotp-3.0.0/src/cotp.h
--- old/libcotp-2.1.0/src/cotp.h 2023-11-28 14:26:25.000000000 +0100
+++ new/libcotp-3.0.0/src/cotp.h 2023-12-13 09:42:15.000000000 +0100
@@ -1,5 +1,6 @@
#pragma once
#include <stdint.h>
+#include <stdbool.h>
#define SHA1 0
#define SHA256 1
@@ -30,6 +31,8 @@
extern "C" {
#endif
+extern const uint8_t b32_alphabet[];
+
char *base32_encode (const uchar *user_data,
size_t data_len,
cotp_error_t *err_code);
@@ -38,6 +41,8 @@
size_t data_len,
cotp_error_t *err_code);
+bool is_string_valid_b32 (const char *user_data);
+
char *get_hotp (const char *base32_encoded_secret,
long counter,
int digits,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcotp-2.1.0/src/utils/base32.c new/libcotp-3.0.0/src/utils/base32.c
--- old/libcotp-2.1.0/src/utils/base32.c 2023-11-28 14:26:25.000000000 +0100
+++ new/libcotp-3.0.0/src/utils/base32.c 2023-12-13 09:42:15.000000000 +0100
@@ -1,10 +1,7 @@
-#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "../cotp.h"
-#define FALSE 0
-#define TRUE !FALSE
#define BITS_PER_BYTE 8
#define BITS_PER_B32_BLOCK 5
@@ -14,18 +11,19 @@
// if 64 MB of data is encoded than it should be also possible to decode it. That's why a bigger input is allowed for decoding
#define MAX_DECODE_BASE32_INPUT_LEN ((MAX_ENCODE_INPUT_LEN * 8 + 4) / 5)
-static int is_valid_b32_input (const char *user_data);
+const uint8_t b32_alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
-static int get_char_index (uint8_t c);
+static int get_char_index (uint8_t c);
-static cotp_error_t check_input (const uint8_t *user_data,
- size_t data_len,
- int32_t max_len);
+static bool valid_b32_str (const char *str);
-static int strip_char (char *str,
- char strip);
+static bool has_space (const char *str);
-static const uint8_t b32_alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
+static cotp_error_t check_input (const uint8_t *user_data,
+ size_t data_len,
+ int32_t max_len);
+
+static int strip_char (char *str);
// The encoding process represents 40-bit groups of input bits as output strings of 8 encoded characters. The input data must be null terminated.
@@ -46,13 +44,13 @@
size_t user_data_chars = 0, total_bits = 0;
int num_of_equals = 0;
- int null_terminated = FALSE;
+ int null_terminated = false;
if (strlen ((char *)user_data) == data_len - 1) {
// the user might give the input with the null byte, we need to check for that
- null_terminated = TRUE;
+ null_terminated = true;
}
for (int i = 0; i < data_len; i++) {
- if (null_terminated == TRUE && user_data[i] == '\0' && i == data_len-1) {
+ if (null_terminated == true && user_data[i] == '\0' && i == data_len-1) {
break;
}
total_bits += 8;
@@ -72,30 +70,16 @@
return NULL;
}
- for (int i = 0, j = 0; i < user_data_chars;) {
- uint64_t first_octet = user_data[i++];
- uint64_t second_octet = i < user_data_chars ? user_data[i++] : 0;
- uint64_t third_octet = i < user_data_chars ? user_data[i++] : 0;
- uint64_t fourth_octet = i < user_data_chars ? user_data[i++] : 0;
- uint64_t fifth_octet = i < user_data_chars ? user_data[i++] : 0;
- uint64_t quintuple =
- ((first_octet >> 3) << 35) +
- ((((first_octet & 0x7) << 2) | (second_octet >> 6)) << 30) +
- (((second_octet & 0x3F) >> 1) << 25) +
- ((((second_octet & 0x01) << 4) | (third_octet >> 4)) << 20) +
- ((((third_octet & 0xF) << 1) | (fourth_octet >> 7)) << 15) +
- (((fourth_octet & 0x7F) >> 2) << 10) +
- ((((fourth_octet & 0x3) << 3) | (fifth_octet >> 5)) << 5) +
- (fifth_octet & 0x1F);
-
- encoded_data[j++] = (char)b32_alphabet[(quintuple >> 35) & 0x1F];
- encoded_data[j++] = (char)b32_alphabet[(quintuple >> 30) & 0x1F];
- encoded_data[j++] = (char)b32_alphabet[(quintuple >> 25) & 0x1F];
- encoded_data[j++] = (char)b32_alphabet[(quintuple >> 20) & 0x1F];
- encoded_data[j++] = (char)b32_alphabet[(quintuple >> 15) & 0x1F];
- encoded_data[j++] = (char)b32_alphabet[(quintuple >> 10) & 0x1F];
- encoded_data[j++] = (char)b32_alphabet[(quintuple >> 5) & 0x1F];
- encoded_data[j++] = (char)b32_alphabet[(quintuple >> 0) & 0x1F];
+ for (int i = 0, j = 0; i < user_data_chars; i += 5) {
+ uint64_t quintuple = 0;
+
+ for (int k = 0; k < 5; k++) {
+ quintuple = (quintuple << 8) | (i + k < user_data_chars ? user_data[i + k] : 0);
+ }
+
+ for (int shift = 35; shift >= 0; shift -= 5) {
+ encoded_data[j++] = (char)b32_alphabet[(quintuple >> shift) & 0x1F];
+ }
}
for (int i = 0; i < num_of_equals; i++) {
@@ -129,9 +113,9 @@
*err_code = MEMORY_ALLOCATION_ERROR;
return NULL;
}
- data_len -= strip_char(user_data, ' ');
+ data_len -= strip_char (user_data);
- if (!is_valid_b32_input(user_data)) {
+ if (!is_string_valid_b32 (user_data)) {
free (user_data);
*err_code = INVALID_B32_INPUT;
return NULL;
@@ -159,11 +143,11 @@
int char_index = get_char_index ((uint8_t)user_data[i]);
if (bits_left > BITS_PER_B32_BLOCK) {
mask = (uint8_t)char_index << (bits_left - BITS_PER_B32_BLOCK);
- current_byte = (uint8_t) (current_byte | mask);
+ current_byte |= mask;
bits_left -= BITS_PER_B32_BLOCK;
} else {
mask = (uint8_t)char_index >> (BITS_PER_B32_BLOCK - bits_left);
- current_byte = (uint8_t) (current_byte | mask);
+ current_byte |= mask;
decoded_data[j++] = current_byte;
current_byte = (uint8_t) (char_index << (BITS_PER_BYTE - BITS_PER_B32_BLOCK + bits_left));
bits_left += BITS_PER_BYTE - BITS_PER_B32_BLOCK;
@@ -179,31 +163,69 @@
}
-static int
-is_valid_b32_input (const char *user_data)
+bool
+is_string_valid_b32 (const char *user_data)
{
- // Create a lookup table for ASCII characters
- uint8_t table[128];
- memset (table, 0, sizeof (table));
- for (size_t i = 0; i < sizeof (b32_alphabet); i++) {
- table[b32_alphabet[i]] = 1;
+ if (user_data == NULL) {
+ return false;
+ }
+
+ if (has_space (user_data)) {
+ char *trimmed = strdup (user_data);
+ if (trimmed == NULL) {
+ return false;
+ }
+ strip_char (trimmed);
+ bool valid = valid_b32_str (trimmed);
+ free(trimmed);
+ return valid;
+ }
+
+ return valid_b32_str (user_data);
+}
+
+
+static bool
+valid_b32_str (const char *str)
+{
+ if (str == NULL) {
+ return false;
+ }
+
+ uint8_t table[128] = {0};
+ for (const uint8_t *p = b32_alphabet; *p; p++) {
+ table[*p] = 1;
}
table['='] = 1;
- const char *p;
- for (p = user_data; *p; p++) {
- if (!table[*(uint8_t *)p]) {
- return 0;
+ while (*str) {
+ if (!table[(uint8_t)*str]) {
+ return false;
+ }
+ str++;
+ }
+
+ return true;
+}
+
+
+static bool
+has_space (const char *str)
+{
+ while (*str) {
+ if (*str == ' ') {
+ return true;
}
+ str++;
}
- return 1;
+ return false;
}
static int
get_char_index (uint8_t c)
{
- for (int i = 0; i < sizeof (b32_alphabet); i++) {
+ for (int i = 0; i < sizeof(b32_alphabet); i++) {
if (b32_alphabet[i] == c) {
return i;
}
@@ -213,17 +235,13 @@
static int
-strip_char (char *str,
- char strip)
+strip_char (char *str)
{
- int found = 0;
-
- // Create a lookup table for ASCII characters
- uint8_t table[128];
- memset (table, 0, sizeof (table));
- table[(int)strip] = 1;
+ const char strip = ' ';
+ uint8_t table[128] = {0};
+ table[(uint8_t)strip] = 1;
- // Iterate through the string using pointers
+ int found = 0;
char *p, *q;
for (q = p = str; *p; p++) {
if (!table[*(uint8_t *)p]) {
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 389-ds for openSUSE:Factory checked in at 2023-12-13 18:35:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/389-ds (Old)
and /work/SRC/openSUSE:Factory/.389-ds.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "389-ds"
Wed Dec 13 18:35:43 2023 rev:70 rq:1132792 version:2.4.0~git113.84a845c
Changes:
--------
--- /work/SRC/openSUSE:Factory/389-ds/389-ds.changes 2023-08-15 16:40:08.395041750 +0200
+++ /work/SRC/openSUSE:Factory/.389-ds.new.25432/389-ds.changes 2023-12-13 18:35:53.768474075 +0100
@@ -1,0 +2,49 @@
+Wed Dec 13 05:32:59 UTC 2023 - William Brown <william.brown(a)suse.com>
+
+- Update to support newer obs-service-cargo-vendor
+
+-------------------------------------------------------------------
+Wed Nov 29 00:08:35 UTC 2023 - william.brown(a)suse.com
+
+- Update to version 2.4.0~git113.84a845c:
+ * Issue 5980 - Improve instance startup failure handling (#5991)
+ * Issue 5976 - Fix freeipa install regression with lmdb (#5977)
+ * Issue 5984 - Crash when paged result search are abandoned - fix2 (#5987)
+ * Issue 5984 - Crash when paged result search are abandoned (#5985)
+ * Issue 5947 - CI test_vlv_recreation_reindex fails on LMDB (#5979)
+ * Bump version to 2.5.0
+ * Issue 5971 - CLI - Fix password prompt for repl status (#5972)
+ * Issue 5973 - Fix fedora cop RawHide builds (#5974)
+ * Revert "Issue 5761 - Worker thread dynamic management (#5796)" (#5970)
+ * Issue 5966 - CLI - Custom schema object is removed on a failed edit (#5967)
+ * Issue 5786 - Update permissions for Release workflow
+ * Issue 5960 - Subpackages should have more strict interdependencies
+ * Issue 3555 - UI - Fix audit issue with npm - babel/traverse (#5959)
+ * Issue 4843 - Fix dscreate create-template issue (#5950)
+ * bugfix for --passwd-file not working on latest version (#5934)
+ * Issue 5843 - dsconf / dscreate should be able to handle lmdb parameters (#5943)
+ * Bump postcss from 8.4.24 to 8.4.31 in /src/cockpit/389-console (#5945)
+ * Issue 5938 - Attribute Names changed to lowercase after adding the Attributes (#5940)
+ * issue 5924 - ASAN server build crash when looping opening/closing connections (#5926)
+ * Issue 1925 - Add a CI test (#5936)
+ * Issue 5732 - Localizing Cockpit's 389ds Plugin using CockpitPoPlugin (#5764)
+ * Issue 1870 - Add a CI test (#5929)
+ * Issue 843 - Add a warning to slapi_valueset_add_value_ext (#5925)
+ * Issue 5761 - Worker thread dynamic management (#5796)
+ * Issue 1802 - Improve ldclt man page (#5928)
+ * Issue 1456 - Add a CI test that verifies there is no issue (#5927)
+ * Issue 1317 - Add a CI test (#5923)
+ * Issue 1081 - CI - Add more tests for overwriting x-origin issue (#5815)
+ * Issue 1115 - Add a CI test (#5913)
+ * Issue 5848 - Fix condition and add a CI test (#5916)
+ * Issue 5848 - Fix condition and add a CI test (#5916)
+ * Issue 5914 - UI - server settings page validation improvements and db index fixes
+ * Issue 5909 - Multi listener hang with 20k connections (#5917)
+ * Issue 5902 - Fix previous commit regression (#5919)
+ * pass instance correctly to ds_is_older (#5903)
+ * Issue 5909 - Multi listener hang with 20k connections (#5910)
+ * Issue 5722 - improve testcase (#5904)
+ * Issue 5203 - outdated version in provided metadata for lib389
+ * Bug Description:
+
+-------------------------------------------------------------------
Old:
----
389-ds-base-2.4.0~git74.4297d88.tar.zst
New:
----
389-ds-base-2.4.0~git113.84a845c.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ 389-ds.spec ++++++
--- /var/tmp/diff_new_pack.6dzp5z/_old 2023-12-13 18:35:54.956517972 +0100
+++ /var/tmp/diff_new_pack.6dzp5z/_new 2023-12-13 18:35:54.956517972 +0100
@@ -33,7 +33,7 @@
%define svrcorelib libsvrcore0
Name: 389-ds
-Version: 2.4.0~git74.4297d88
+Version: 2.4.0~git113.84a845c
Release: 0
Summary: 389 Directory Server
License: GPL-3.0-or-later AND MPL-2.0
@@ -224,8 +224,6 @@
# Extract the vendor.tar.gz. The -D -T here prevents removal of the sources
# from the previous setup step.
%setup -q -n %{name}-base-%{version} -D -T -a 3
-# When we update and revendor, we need to move the cargo.lock to the correct place.
-cp Cargo.lock src/Cargo.lock
# Setup support utils
%setup -q -n %{name}-base-%{version} -D -T -a 4
@@ -270,8 +268,8 @@
--with-systemdgroupname=dirsrv.target \
export XCFLAGS="$CFLAGS"
+make src/lib389/setup.py
make %{?_smp_mflags}
-#make setup.py
pushd src/lib389
%python3_build
popd
++++++ 389-ds-base.obsinfo ++++++
--- /var/tmp/diff_new_pack.6dzp5z/_old 2023-12-13 18:35:54.996519449 +0100
+++ /var/tmp/diff_new_pack.6dzp5z/_new 2023-12-13 18:35:55.000519597 +0100
@@ -1,5 +1,5 @@
name: 389-ds-base
-version: 2.4.0~git74.4297d88
-mtime: 1691769595
-commit: 4297d886339087e34a486b9e88651f9792ccecf5
+version: 2.4.0~git113.84a845c
+mtime: 1700663214
+commit: 84a845c490cf0cc3470975f2976f644552d010d2
++++++ _service ++++++
--- /var/tmp/diff_new_pack.6dzp5z/_old 2023-12-13 18:35:55.064521962 +0100
+++ /var/tmp/diff_new_pack.6dzp5z/_new 2023-12-13 18:35:55.068522110 +0100
@@ -17,6 +17,7 @@
<service mode="disabled" name="set_version" />
<service name="cargo_vendor" mode="disabled">
<param name="srcdir">389-ds-base</param>
+ <param name="cargotoml">src/Cargo.toml</param>
<param name="compression">zst</param>
<param name="update">true</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.6dzp5z/_old 2023-12-13 18:35:55.084522701 +0100
+++ /var/tmp/diff_new_pack.6dzp5z/_new 2023-12-13 18:35:55.088522849 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/389ds/389-ds-base.git</param>
- <param name="changesrevision">4297d886339087e34a486b9e88651f9792ccecf5</param></service></servicedata>
+ <param name="changesrevision">84a845c490cf0cc3470975f2976f644552d010d2</param></service></servicedata>
(No newline at EOF)
++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.6dzp5z/_old and /var/tmp/diff_new_pack.6dzp5z/_new differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package netease-cloud-music-gtk for openSUSE:Factory checked in at 2023-12-13 18:35:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netease-cloud-music-gtk (Old)
and /work/SRC/openSUSE:Factory/.netease-cloud-music-gtk.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netease-cloud-music-gtk"
Wed Dec 13 18:35:37 2023 rev:15 rq:1132785 version:2.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/netease-cloud-music-gtk/netease-cloud-music-gtk.changes 2022-12-20 20:21:39.302262296 +0100
+++ /work/SRC/openSUSE:Factory/.netease-cloud-music-gtk.new.25432/netease-cloud-music-gtk.changes 2023-12-13 18:35:50.812364851 +0100
@@ -1,0 +2,15 @@
+Wed Dec 13 03:01:42 UTC 2023 - gmg 137 <gmg137(a)live.com>
+
+- Release version 2.3.0
+ + Fix missing first favorite album issue
+ + Fix flashback when operating frequently #230
+ + Add desktop lyrics support #241
+ + Optimize the logic of drag and drop progress bar
+ + Optimize asynchronous task scheduling
+ + Update mpris library to mpris-server
+ + Optimize playback logic
+ + Add simple radio function #250
+ + Update dependencies
+ + Fix other bugs
+
+-------------------------------------------------------------------
Old:
----
netease-cloud-music-gtk-2.2.0.tar.xz
New:
----
netease-cloud-music-gtk-2.3.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ netease-cloud-music-gtk.spec ++++++
--- /var/tmp/diff_new_pack.tDr9ak/_old 2023-12-13 18:35:52.012409191 +0100
+++ /var/tmp/diff_new_pack.tDr9ak/_new 2023-12-13 18:35:52.016409338 +0100
@@ -1,7 +1,7 @@
#
# spec file for package netease-cloud-music-gtk
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) specCURRENT_YEAR SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -20,7 +20,7 @@
%global rustflags '-Clink-arg=-Wl,-z,relro,-z,now'
%define _lto_cflags %{nil}
Name: netease-cloud-music-gtk
-Version: 2.2.0
+Version: 2.3.0
Release: 0
Summary: Linux 平台下基于 Rust + GTK4 开发的网易云音乐播放器
License: GPL-3.0-or-later
@@ -76,13 +76,13 @@
%install
%meson_install
-%suse_update_desktop_file -r com.gitee.gmg137.NeteaseCloudMusicGtk4 "GTK;GNOME;Audio;"
+%suse_update_desktop_file -r com.gitee.gmg137.NeteaseCloudMusicGtk4 "GNOME;GTK;AudioVideo;Player;Audio;"
%find_lang %{name}4
%files
%license COPYING
%{_bindir}/%{name}4
-%{_datadir}/appdata/com.gitee.gmg137.NeteaseCloudMusicGtk4.appdata.xml
+%{_datadir}/metainfo/com.gitee.gmg137.NeteaseCloudMusicGtk4.metainfo.xml
%{_datadir}/applications/*.desktop
%{_datadir}/glib-2.0/schemas/com.gitee.gmg137.NeteaseCloudMusicGtk4.gschema.xml
%{_datadir}/icons/hicolor/scalable/apps/com.gitee.gmg137.NeteaseCloudMusicGtk4.svg
++++++ netease-cloud-music-gtk-2.2.0.tar.xz -> netease-cloud-music-gtk-2.3.0.tar.xz ++++++
++++ 3115 lines of diff (skipped)
++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/netease-cloud-music-gtk/vendor.tar.xz /work/SRC/openSUSE:Factory/.netease-cloud-music-gtk.new.25432/vendor.tar.xz differ: char 25, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package vhs for openSUSE:Factory checked in at 2023-12-13 18:35:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vhs (Old)
and /work/SRC/openSUSE:Factory/.vhs.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vhs"
Wed Dec 13 18:35:35 2023 rev:3 rq:1132782 version:0.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/vhs/vhs.changes 2023-07-24 18:26:14.358246294 +0200
+++ /work/SRC/openSUSE:Factory/.vhs.new.25432/vhs.changes 2023-12-13 18:35:48.912294646 +0100
@@ -1,0 +2,22 @@
+Wed Dec 13 01:46:55 UTC 2023 - Joshua Smith <jsmithfpv(a)gmail.com>
+
+- Update to version 0.7.1:
+ * With VHS v0.7.0, you can capture any moment of tape. Just add
+ `Screenshot <filename>.png> to your tapes`
+ * VHS can now talk to your system clipboard. Please keep this in
+ mind when executing tapes from unknown sources.
+ * VHS 0.7.0 has some new additions, introducing top level Shift+
+ modifier and the Insert + Delete keys!
+ * parser: catch out of order modifiers
+ * parser: refactor parseCtrl and test
+ * Fix tomorrow themes
+ * docs: document source command
+ * feat: add insert and delete key
+ * Update themes (#377)
+ * fix: tests
+ * docs: record clipboard.tape to clipboard.gif
+ * Fix VHS for Nushell version ^0.83 (#373)
+ * feat: improve vhs new (#355)
+ * docs: add `LoopOffset` documentation
+
+-------------------------------------------------------------------
Old:
----
vhs-0.6.0.tar.zst
New:
----
vhs-0.7.1.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vhs.spec ++++++
--- /var/tmp/diff_new_pack.efUKA1/_old 2023-12-13 18:35:49.828328492 +0100
+++ /var/tmp/diff_new_pack.efUKA1/_new 2023-12-13 18:35:49.828328492 +0100
@@ -18,7 +18,7 @@
%global _lto_cflags %nil
Name: vhs
-Version: 0.6.0
+Version: 0.7.1
Release: 0
Summary: CLI video recorder
URL: https://github.com/charmbracelet/vhs
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.efUKA1/_old 2023-12-13 18:35:49.864329823 +0100
+++ /var/tmp/diff_new_pack.efUKA1/_new 2023-12-13 18:35:49.868329970 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/charmbracelet/vhs.git</param>
- <param name="changesrevision">d42375a058b44711d5aae4175c16667d6647e8db</param></service></servicedata>
+ <param name="changesrevision">537d03ab10ff16b1e45204b593479d1da36c4b7f</param></service></servicedata>
(No newline at EOF)
++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.efUKA1/_old and /var/tmp/diff_new_pack.efUKA1/_new differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pdm for openSUSE:Factory checked in at 2023-12-13 18:35:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pdm (Old)
and /work/SRC/openSUSE:Factory/.python-pdm.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pdm"
Wed Dec 13 18:35:33 2023 rev:11 rq:1132784 version:2.10.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pdm/python-pdm.changes 2023-06-26 18:17:15.222779530 +0200
+++ /work/SRC/openSUSE:Factory/.python-pdm.new.25432/python-pdm.changes 2023-12-13 18:35:46.820217347 +0100
@@ -1,0 +2,62 @@
+Wed Dec 13 02:58:14 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Update to 2.10.4:
+ * Do not detect as requirements.txt if the file is a python script.
+ * Provide information of the original line when parsing requirement fails.
+ * Resolve `-r` requirements paths relative to the requirement file they
+ are specified in.
+ * Updating package now overwrites the old files instead of removing
+ before installing.
+ * Improve the error message when a specific package can't be found in the
+ lockfile.
+ * Add lock option to resolve direct dependencies to the minimal versions
+ available.
+ * Fix a bug that build requirements are installed into wrong location
+ when using `--venv` option.
+ * Officially supports python3.12 now.
+ * Fix an issue that `--no-lock` option doesn't work as expected. Also
+ support `--no-lock` option for `add`, `remove` and `update` commands.
+ * Use `findpython` to find pythons with the spec given by the user.
+ * Support passing filter patterns as positional arguments to `pdm list`
+ command. Add `--tree` as an alias and preferred name of `--graph` option.
+ * Switch to truststore by default.
+ * Allow `pdm run` to run a script with the relative or absolute path.
+ * Fix the compatibility issue with copier 8.0+.
+ * Makes `comarable_version("1.2.3+local1") == Version("1.2.3")`.
+ * Default behavior for pdm venv activate when shell detection fails.
+ * Handle parsing errors when converting from poetry-style metadata.
+ * Remove the legacy build backend `pdm-pep517`.
+ * Fix the comparison of the candidate keys in the lockfile.
+ * Don't update `pyproject.toml` if both `--unconstrained` and `--dry-run`
+ are passed to `pdm update`.
+ * Skip sources with empty URL when merging sources.
+ * Support target python with other architectures.
+ * Allow to change the python providers from the config.
+ * Fix a bug that egg-info directories are not removed completely, leading
+ to incomplete distribution.
+ * Skip distributions with wrong package meta information and duplicate path.
+ * Avoid mistakenly passing command-line arguments while testing.
+ * Fix a bug that lockfile groups are overwritten when running locking in
+ preceding step of `pdm install`.
+ * Tolerate and actually ignore the local versions in version specifiers.
+ * Fix a bug that shared cache cannot support overlapping namespace packages.
+ * Fix a bug that `pdm install --plugins` can't install self.
+ * Fix a cache collision between named requirements and url requirements.
+ * `pdm init` now accepts a template argument to initialize project from a
+ built-in or Git template.
+ * Replace the `DeprecationWarning` with `FutureWarning` for better exposure.
+ * Serve `install-pdm.py` and its checksum file on the docs site.
+ * Add support for using `truststore` as the SSL backend. This only works
+ on Python 3.10 or newer.
+ * Fix the breaking change by adding the functions back to the old location
+ with deprecation warnings.
+ * Fix the duplicate entries in the output of `pdm self list`.
+ * Disable hashes caching for local files.
+ * Populate the `url` field when converting requirements from a
+ Pipfile-style file requirement.
+ * Fix a bug that empty source tables in configuration files causes errors
+ when running pdm commands.
+ * Fix a resolution conflict caused by requested yanked version also in
+ other transitive dependencies.
+
+-------------------------------------------------------------------
Old:
----
pdm-2.7.4.tar.gz
New:
----
pdm-2.10.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pdm.spec ++++++
--- /var/tmp/diff_new_pack.AhzUwJ/_old 2023-12-13 18:35:47.420239517 +0100
+++ /var/tmp/diff_new_pack.AhzUwJ/_new 2023-12-13 18:35:47.420239517 +0100
@@ -27,7 +27,7 @@
%endif
%{?sle15_python_module_pythons}
Name: python-pdm%{psuffix}
-Version: 2.7.4
+Version: 2.10.4
Release: 0
Summary: Python Development Master
License: MIT
@@ -43,7 +43,7 @@
Requires: python-blinker
Requires: python-cachecontrol >= 0.12.11
Requires: python-certifi
-Requires: python-findpython >= 0.2.2
+Requires: python-findpython >= 0.4
Requires: python-installer
Requires: python-packaging >= 20.9
Requires: python-pdm-backend
@@ -51,12 +51,12 @@
Requires: python-pyproject-hooks
Requires: python-python-dotenv >= 0.15
Requires: python-requests-toolbelt
+Requires: python-resolvelib >= 1.0.1
Requires: python-rich >= 12.3.0
Requires: python-shellingham >= 1.3.2
-Requires: python-unearth >= 0.6.3
+Requires: python-unearth >= 0.12.1
Requires: python-virtualenv >= 20
-Requires: (python-resolvelib >= 0.8 with python-resolvelib < 0.9)
-Requires: (python-tomlkit >= 0.8.0 with python-tomlkit < 1)
+Requires: (python-tomlkit >= 0.11.1 with python-tomlkit < 1)
# from python-cachecontrol[filecache]
Requires: python-lockfile >= 0.9
%if 0%{?python_version_nodots} < 311
@@ -66,6 +66,9 @@
Requires: python-importlib-metadata
Requires: python-typing-extensions
%endif
+%if 0%{?python_version_nodots} >= 310
+Requires: python-truststore
+%endif
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
@@ -116,6 +119,8 @@
donttest="$donttest or test_list_dependency_graph_include_exclude or test_list_csv_include_exclude_valid"
# Unable to find a resolution for setuptools
donttest="$donttest or test_list_csv_include_exclude or test_remove_editable_packages_while_keeping_normal or test_project_backend"
+# Requires network
+donttest="$donttest or test_build_with_no_isolation"
%pytest -v -k "not ($donttest)"
%endif
++++++ pdm-2.7.4.tar.gz -> pdm-2.10.4.tar.gz ++++++
++++ 10576 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ocaml-gettext for openSUSE:Factory checked in at 2023-12-13 18:35:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml-gettext (Old)
and /work/SRC/openSUSE:Factory/.ocaml-gettext.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml-gettext"
Wed Dec 13 18:35:26 2023 rev:9 rq:1132760 version:0.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml-gettext/ocaml-gettext.changes 2023-08-10 15:35:10.196638816 +0200
+++ /work/SRC/openSUSE:Factory/.ocaml-gettext.new.25432/ocaml-gettext.changes 2023-12-13 18:35:43.324088170 +0100
@@ -23,0 +24,8 @@
+Thu May 14 14:14:14 UTC 2020 - ohering(a)suse.de
+
+- The filename for rpm *.attr files and the tag used within these
+ files must match. Otherwise rpm will not execute the helper scripts.
+ Use helper 'suseocaml' in addition to 'ocaml' to avoid
+ filename conflicts with rpm-build.rpm (bsc#1154874)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package istioctl for openSUSE:Factory checked in at 2023-12-13 18:34:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/istioctl (Old)
and /work/SRC/openSUSE:Factory/.istioctl.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "istioctl"
Wed Dec 13 18:34:58 2023 rev:13 rq:1132765 version:1.20.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/istioctl/istioctl.changes 2023-11-16 20:29:45.135003322 +0100
+++ /work/SRC/openSUSE:Factory/.istioctl.new.25432/istioctl.changes 2023-12-13 18:35:05.090675500 +0100
@@ -1,0 +2,36 @@
+Tue Dec 12 21:41:43 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 1.20.1:
+ https://istio.io/latest/news/releases/1.20.x/announcing-1.20.1/
+ * Security update
+ - Changes to Istio CNI Permissions as described in
+ ISTIO-SECURITY-2023-005
+ * Changes
+ - Fixed an issue where the webhook generated by istioctl tag
+ set was unexpectedly being removed by the installer. (Issue
+ #47423)
+ - Fixed an issue where the istioctl tag list command did not
+ accept the --output flag. (Issue #47696)
+ - Fixed an issue where custom injection of the istio-proxy
+ container was not working on OpenShift, due to how OpenShift
+ sets the pod’s SecurityContext.RunAs field.
+ - Fixed an issue where VirtualService HTTP header present match
+ was not working when header-name: {} was set. (Issue #47341)
+ - Fixed multi-cluster leader election not being able to
+ prioritize local over remote leaders. (Issue #47901)
+ - Fixed a memory leak when hostNetwork pods scaled up and down.
+ (Issue #47893)
+ - Fixed a memory leak when WorkloadEntries changed their IP
+ address. (Issue #47893)
+ - Fixed a memory leak when a ServiceEntry was removed. (Issue
+ #47893)
+ - Improved istioctl bug-report performance by reducing the
+ number of calls to the Kubernetes API. The included pod/node
+ details in the report remain comprehensive but will be
+ presented differently.
+ - Removed the --rps-limit flag for istioctl bug-report and
+ added the --rq-concurrency flag. This change enables the bug
+ reporter to limit request concurrency rather than the request
+ rate to the Kubernetes API.
+
+-------------------------------------------------------------------
Old:
----
istio-1.20.0.obscpio
New:
----
istio-1.20.1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ istioctl.spec ++++++
--- /var/tmp/diff_new_pack.jSoMf5/_old 2023-12-13 18:35:07.078748957 +0100
+++ /var/tmp/diff_new_pack.jSoMf5/_new 2023-12-13 18:35:07.078748957 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: istioctl
-Version: 1.20.0
+Version: 1.20.1
Release: 0
Summary: CLI for the istio servic mesh in Kubernetes
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.jSoMf5/_old 2023-12-13 18:35:07.106749991 +0100
+++ /var/tmp/diff_new_pack.jSoMf5/_new 2023-12-13 18:35:07.110750139 +0100
@@ -3,9 +3,9 @@
<param name="url">https://github.com/istio/istio</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">1.20.0</param>
+ <param name="revision">1.20.1</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="changesgenerate">enable</param>
+ <param name="changesgenerate">disable</param>
</service>
<service name="set_version" mode="manual">
<param name="basename">istio</param>
@@ -16,7 +16,7 @@
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="manual">
- <param name="archive">istio-1.20.0.obscpio</param>
+ <param name="archive">istio-1.20.1.obscpio</param>
</service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.jSoMf5/_old 2023-12-13 18:35:07.126750731 +0100
+++ /var/tmp/diff_new_pack.jSoMf5/_new 2023-12-13 18:35:07.130750878 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/istio/istio</param>
- <param name="changesrevision">6869a6c2371e21c847d216065cf5c59863d01b4c</param></service></servicedata>
+ <param name="changesrevision">552626bd81f625917bcba6e415cae5aa3d5c61af</param></service></servicedata>
(No newline at EOF)
++++++ istio-1.20.0.obscpio -> istio-1.20.1.obscpio ++++++
/work/SRC/openSUSE:Factory/istioctl/istio-1.20.0.obscpio /work/SRC/openSUSE:Factory/.istioctl.new.25432/istio-1.20.1.obscpio differ: char 49, line 1
++++++ istio.obsinfo ++++++
--- /var/tmp/diff_new_pack.jSoMf5/_old 2023-12-13 18:35:07.162752061 +0100
+++ /var/tmp/diff_new_pack.jSoMf5/_new 2023-12-13 18:35:07.166752209 +0100
@@ -1,5 +1,5 @@
name: istio
-version: 1.20.0
-mtime: 1699944808
-commit: 6869a6c2371e21c847d216065cf5c59863d01b4c
+version: 1.20.1
+mtime: 1701979047
+commit: 552626bd81f625917bcba6e415cae5aa3d5c61af
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/istioctl/vendor.tar.gz /work/SRC/openSUSE:Factory/.istioctl.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 rocksdb for openSUSE:Factory checked in at 2023-12-13 18:34:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rocksdb (Old)
and /work/SRC/openSUSE:Factory/.rocksdb.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rocksdb"
Wed Dec 13 18:34:54 2023 rev:10 rq:1132756 version:8.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rocksdb/rocksdb.changes 2023-11-26 19:37:15.974081637 +0100
+++ /work/SRC/openSUSE:Factory/.rocksdb.new.25432/rocksdb.changes 2023-12-13 18:35:03.262607956 +0100
@@ -1,0 +2,39 @@
+Tue Dec 12 20:57:08 UTC 2023 - Andreas Stieger <andreas.stieger(a)gmx.de>
+
+- update to 8.9.1:
+ * Add GetEntity() and PutEntity() API implementation for
+ Attribute Group support. Through the use of Column Families,
+ AttributeGroup enables users to logically group wide-column
+ entities.
+ * Make the EnableFileDeletion API not default to force enabling.
+ For users that rely on this default behavior and still want to
+ continue to use force enabling, they need to explicitly pass a
+ true to EnableFileDeletion.
+ * During off-peak hours defined by daily_offpeak_time_utc, the
+ compaction picker will select a larger number of files for
+ periodic compaction. This selection will include files that are
+ projected to expire by the next off-peak start time, ensuring
+ that these files are not chosen for periodic compaction outside
+ of off-peak hours.
+ * If an error occurs when writing to a trace file after
+ DB::StartTrace(), the subsequent trace writes are skipped to
+ avoid writing to a file that has previously seen error. In this
+ case, DB::EndTrace() will also return a non-ok status with info
+ about the error occured previously in its status message.
+ * Deleting stale files upon recovery are delegated to SstFileManger
+ if available so they can be rate limited.
+ * Make RocksDB only call TablePropertiesCollector::Finish() once.
+ * When WAL_ttl_seconds > 0, we now process archived WALs for
+ deletion at least every WAL_ttl_seconds / 2 seconds. Previously
+ it could be less frequent in case of small WAL_ttl_seconds values
+ when size-based expiration (WAL_size_limit_MB > 0 ) was
+ simultaneously enabled.
+ * Fix a crash or assertion failure bug in experimental new
+ HyperClockCache variant, especially when running with a
+ SecondaryCache.
+ * Fix a race between flush error recovery and db destruction that
+ can lead to db crashing.
+ * Fix some bugs in the index builder/reader path for user-
+ defined timestamps in Memtable only feature.
+
+-------------------------------------------------------------------
Old:
----
rocksdb-8.8.1.tar.gz
New:
----
rocksdb-8.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rocksdb.spec ++++++
--- /var/tmp/diff_new_pack.vN0tjl/_old 2023-12-13 18:35:04.066637664 +0100
+++ /var/tmp/diff_new_pack.vN0tjl/_new 2023-12-13 18:35:04.066637664 +0100
@@ -20,7 +20,7 @@
%define lib_name librocksdb8
%bcond_with jemalloc
Name: rocksdb
-Version: 8.8.1
+Version: 8.9.1
Release: 0
Summary: Library for embeddable, persistent and fast key-value store
License: (Apache-2.0 OR GPL-2.0-only) AND BSD-2-Clause
++++++ rocksdb-8.8.1.tar.gz -> rocksdb-8.9.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/rocksdb/rocksdb-8.8.1.tar.gz /work/SRC/openSUSE:Factory/.rocksdb.new.25432/rocksdb-8.9.1.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 ansible-core for openSUSE:Factory checked in at 2023-12-13 18:34:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansible-core (Old)
and /work/SRC/openSUSE:Factory/.ansible-core.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ansible-core"
Wed Dec 13 18:34:53 2023 rev:22 rq:1132748 version:2.15.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/ansible-core/ansible-core.changes 2023-12-05 17:03:32.289859621 +0100
+++ /work/SRC/openSUSE:Factory/.ansible-core.new.25432/ansible-core.changes 2023-12-13 18:35:00.770515877 +0100
@@ -1,0 +2,14 @@
+Tue Dec 12 17:22:59 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- update to 2.15.8:
+ * Minor Changes
+ - ansible-test - Add FreeBSD 13.2 remote.
+ - ansible-test - Removed freebsd/13.1 remote.
+ * Bugfixes
+ - unsafe data - Address an incompatibility when iterating or
+ getting a single index from AnsibleUnsafeBytes
+ - unsafe data - Address an incompatibility with
+ AnsibleUnsafeText and AnsibleUnsafeBytes when pickling with
+ protocol=0
+
+-------------------------------------------------------------------
Old:
----
ansible-core-2.15.7.tar.gz
New:
----
ansible-core-2.15.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ansible-core.spec ++++++
--- /var/tmp/diff_new_pack.m5GePg/_old 2023-12-13 18:35:01.394538934 +0100
+++ /var/tmp/diff_new_pack.m5GePg/_new 2023-12-13 18:35:01.394538934 +0100
@@ -38,7 +38,7 @@
%endif
Name: ansible-core
-Version: 2.15.7
+Version: 2.15.8
Release: 0
Summary: Radically simple IT automation
License: GPL-3.0-or-later
++++++ ansible-core-2.15.7.tar.gz -> ansible-core-2.15.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/PKG-INFO new/ansible-core-2.15.8/PKG-INFO
--- old/ansible-core-2.15.7/PKG-INFO 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/PKG-INFO 2023-12-11 21:48:45.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: ansible-core
-Version: 2.15.7
+Version: 2.15.8
Summary: Radically simple IT automation
Home-page: https://ansible.com/
Author: Ansible, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/changelogs/CHANGELOG-v2.15.rst new/ansible-core-2.15.8/changelogs/CHANGELOG-v2.15.rst
--- old/ansible-core-2.15.7/changelogs/CHANGELOG-v2.15.rst 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/changelogs/CHANGELOG-v2.15.rst 2023-12-11 21:48:45.000000000 +0100
@@ -5,6 +5,28 @@
.. contents:: Topics
+v2.15.8
+=======
+
+Release Summary
+---------------
+
+| Release Date: 2023-12-11
+| `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_cor…>`__
+
+
+Minor Changes
+-------------
+
+- ansible-test - Add FreeBSD 13.2 remote.
+- ansible-test - Removed `freebsd/13.1` remote.
+
+Bugfixes
+--------
+
+- unsafe data - Address an incompatibility when iterating or getting a single index from ``AnsibleUnsafeBytes``
+- unsafe data - Address an incompatibility with ``AnsibleUnsafeText`` and ``AnsibleUnsafeBytes`` when pickling with ``protocol=0``
+
v2.15.7
=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/changelogs/changelog.yaml new/ansible-core-2.15.8/changelogs/changelog.yaml
--- old/ansible-core-2.15.7/changelogs/changelog.yaml 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/changelogs/changelog.yaml 2023-12-11 21:48:45.000000000 +0100
@@ -1275,3 +1275,25 @@
- restore_role_param_precedence.yml
- wait_for_mmap.yml
release_date: '2023-11-27'
+ 2.15.8:
+ changes:
+ bugfixes:
+ - unsafe data - Address an incompatibility when iterating or getting a single
+ index from ``AnsibleUnsafeBytes``
+ - unsafe data - Address an incompatibility with ``AnsibleUnsafeText`` and ``AnsibleUnsafeBytes``
+ when pickling with ``protocol=0``
+ minor_changes:
+ - ansible-test - Add FreeBSD 13.2 remote.
+ - ansible-test - Removed `freebsd/13.1` remote.
+ release_summary: '| Release Date: 2023-12-11
+
+ | `Porting Guide <https://docs.ansible.com/ansible-core/2.15/porting_guides/porting_guide_cor…>`__
+
+ '
+ codename: Ten Years Gone
+ fragments:
+ - 2.15.8_summary.yaml
+ - ci_freebsd_new.yml
+ - fbsd13_1_remove.yml
+ - unsafe-fixes-2.yml
+ release_date: '2023-12-11'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/lib/ansible/module_utils/ansible_release.py new/ansible-core-2.15.8/lib/ansible/module_utils/ansible_release.py
--- old/ansible-core-2.15.7/lib/ansible/module_utils/ansible_release.py 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/lib/ansible/module_utils/ansible_release.py 2023-12-11 21:48:45.000000000 +0100
@@ -19,6 +19,6 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
-__version__ = '2.15.7'
+__version__ = '2.15.8'
__author__ = 'Ansible, Inc.'
__codename__ = "Ten Years Gone"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/lib/ansible/release.py new/ansible-core-2.15.8/lib/ansible/release.py
--- old/ansible-core-2.15.7/lib/ansible/release.py 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/lib/ansible/release.py 2023-12-11 21:48:45.000000000 +0100
@@ -19,6 +19,6 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
-__version__ = '2.15.7'
+__version__ = '2.15.8'
__author__ = 'Ansible, Inc.'
__codename__ = "Ten Years Gone"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/lib/ansible/utils/unsafe_proxy.py new/ansible-core-2.15.8/lib/ansible/utils/unsafe_proxy.py
--- old/ansible-core-2.15.7/lib/ansible/utils/unsafe_proxy.py 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/lib/ansible/utils/unsafe_proxy.py 2023-12-11 21:48:45.000000000 +0100
@@ -71,6 +71,9 @@
def _strip_unsafe(self):
return super().__bytes__()
+ def __reduce__(self, /):
+ return (self.__class__, (self._strip_unsafe(),))
+
def __str__(self, /): # pylint: disable=invalid-str-returned
return self.decode()
@@ -84,12 +87,10 @@
return AnsibleUnsafeText(super().__format__(format_spec))
def __getitem__(self, key, /):
+ if isinstance(key, int):
+ return super().__getitem__(key)
return self.__class__(super().__getitem__(key))
- def __iter__(self, /):
- cls = self.__class__
- return (cls(c) for c in super().__iter__())
-
def __reversed__(self, /):
return self[::-1]
@@ -192,6 +193,9 @@
def _strip_unsafe(self, /):
return super().__str__()
+ def __reduce__(self, /):
+ return (self.__class__, (self._strip_unsafe(),))
+
def __str__(self, /): # pylint: disable=invalid-str-returned
return self
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/lib/ansible_core.egg-info/PKG-INFO new/ansible-core-2.15.8/lib/ansible_core.egg-info/PKG-INFO
--- old/ansible-core-2.15.7/lib/ansible_core.egg-info/PKG-INFO 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/lib/ansible_core.egg-info/PKG-INFO 2023-12-11 21:48:45.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: ansible-core
-Version: 2.15.7
+Version: 2.15.8
Summary: Radically simple IT automation
Home-page: https://ansible.com/
Author: Ansible, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/integration/targets/filter_urls/tasks/main.yml new/ansible-core-2.15.8/test/integration/targets/filter_urls/tasks/main.yml
--- old/ansible-core-2.15.7/test/integration/targets/filter_urls/tasks/main.yml 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/integration/targets/filter_urls/tasks/main.yml 2023-12-11 21:48:45.000000000 +0100
@@ -19,6 +19,13 @@
- "{'foo': 'bar', 'baz': 'buz'}|urlencode == 'foo=bar&baz=buz'"
- "()|urlencode == ''"
+- name: verify urlencode works for unsafe strings
+ assert:
+ that:
+ - thing|urlencode == 'foo%3Abar'
+ vars:
+ thing: !unsafe foo:bar
+
# Needed (temporarily) due to coverage reports not including the last task.
- assert:
that: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/integration/targets/subversion/roles/subversion/defaults/main.yml new/ansible-core-2.15.8/test/integration/targets/subversion/roles/subversion/defaults/main.yml
--- old/ansible-core-2.15.7/test/integration/targets/subversion/roles/subversion/defaults/main.yml 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/integration/targets/subversion/roles/subversion/defaults/main.yml 2023-12-11 21:48:45.000000000 +0100
@@ -3,8 +3,7 @@
subversion_test_dir: /tmp/ansible-svn-test-dir
subversion_server_dir: /tmp/ansible-svn # cannot use a path in the home dir without userdir or granting exec permission to the apache user
subversion_repo_name: ansible-test-repo
-subversion_repo_url: http://127.0.0.1:{{ apache_port }}/svn/{{ subversion_repo_name }}
-subversion_repo_auth_url: http://127.0.0.1:{{ apache_port }}/svnauth/{{ subversion_repo_name }}
+subversion_repo_url: https://localhost:{{ apache_port }}/svn/{{ subversion_repo_name }} # svn can't verify TLS certificates against IP addresses
+subversion_repo_auth_url: https://localhost:{{ apache_port }}/svnauth/{{ subversion_repo_name }}
subversion_username: subsvn_user'''
subversion_password: Password123!
-subversion_external_repo_url: https://github.com/ansible/ansible.github.com # GitHub serves SVN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/integration/targets/subversion/roles/subversion/tasks/setup.yml new/ansible-core-2.15.8/test/integration/targets/subversion/roles/subversion/tasks/setup.yml
--- old/ansible-core-2.15.7/test/integration/targets/subversion/roles/subversion/tasks/setup.yml 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/integration/targets/subversion/roles/subversion/tasks/setup.yml 2023-12-11 21:48:45.000000000 +0100
@@ -33,6 +33,60 @@
include_tasks: setup_selinux.yml
when: ansible_selinux.status == "enabled"
+- name: Generate CA and TLS certificates via trustme
+ vars:
+ venv_path: >-
+ {{ subversion_server_dir }}/.venv
+ venv_python: >-
+ {{ subversion_server_dir }}/.venv/bin/python
+ block:
+ - name: trustme -- provision a venv
+ command: >-
+ {{ ansible_python_interpreter }}
+ -{% if ansible_python.version.major != 2 %}I{% endif %}m
+ {% if ansible_python.version.major != 2 %}venv{%
+ else %}virtualenv{% endif %}
+
+ {{ venv_path }}
+ - name: trustme -- upgrade pip in venv | RHEL 7.9 & 8.8+py36
+ when: >- # these don't know how to notice `cryptography` wheels
+ ansible_distribution == 'RedHat'
+ and ansible_distribution_major_version | int < 9
+ pip:
+ name: pip
+ state: latest
+ virtualenv: >-
+ {{ venv_path }}
+ - name: trustme -- install tool
+ pip:
+ name: trustme
+ virtualenv: >-
+ {{ venv_path }}
+ - name: trustme -- generate CA and TLS certs
+ command:
+ argv:
+ - >-
+ {{ venv_python }}
+ - -{%- if ansible_python.version.major != 2 -%}I{%- endif -%}m
+ - trustme
+ - --dir={{ subversion_server_dir }}
+
+- name: symlink trustme certificates into apache config dir - Red Hat
+ when: ansible_os_family in ['RedHat']
+ # when: ansible_distribution in ['Fedora', 'RedHat']
+ file:
+ src: /tmp/ansible-svn/server.{{ item.trustme_filetype }}
+ dest: /etc/pki/tls/{{ item.apache_target_path }}
+ state: link
+ force: yes # Othewise Apache on CentOS 7 uses its own fake certificate
+ loop:
+ - apache_target_path: certs/localhost.crt
+ trustme_filetype: pem
+ - apache_target_path: certs/server-chain.crt
+ trustme_filetype: pem
+ - apache_target_path: private/localhost.key
+ trustme_filetype: key
+
- name: template out configuration file
template:
src: subversion.conf.j2
@@ -66,3 +120,14 @@
async: 3600 # We kill apache manually in the clean up phase
poll: 0
when: ansible_os_family in ['RedHat']
+
+- lineinfile:
+ dest: >-
+ {{ ansible_env.HOME }}/.subversion/servers
+ regexp: >-
+ ^#\s*ssl-authority-files\s*=\s*
+ line: >-
+ ssl-authority-files = {{ subversion_server_dir }}/client.pem
+ insertafter: >-
+ ^\[global\]
+ state: present
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/integration/targets/subversion/roles/subversion/tasks/tests.yml new/ansible-core-2.15.8/test/integration/targets/subversion/roles/subversion/tasks/tests.yml
--- old/ansible-core-2.15.7/test/integration/targets/subversion/roles/subversion/tasks/tests.yml 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/integration/targets/subversion/roles/subversion/tasks/tests.yml 2023-12-11 21:48:45.000000000 +0100
@@ -18,10 +18,11 @@
# checks out every branch so using a small repo
-- name: initial checkout
+- name: initial checkout with validate_certs=true
subversion:
repo: '{{ subversion_repo_url }}'
dest: '{{ subversion_test_dir }}/svn'
+ validate_certs: yes
register: subverted
- name: check if dir was checked out
@@ -130,16 +131,27 @@
- "export_branches.stat.isdir"
- "subverted4.changed"
-- name: clone a small external repo with validate_certs=true
+- name: unconfigure client-side TLS trust
+ block:
+ - name: remove TLS CA chain file path from the SVN config
+ lineinfile:
+ dest: >-
+ {{ ansible_env.HOME }}/.subversion/servers
+ regexp: >-
+ ^(?:#)?\s*ssl-authority-files\s*=\s*
+ state: absent
+ - name: drop the client TLS CA chain file
+ file:
+ path: >-
+ {{ subversion_server_dir }}/client.pem
+ state: absent
+
+- name: >-
+ clone a HTTPS-accessible repo with validate_certs=false
+ and untrusted CA over TLS
subversion:
- repo: "{{ subversion_external_repo_url }}"
- dest: "{{ subversion_test_dir }}/svn-external1"
- validate_certs: yes
-
-- name: clone a small external repo with validate_certs=false
- subversion:
- repo: "{{ subversion_external_repo_url }}"
- dest: "{{ subversion_test_dir }}/svn-external2"
+ repo: '{{ subversion_repo_url }}'
+ dest: '{{ subversion_test_dir }}/svn-untrusted-tls'
validate_certs: no
# TBA: test for additional options or URL variants welcome
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/integration/targets/subversion/roles/subversion/templates/subversion.conf.j2 new/ansible-core-2.15.8/test/integration/targets/subversion/roles/subversion/templates/subversion.conf.j2
--- old/ansible-core-2.15.7/test/integration/targets/subversion/roles/subversion/templates/subversion.conf.j2 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/integration/targets/subversion/roles/subversion/templates/subversion.conf.j2 2023-12-11 21:48:45.000000000 +0100
@@ -19,6 +19,7 @@
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
+Include mods-available/ssl.load
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
IncludeOptional conf-enabled/*.conf
@@ -32,6 +33,7 @@
{% elif ansible_os_family == "FreeBSD" %}
Include /usr/local/etc/apache24/httpd.conf
+LoadModule ssl_module libexec/apache24/mod_ssl.so
LoadModule dav_module libexec/apache24/mod_dav.so
LoadModule dav_svn_module libexec/apache24/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache24/mod_authz_svn.so
@@ -48,7 +50,14 @@
{% endif %}
PidFile {{ subversion_server_dir }}/apache.pid
-Listen 127.0.0.1:{{ apache_port }}
+Listen 127.0.0.1:{{ apache_port }} https
+{% if ansible_distribution not in ["Alpine", "CentOS", "Fedora", "openSUSE Leap", "Ubuntu"] %}
+Listen [::1]:{{ apache_port }} https
+{% endif %}
+SSLEngine on
+SSLCertificateFile {{ subversion_server_dir }}/server.pem
+SSLCertificateKeyFile {{ subversion_server_dir }}/server.key
+SSLCertificateChainFile {{ subversion_server_dir }}/server.pem
ErrorLog {{ subversion_server_dir }}/apache2-error.log
<Location /svn>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/integration/targets/subversion/vars/Alpine.yml new/ansible-core-2.15.8/test/integration/targets/subversion/vars/Alpine.yml
--- old/ansible-core-2.15.7/test/integration/targets/subversion/vars/Alpine.yml 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/integration/targets/subversion/vars/Alpine.yml 2023-12-11 21:48:45.000000000 +0100
@@ -5,5 +5,6 @@
- apache2-webdav
- apache2-utils
- apache2-ctl
+- apache2-ssl
apache_user: apache
apache_group: apache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/integration/targets/subversion/vars/RedHat.yml new/ansible-core-2.15.8/test/integration/targets/subversion/vars/RedHat.yml
--- old/ansible-core-2.15.7/test/integration/targets/subversion/vars/RedHat.yml 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/integration/targets/subversion/vars/RedHat.yml 2023-12-11 21:48:45.000000000 +0100
@@ -1,6 +1,7 @@
---
subversion_packages:
- mod_dav_svn
+- mod_ssl
- subversion
upgrade_packages:
# prevent sqlite from being out-of-sync with the version subversion was compiled with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/integration/targets/subversion/vars/Ubuntu-20.yml new/ansible-core-2.15.8/test/integration/targets/subversion/vars/Ubuntu-20.yml
--- old/ansible-core-2.15.7/test/integration/targets/subversion/vars/Ubuntu-20.yml 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/integration/targets/subversion/vars/Ubuntu-20.yml 2023-12-11 21:48:45.000000000 +0100
@@ -1,5 +1,7 @@
---
subversion_packages:
+- apache2 # /usr/sbin/apachectl
+- apache2-utils # htpasswd
- subversion
- libapache2-mod-svn
apache_user: www-data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-core-2.15.7/test/lib/ansible_test/_data/completion/remote.txt new/ansible-core-2.15.8/test/lib/ansible_test/_data/completion/remote.txt
--- old/ansible-core-2.15.7/test/lib/ansible_test/_data/completion/remote.txt 2023-12-04 22:46:37.000000000 +0100
+++ new/ansible-core-2.15.8/test/lib/ansible_test/_data/completion/remote.txt 2023-12-11 21:48:45.000000000 +0100
@@ -4,7 +4,7 @@
fedora/38 python=3.11 become=sudo provider=aws arch=x86_64
fedora become=sudo provider=aws arch=x86_64
freebsd/12.4 python=3.9 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
-freebsd/13.1 python=3.8,3.7,3.9,3.10 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
+freebsd/13.2 python=3.8,3.7,3.9,3.10 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
freebsd python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
macos/13.2 python=3.11 python_dir=/usr/local/bin become=sudo provider=parallels arch=x86_64
macos python_dir=/usr/local/bin become=sudo provider=parallels arch=x86_64
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package lite-xl-plugin-manager for openSUSE:Factory checked in at 2023-12-13 18:34:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lite-xl-plugin-manager (Old)
and /work/SRC/openSUSE:Factory/.lite-xl-plugin-manager.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lite-xl-plugin-manager"
Wed Dec 13 18:34:50 2023 rev:7 rq:1132745 version:1.0.13+git20231205.1feceea
Changes:
--------
--- /work/SRC/openSUSE:Factory/lite-xl-plugin-manager/lite-xl-plugin-manager.changes 2023-10-18 21:25:35.780454043 +0200
+++ /work/SRC/openSUSE:Factory/.lite-xl-plugin-manager.new.25432/lite-xl-plugin-manager.changes 2023-12-13 18:34:57.838407540 +0100
@@ -1,0 +2,39 @@
+Tue Dec 05 17:44:29 UTC 2023 - scott.bradnick(a)suse.com
+
+- Update to version 1.0.13+git20231205.1feceea:
+ * Fixed CI.
+ * Fixed error around orphan plugins.
+ * Fixed uninitialization.
+ * Reworded things, incorporated Guldo's changes.
+ * Added in extra error handling.
+ * Added in loading screen for welcome dialog.
+ * Split off loading screen functionality.
+ * Added welcome plugin.
+ * Fixed fetch_if_not_present.
+ * Added in better error handling.
+ * Added `fetch_if_not_present` to allow things to function without internet.
+ * Added in a hook for terminal to display an lpm repl.
+ * Pre-sorted dependency graphs so that we get consistnet outputs.
+ * Fixed actual output spacing.
+ * Added in repostiory URL for plugin to id calculation.
+ * Guldo's spelling fixes.
+ * Added in a proper repo_path.
+ * Added in repo path.
+ * Removed documentation for non-existent command.
+ * Added in check for executable.
+ * Invalidate cache in appropriate places.
+ * Allowed for generate_manifest to be used on local repositories; will automatically pile one into the directory.
+ * Won't actually have an error so simplified.
+ * Loosened verification for certificates.
+ * Flagged the json library as special as well, as it's required for the plugin_manager to run.
+ * Fixed typo.
+ * Ensured we always pass around options so we can track progress one way or another.
+ * Added in fallback for any plugin lacking a modversion to describe themselves as the latest modversion.
+ * Fixed color install/uninstall; type filter wasn't even present. Whoops.
+ * Fixed typo.
+ * Added in support for --ephemeral.
+ * Allowed for generation for repos that are just init.lua by guessing the id better.
+ * Made unstub idempotent and incorporated a number of jgm's fixes.
+ * Fix some spelling and display of `DEFAULT_REPO_URL` in cli help
+
+-------------------------------------------------------------------
Old:
----
lite-xl-plugin-manager-1.0.12+git20231010.8f2cd87.tar.gz
New:
----
lite-xl-plugin-manager-1.0.13+git20231205.1feceea.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lite-xl-plugin-manager.spec ++++++
--- /var/tmp/diff_new_pack.kJ70dc/_old 2023-12-13 18:34:58.742440942 +0100
+++ /var/tmp/diff_new_pack.kJ70dc/_new 2023-12-13 18:34:58.742440942 +0100
@@ -17,7 +17,7 @@
%define baseprogramname lite-xl
Name: lite-xl-plugin-manager
-Version: 1.0.12+git20231010.8f2cd87
+Version: 1.0.13+git20231205.1feceea
Release: 0
Summary: A %{baseprogramname} plugin manager
%if 0%{?suse_version} > 1500
++++++ _service ++++++
--- /var/tmp/diff_new_pack.kJ70dc/_old 2023-12-13 18:34:58.778442273 +0100
+++ /var/tmp/diff_new_pack.kJ70dc/_new 2023-12-13 18:34:58.778442273 +0100
@@ -14,10 +14,17 @@
<param name="versionrewrite-pattern">latest</param>
-->
<param name="versionrewrite-pattern">continuous</param>
- <param name="versionrewrite-replacement">1.0.12</param>
+ <param name="versionrewrite-replacement">1.0.13</param>
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="manual"/>
+ <service name="replace_using_env" mode="manual">
+ <param name="file">lpm.c.diff</param>
+ <param name="var">NEWVERSION</param>
+ <param name="eval">NEWVERSION=$(grep ^Version lite-xl-plugin-manager.spec | awk '{print $2}')</param>
+ <param name="eval">sed -i -e 's#\([^\.]*\)"[0-9]\.[0-9]\.[0-9][0-9]+git[0-9]\{8\}\.[[:alnum:]]\{7\}"#\1"%%NEWVERSION%%"#' lpm.c.diff</param>
+ <param name="verbose">0</param>
+ </service>
<service name="tar" mode="manual"/>
<service name="recompress" mode="manual">
<param name="compression">gz</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.kJ70dc/_old 2023-12-13 18:34:58.802443160 +0100
+++ /var/tmp/diff_new_pack.kJ70dc/_new 2023-12-13 18:34:58.806443307 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/lite-xl/lite-xl-plugin-manager</param>
- <param name="changesrevision">8f2cd874ddc57793a08a9b6bdb5172c25802a5e0</param></service></servicedata>
+ <param name="changesrevision">1feceeabd86785c8edb291143edaeace9d2be22b</param></service></servicedata>
(No newline at EOF)
++++++ lite-xl-plugin-manager-1.0.12+git20231010.8f2cd87.tar.gz -> lite-xl-plugin-manager-1.0.13+git20231205.1feceea.tar.gz ++++++
/work/SRC/openSUSE:Factory/lite-xl-plugin-manager/lite-xl-plugin-manager-1.0.12+git20231010.8f2cd87.tar.gz /work/SRC/openSUSE:Factory/.lite-xl-plugin-manager.new.25432/lite-xl-plugin-manager-1.0.13+git20231205.1feceea.tar.gz differ: char 12, line 1
++++++ lite-xl-plugin-manager.obsinfo ++++++
--- /var/tmp/diff_new_pack.kJ70dc/_old 2023-12-13 18:34:58.846444785 +0100
+++ /var/tmp/diff_new_pack.kJ70dc/_new 2023-12-13 18:34:58.850444933 +0100
@@ -1,5 +1,5 @@
name: lite-xl-plugin-manager
-version: 1.0.12+git20231010.8f2cd87
-mtime: 1696954002
-commit: 8f2cd874ddc57793a08a9b6bdb5172c25802a5e0
+version: 1.0.13+git20231205.1feceea
+mtime: 1701796408
+commit: 1feceeabd86785c8edb291143edaeace9d2be22b
++++++ lpm.c.diff ++++++
--- /var/tmp/diff_new_pack.kJ70dc/_old 2023-12-13 18:34:58.862445376 +0100
+++ /var/tmp/diff_new_pack.kJ70dc/_new 2023-12-13 18:34:58.866445524 +0100
@@ -5,7 +5,7 @@
#ifndef LPM_VERSION
- #define LPM_VERSION "unknown"
-+ #define LPM_VERSION "1.0.12+git20231010.8f2cd87"
++ #define LPM_VERSION "1.0.13+git20231205.1feceea"
#endif
#ifndef LPM_DEFAULT_REPO
#define LPM_DEFAULT_REPOSITORY "https://github.com/lite-xl/lite-xl-plugin-manager.git:latest"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package avogadro for openSUSE:Factory checked in at 2023-12-13 18:34:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/avogadro (Old)
and /work/SRC/openSUSE:Factory/.avogadro.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "avogadro"
Wed Dec 13 18:34:43 2023 rev:4 rq:1132732 version:1.98.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/avogadro/avogadro.changes 2022-09-16 13:32:46.413352587 +0200
+++ /work/SRC/openSUSE:Factory/.avogadro.new.25432/avogadro.changes 2023-12-13 18:34:49.742108394 +0100
@@ -1,0 +2,18 @@
+Wed Dec 6 11:12:52 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 1.98.1:
+ * Migrated typedefs and changed const to constexpr
+ (gh#OpenChemistry/avogadrolibs#1395)
+ * Fix Python module install dir
+ (gh#OpenChemistry/avogadrolibs#1413)
+ * Revert validation of filenames
+ (gh#OpenChemistry/avogadrolibs#1433).
+ * Parsing orca output would crash when swapping orbitals
+ (gh#OpenChemistry/avogadrolibs#1422)
+ * Maint: vtk: Add missing OpenGL link target
+ (gh#OpenChemistry/avogadrolibs#1412)
+- Update avogadro-i18n source to 1.98.0.
+- Requires avogadrolibs >= 1.98.0.
+- Bump required cmake version to 3.24 as required by upstream.
+
+-------------------------------------------------------------------
Old:
----
avogadro-i18n-1.97.0.tar.gz
avogadroapp-1.97.0.tar.gz
New:
----
avogadro-i18n-1.98.0.tar.gz
avogadroapp-1.98.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ avogadro.spec ++++++
--- /var/tmp/diff_new_pack.kJ7nAw/_old 2023-12-13 18:34:50.226126277 +0100
+++ /var/tmp/diff_new_pack.kJ7nAw/_new 2023-12-13 18:34:50.226126277 +0100
@@ -1,7 +1,7 @@
#
# spec file for package avogadro
#
-# 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,20 +17,21 @@
%define src_name avogadroapp-%{version}
-%define i18n_rev 3b8a86cc37e988b043d1503d2f11068389b0aca3
+%define i18n_rev 1.98.0
Name: avogadro
-Version: 1.97.0
+Version: 1.98.1
Release: 0
Summary: A Molecular design tool
License: GPL-2.0-only
Group: Productivity/Scientific/Chemistry
URL: https://two.avogadro.cc/
Source0: https://github.com/OpenChemistry/avogadroapp/archive/refs/tags/%{version}.t…
-Source1: https://github.com/OpenChemistry/avogadro-i18n/archive/refs/tags/%{version}…
-BuildRequires: cmake >= 3.3
+Source1: https://github.com/OpenChemistry/avogadro-i18n/archive/refs/tags/%{i18n_rev…
+BuildRequires: cmake >= 3.24
BuildRequires: fdupes
-BuildRequires: cmake(AvogadroLibs) >= 1.97.0
+BuildRequires: git
+BuildRequires: cmake(AvogadroLibs) >= 1.98.0
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(eigen3)
@@ -47,7 +48,7 @@
%prep
%setup -qn %{src_name} -b 1
-ln -s avogadro-i18n-%{version} ../avogadro-i18n
+ln -s avogadro-i18n-%{i18n_rev} ../avogadro-i18n
%build
%cmake \
++++++ avogadro-i18n-1.97.0.tar.gz -> avogadro-i18n-1.98.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/avogadro-i18n-1.97.0/.github/workflows/sync-translations.yml new/avogadro-i18n-1.98.0/.github/workflows/sync-translations.yml
--- old/avogadro-i18n-1.97.0/.github/workflows/sync-translations.yml 2022-07-21 16:40:15.000000000 +0200
+++ new/avogadro-i18n-1.98.0/.github/workflows/sync-translations.yml 2023-10-25 03:35:46.000000000 +0200
@@ -16,7 +16,7 @@
- name: Install Dependencies
run: |
sudo apt-get -qq update
- sudo apt-get -qq install gettext qt5-default qttools5-dev-tools
+ sudo apt-get -qq install gettext qttools5-dev-tools
- name: Checkout current repo
uses: actions/checkout@v2
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-af.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-af.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ar.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ar.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-bg.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-bg.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-bs.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-bs.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ca.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ca.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ca(a)valencia.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ca(a)valencia.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-cs.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-cs.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-da.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-da.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-de.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-de.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-el.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-el.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-en_AU.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-en_AU.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-en_CA.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-en_CA.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-en_GB.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-en_GB.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-eo.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-eo.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-es.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-es.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-et.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-et.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-eu.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-eu.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-fa.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-fa.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-fi.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-fi.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-fr.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-fr.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-fr_CA.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-fr_CA.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-gl.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-gl.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-he.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-he.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-hi.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-hi.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-hr.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-hr.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-hu.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-hu.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-id.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-id.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-it.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-it.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ja.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ja.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ka.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ka.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-kn.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-kn.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ko.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ko.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ms.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ms.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-nb.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-nb.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-nl.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-nl.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-oc.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-oc.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-pl.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-pl.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-pt.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-pt.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-pt_BR.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-pt_BR.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ro.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ro.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ru.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ru.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-sa.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-sa.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-sk.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-sk.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-sl.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-sl.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-sq.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-sq.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-sr.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-sr.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-sv.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-sv.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ta.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ta.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-te.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-te.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-th.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-th.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-tr.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-tr.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-ug.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-ug.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-uk.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-uk.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-vi.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-vi.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-zh_CN.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-zh_CN.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadroapp/avogadroapp-zh_TW.qm and new/avogadro-i18n-1.98.0/avogadroapp/avogadroapp-zh_TW.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-af.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-af.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ar.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ar.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-bg.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-bg.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-bs.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-bs.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ca.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ca.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ca(a)valencia.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ca(a)valencia.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-cs.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-cs.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-da.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-da.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-de.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-de.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-el.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-el.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-en_AU.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-en_AU.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-en_CA.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-en_CA.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-en_GB.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-en_GB.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-eo.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-eo.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-es.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-es.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-et.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-et.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-eu.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-eu.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-fa.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-fa.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-fi.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-fi.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-fr.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-fr.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-fr_CA.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-fr_CA.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-gl.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-gl.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-he.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-he.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-hi.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-hi.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-hr.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-hr.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-hu.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-hu.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-id.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-id.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-it.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-it.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ja.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ja.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ka.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ka.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-kn.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-kn.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ko.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ko.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ms.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ms.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-nb.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-nb.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-nl.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-nl.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-oc.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-oc.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-pl.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-pl.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-pt.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-pt.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-pt_BR.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-pt_BR.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ro.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ro.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ru.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ru.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-sa.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-sa.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-sk.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-sk.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-sl.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-sl.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-sq.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-sq.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-sr.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-sr.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-sv.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-sv.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ta.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ta.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-te.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-te.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-th.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-th.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-tr.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-tr.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-ug.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-ug.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-uk.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-uk.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-vi.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-vi.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-zh_CN.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-zh_CN.qm differ
Binary files old/avogadro-i18n-1.97.0/avogadrolibs/avogadrolibs-zh_TW.qm and new/avogadro-i18n-1.98.0/avogadrolibs/avogadrolibs-zh_TW.qm differ
++++++ avogadroapp-1.97.0.tar.gz -> avogadroapp-1.98.1.tar.gz ++++++
++++ 66870 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package MyGUI for openSUSE:Factory checked in at 2023-12-13 18:34:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MyGUI (Old)
and /work/SRC/openSUSE:Factory/.MyGUI.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MyGUI"
Wed Dec 13 18:34:39 2023 rev:9 rq:1132734 version:3.4.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/MyGUI/MyGUI.changes 2023-05-03 12:57:39.567967230 +0200
+++ /work/SRC/openSUSE:Factory/.MyGUI.new.25432/MyGUI.changes 2023-12-13 18:34:45.525952613 +0100
@@ -1,0 +2,48 @@
+Fri Dec 8 01:19:24 UTC 2023 - Adriankhl <adrian.k.h.lai(a)outlook.com>
+
+- Update version 3.4.3
+ * Core
+ * Allow passing lambdas into MyGUI::newDelegate without explicitly wrapping them into std::function
+ * Widgets
+ * Add missing eventClipboardChanged when trying to cut/copy with no text selected
+ * Fixed rare crash when changing widget style after it was clicked in the same frame
+ * Fixed TabItem left disabled when rapidly switching between tabs
+ * Improve performance of the TabControl tabs switching
+ * Fixed ignoring "FontHeight" property when "FontName" is also set
+ * Move MyGUI::DEFAULT to deprecated, add TabControl::DEFAULT_WIDTH instead
+ * Platforms
+ * Fix build with Ogre 14
+ * Tools
+ * Minor fixes for macOS
+ * Use macOS Command key in tools
+ # Other
+ * Switch to C++17
+ * Use string_view, unique_ptr and some other stuff
+ * Various code improvements, including range base for migration and some other minor stuff
+ * Add some missing MYGUI_DONT_USE_OBSOLETE checks for deprecated stuff
+ * Remove MYGUI_DEBUG_MODE from headers to avoid issues with mixed debug/release builds
+ * Core
+ * Add missing MYGUI_EXPORT for ControllerRepeatClick (was not linking in non-static builds)
+ * Use commands for key combinations on EditBox, provide macOS proper bindings
+ * Add support for string_view in UString
+ * Widgets
+ * ComboBox and ListBox: make "AddItem" use LanguageManager::replaceTags same way it is done for caption properties
+ * EditBox: Allow text input while holding Ctrl (Allow key combinations involving CTRL that produce printable characters)
+ * Platforms
+ * OpenGL: Fix build with libX11-free wayland setup
+ * Ogre: Correct vertex color order for ogre 13
+ * Demos and Tools
+ * Use SDL_WINDOWEVENT_FOCUS_GAINED/SDL_WINDOWEVENT_FOCUS_LOST events for better detection when window should have low FPS
+ * Fix macOS resources paths, do not use MACOSX_BUNDLE
+ * Fix various deprecated or incorrect resources usage
+ * Other
+ * Add missing MYGUI_EXPORT to fix C4275 warnings
+ * Various minor build fixes and improvements
+ * Enable more warnings in MYGUI_HIGH_LEVEL_WARNINGS mode
+ * Use GNUInstallDirs to install includes
+- Remove mygui-add-missing-include.patch
+- Remove MyGUI-install-libCommon.patch
+- Remove 0001-Fix-linking-with-Wl-no-undefined.patch
+- Add MYGUI_DONT_USE_OBSOLETE=ON setting
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-linking-with-Wl-no-undefined.patch
MyGUI-install-libCommon.patch
MyGUI3.4.1.tar.gz
mygui-add-missing-include.patch
New:
----
MyGUI3.4.3.tar.gz
BETA DEBUG BEGIN:
Old:- Remove MyGUI-install-libCommon.patch
- Remove 0001-Fix-linking-with-Wl-no-undefined.patch
- Add MYGUI_DONT_USE_OBSOLETE=ON setting
Old:- Remove mygui-add-missing-include.patch
- Remove MyGUI-install-libCommon.patch
- Remove 0001-Fix-linking-with-Wl-no-undefined.patch
Old: * Use GNUInstallDirs to install includes
- Remove mygui-add-missing-include.patch
- Remove MyGUI-install-libCommon.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MyGUI.spec ++++++
--- /var/tmp/diff_new_pack.ChL7wf/_old 2023-12-13 18:34:46.721996805 +0100
+++ /var/tmp/diff_new_pack.ChL7wf/_new 2023-12-13 18:34:46.721996805 +0100
@@ -18,9 +18,9 @@
%define capname MYGUI
-%define _sover 3_4_1
+%define _sover 3_4_3
Name: MyGUI
-Version: 3.4.1
+Version: 3.4.3
Release: 0
Summary: A GUI library for Ogre Rendering Engine
License: MIT
@@ -29,12 +29,6 @@
Source: https://github.com/MyGUI/mygui/archive/MyGUI%{version}.tar.gz
Source1: %{name}.png
Source99: %{name}-rpmlintrc
-# PATCH-FIX-UPSTREAM MyGUI-install-libCommon.patch -- https://github.com/MyGUI/mygui/pull/233
-Patch0: MyGUI-install-libCommon.patch
-# PATCH-FIX-UPSTREAM 0001-Fix-linking-with-Wl-no-undefined.patch -- https://github.com/MyGUI/mygui/pull/232
-Patch1: 0001-Fix-linking-with-Wl-no-undefined.patch
-# PATCH-FIX-UPSTREAM mygui-add-missing-include.patch -- Add missing include
-Patch2: mygui-add-missing-include.patch
BuildRequires: cmake
BuildRequires: dejavu
BuildRequires: dos2unix
@@ -155,6 +149,7 @@
-DMYGUI_INSTALL_DEMOS=ON \
-DMYGUI_INSTALL_DOCS=ON \
-DMYGUI_INSTALL_MEDIA=ON \
+ -DMYGUI_DONT_USE_OBSOLETE=ON \
-DMYGUI_FULL_RPATH=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_BUILD_TYPE=release \
++++++ MyGUI3.4.1.tar.gz -> MyGUI3.4.3.tar.gz ++++++
/work/SRC/openSUSE:Factory/MyGUI/MyGUI3.4.1.tar.gz /work/SRC/openSUSE:Factory/.MyGUI.new.25432/MyGUI3.4.3.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 allegro for openSUSE:Factory checked in at 2023-12-13 18:34:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/allegro (Old)
and /work/SRC/openSUSE:Factory/.allegro.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "allegro"
Wed Dec 13 18:34:35 2023 rev:11 rq:1132730 version:5.2.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/allegro/allegro.changes 2023-02-16 16:56:27.822847352 +0100
+++ /work/SRC/openSUSE:Factory/.allegro.new.25432/allegro.changes 2023-12-13 18:34:42.821852700 +0100
@@ -1,0 +2,44 @@
+Sun Nov 26 18:21:09 UTC 2023 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 5.2.9.0:
+ Android:
+ * Fix back button/gesture
+ * Implement al_get_joystick_name
+ * Great many assorted fixes
+ Audio:
+ * Add al_get_mixer_has_attached and al_get_voice_has_attached
+ * Fix al_set_audio_stream_playmode return value and interaction with looping audio streams
+ * Send PulseAudio silence if the attached mixer is stopped
+ Acodec:
+ * voc memory leak fixes
+ * Fix internal looping for mod files
+ Build system:
+ * Add a target for copying examples, letting you build the demo without the examples
+ * Improve CMake scripts
+ * Support the newer WebP library which is split into two
+ Core:
+ * Add al_can_set_keyboard_leds and al_can_get_mouse_cursor_position
+ * Allow outputting logs to STDOUT via ALLEGRO_TRACE environment variable
+ * Add al_get_current_shader
+ * Add al_get_window_borders for Windows and Linux
+ TTF:
+ * Fixes for al_get_glyph_width, al_get_glyph_al_get_glyph when interacting with zero-width/zero-height glyphs
+ Linux:
+ * Fix fullscreen window creation (#1349)
+ * Fix some X11 + fullscreen window interaction (#1358)
+ * Allow setting higher quality icons
+ * Improve DISPLAY_SWITCH_IN/OUT events (#1390, #1367)
+ * Work on improving Window positioning
+ * Fix creating an initially maximized window
+ * Enable toggling and setting maximized/frameless modes when menus are used
+ * Fix popup menu (#1280)
+ * Make AltGr (right Alt) toggle the ALLEGRO_KEYMOD_ALTGR modifier
+ SDL:
+ * Fix touch ids
+ * Fix al_get_mouse_state crash
+ * Implement al_create_mouse_cursor
+ * Implement al_get_monitor_dpi
+ Documentation:
+ * Assorted clarifications and improvements
+
+-------------------------------------------------------------------
Old:
----
allegro-5.2.8.0.tar.gz
New:
----
allegro-5.2.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ allegro.spec ++++++
--- /var/tmp/diff_new_pack.cekexN/_old 2023-12-13 18:34:43.325871323 +0100
+++ /var/tmp/diff_new_pack.cekexN/_new 2023-12-13 18:34:43.329871471 +0100
@@ -25,7 +25,7 @@
%define allegro_so_nr 5_2
%define dot_allegro_so_nr %(echo %{allegro_so_nr} | sed s/_/./)
Name: allegro
-Version: 5.2.8.0
+Version: 5.2.9.0
Release: 0
Summary: A game programming library
License: BSD-3-Clause AND Zlib
@@ -344,6 +344,12 @@
%exclude %{_includedir}/allegro5/allegro_ttf.h
%exclude %{_includedir}/allegro5/allegro_video.h
%{_libdir}/pkgconfig/allegro-5.pc
+%dir %{_prefix}/lib/cmake
+%dir %{_prefix}/lib/cmake/allegro
+%{_prefix}/lib/cmake/allegro/AllegroConfig.cmake
+%{_prefix}/lib/cmake/allegro/AllegroConfigVersion.cmake
+%{_prefix}/lib/cmake/allegro/AllegroTargets-relwithdebinfo.cmake
+%{_prefix}/lib/cmake/allegro/AllegroTargets.cmake
%files -n liballegro-doc
%{_datadir}/doc/%{name}/
++++++ allegro-5.2.8.0.tar.gz -> allegro-5.2.9.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/allegro/allegro-5.2.8.0.tar.gz /work/SRC/openSUSE:Factory/.allegro.new.25432/allegro-5.2.9.0.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 minetest for openSUSE:Factory checked in at 2023-12-13 18:34:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/minetest (Old)
and /work/SRC/openSUSE:Factory/.minetest.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "minetest"
Wed Dec 13 18:34:32 2023 rev:25 rq:1132729 version:5.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/minetest/minetest.changes 2023-04-18 15:52:37.825329468 +0200
+++ /work/SRC/openSUSE:Factory/.minetest.new.25432/minetest.changes 2023-12-13 18:34:41.341798013 +0100
@@ -1,0 +2,13 @@
+Sat Dec 9 13:00:13 UTC 2023 - Simon Vogl <simon.vogl(a)gmx.net>
+
+- Update to version 5.8.0:
+ * Various bug fixes
+ * Full changes:
+ https://dev.minetest.net/Changelog#5.7.0_.E2.86.92_5.8.0
+- Drop support for openSUSE Leap 15.4 as it is unsupported
+- Drop minetest-fix-luajit-include-path.patch as it was only
+ required for Leap <= 15.4
+- Drop old-desktopfile-standard.patch as it was only required for
+ Leap <= 15.4
+
+-------------------------------------------------------------------
Old:
----
irrlicht-1.9.0mt10.tar.gz
minetest-5.7.0.tar.gz
minetest-fix-luajit-include-path.patch
old-desktopfile-standard.patch
New:
----
irrlicht-1.9.0mt13.tar.gz
minetest-5.8.0.tar.gz
BETA DEBUG BEGIN:
Old:- Drop support for openSUSE Leap 15.4 as it is unsupported
- Drop minetest-fix-luajit-include-path.patch as it was only
required for Leap <= 15.4
Old: required for Leap <= 15.4
- Drop old-desktopfile-standard.patch as it was only required for
Leap <= 15.4
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ minetest.spec ++++++
--- /var/tmp/diff_new_pack.nK1ti2/_old 2023-12-13 18:34:41.937820036 +0100
+++ /var/tmp/diff_new_pack.nK1ti2/_new 2023-12-13 18:34:41.941820183 +0100
@@ -18,12 +18,12 @@
%define minetestuser %{name}
%define minetestgroup %{name}
-%define irrlichtmt_version 1.9.0mt10
+%define irrlichtmt_version 1.9.0mt13
%bcond_without leveldb
%bcond_without redis
%bcond_without postgresql
Name: minetest
-Version: 5.7.0
+Version: 5.8.0
Release: 0
Summary: A InfiniMiner/Minecraft inspired game
License: CC-BY-SA-3.0 AND LGPL-2.1-or-later
@@ -33,10 +33,6 @@
Source1: minetest-rpmlintrc
Source2: minetest@.service
Source3: https://github.com/minetest/irrlicht/archive/%{irrlichtmt_version}/irrlicht…
-# PATCH-FIX-UPSTREAM - minetest-fix-luajit-include-path.diff -- Fixes the FindLuaJIT CMake module so it also looks for moonjit’s include path
-Patch0: minetest-fix-luajit-include-path.patch
-# PATCH-FIX-OPENSUSE old-desktopfile-standard.patch dmueller(a)suse.com -- build without 'PrefersNonDefaultGPU' option in desktopfile on Leap 15.3 and below
-Patch1: old-desktopfile-standard.patch
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: fdupes
@@ -54,6 +50,7 @@
BuildRequires: ncurses-devel
# Needed for symlink checking
BuildRequires: opengl-games-utils
+BuildRequires: desktop-file-utils >= 0.25
BuildRequires: pkgconfig
BuildRequires: spatialindex-devel
BuildRequires: systemd-rpm-macros
@@ -71,11 +68,6 @@
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(zlib)
-%if 0%{?sle_version} > 0 && 0%{?sle_version} <= 150400
-BuildRequires: desktop-file-utils
-%else
-BuildRequires: desktop-file-utils >= 0.25
-%endif
%if %{with leveldb}
BuildRequires: leveldb-devel
%endif
@@ -135,10 +127,6 @@
%prep
%setup -q
-%if 0%{?sle_version} > 0 && 0%{?sle_version} <= 150400
-%patch0 -p1
-%patch1 -p1
-%endif
cd lib
tar -xzf %{SOURCE3}
++++++ irrlicht-1.9.0mt10.tar.gz -> irrlicht-1.9.0mt13.tar.gz ++++++
++++ 219375 lines of diff (skipped)
++++++ minetest-5.7.0.tar.gz -> minetest-5.8.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/minetest/minetest-5.7.0.tar.gz /work/SRC/openSUSE:Factory/.minetest.new.25432/minetest-5.8.0.tar.gz differ: char 13, line 1
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-13 18:34:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arkade (Old)
and /work/SRC/openSUSE:Factory/.arkade.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arkade"
Wed Dec 13 18:34:30 2023 rev:23 rq:1132742 version:0.10.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/arkade/arkade.changes 2023-12-05 17:03:55.954731920 +0100
+++ /work/SRC/openSUSE:Factory/.arkade.new.25432/arkade.changes 2023-12-13 18:34:39.313723081 +0100
@@ -1,0 +2,9 @@
+Tue Dec 12 17:31:02 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 0.10.18:
+ * Bump go.mod and vendor
+ * Export LoadFrom
+ * Update README.md
+ * Bump actions/setup-go from 4 to 5
+
+-------------------------------------------------------------------
Old:
----
arkade-0.10.17.obscpio
New:
----
arkade-0.10.18.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ arkade.spec ++++++
--- /var/tmp/diff_new_pack.PAIPW1/_old 2023-12-13 18:34:40.237757222 +0100
+++ /var/tmp/diff_new_pack.PAIPW1/_new 2023-12-13 18:34:40.241757369 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: arkade
-Version: 0.10.17
+Version: 0.10.18
Release: 0
Summary: Open Source Kubernetes Marketplace
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.PAIPW1/_old 2023-12-13 18:34:40.265758256 +0100
+++ /var/tmp/diff_new_pack.PAIPW1/_new 2023-12-13 18:34:40.269758404 +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.17</param>
+ <param name="revision">0.10.18</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.PAIPW1/_old 2023-12-13 18:34:40.285758995 +0100
+++ /var/tmp/diff_new_pack.PAIPW1/_new 2023-12-13 18:34:40.289759143 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/alexellis/arkade</param>
- <param name="changesrevision">3da76f9df8c251560b420a90ed27257da6529a5b</param></service></servicedata>
+ <param name="changesrevision">84ccd116f8be52022651756fb48f4fa1e51ac129</param></service></servicedata>
(No newline at EOF)
++++++ arkade-0.10.17.obscpio -> arkade-0.10.18.obscpio ++++++
/work/SRC/openSUSE:Factory/arkade/arkade-0.10.17.obscpio /work/SRC/openSUSE:Factory/.arkade.new.25432/arkade-0.10.18.obscpio differ: char 49, line 1
++++++ arkade.obsinfo ++++++
--- /var/tmp/diff_new_pack.PAIPW1/_old 2023-12-13 18:34:40.321760325 +0100
+++ /var/tmp/diff_new_pack.PAIPW1/_new 2023-12-13 18:34:40.325760473 +0100
@@ -1,5 +1,5 @@
name: arkade
-version: 0.10.17
-mtime: 1701702890
-commit: 3da76f9df8c251560b420a90ed27257da6529a5b
+version: 0.10.18
+mtime: 1702398936
+commit: 84ccd116f8be52022651756fb48f4fa1e51ac129
++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/containerd/stargz-snapshotter/estargz/build.go new/vendor/github.com/containerd/stargz-snapshotter/estargz/build.go
--- old/vendor/github.com/containerd/stargz-snapshotter/estargz/build.go 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/containerd/stargz-snapshotter/estargz/build.go 2023-12-12 18:31:03.000000000 +0100
@@ -436,9 +436,8 @@
if err != nil {
if err == io.EOF {
break
- } else {
- return nil, fmt.Errorf("failed to parse tar file, %w", err)
}
+ return nil, fmt.Errorf("failed to parse tar file, %w", err)
}
switch cleanEntryName(h.Name) {
case PrefetchLandmark, NoPrefetchLandmark:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/fatih/color/color.go new/vendor/github.com/fatih/color/color.go
--- old/vendor/github.com/fatih/color/color.go 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/fatih/color/color.go 2023-12-12 18:31:03.000000000 +0100
@@ -65,6 +65,29 @@
CrossedOut
)
+const (
+ ResetBold Attribute = iota + 22
+ ResetItalic
+ ResetUnderline
+ ResetBlinking
+ _
+ ResetReversed
+ ResetConcealed
+ ResetCrossedOut
+)
+
+var mapResetAttributes map[Attribute]Attribute = map[Attribute]Attribute{
+ Bold: ResetBold,
+ Faint: ResetBold,
+ Italic: ResetItalic,
+ Underline: ResetUnderline,
+ BlinkSlow: ResetBlinking,
+ BlinkRapid: ResetBlinking,
+ ReverseVideo: ResetReversed,
+ Concealed: ResetConcealed,
+ CrossedOut: ResetCrossedOut,
+}
+
// Foreground text colors
const (
FgBlack Attribute = iota + 30
@@ -246,10 +269,7 @@
// On Windows, users should wrap w with colorable.NewColorable() if w is of
// type *os.File.
func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
- c.SetWriter(w)
- defer c.UnsetWriter(w)
-
- return fmt.Fprintln(w, a...)
+ return fmt.Fprintln(w, c.wrap(fmt.Sprint(a...)))
}
// Println formats using the default formats for its operands and writes to
@@ -258,10 +278,7 @@
// encountered. This is the standard fmt.Print() method wrapped with the given
// color.
func (c *Color) Println(a ...interface{}) (n int, err error) {
- c.Set()
- defer c.unset()
-
- return fmt.Fprintln(Output, a...)
+ return fmt.Fprintln(Output, c.wrap(fmt.Sprint(a...)))
}
// Sprint is just like Print, but returns a string instead of printing it.
@@ -271,7 +288,7 @@
// Sprintln is just like Println, but returns a string instead of printing it.
func (c *Color) Sprintln(a ...interface{}) string {
- return c.wrap(fmt.Sprintln(a...))
+ return fmt.Sprintln(c.Sprint(a...))
}
// Sprintf is just like Printf, but returns a string instead of printing it.
@@ -353,7 +370,7 @@
// string. Windows users should use this in conjunction with color.Output.
func (c *Color) SprintlnFunc() func(a ...interface{}) string {
return func(a ...interface{}) string {
- return c.wrap(fmt.Sprintln(a...))
+ return fmt.Sprintln(c.Sprint(a...))
}
}
@@ -383,7 +400,18 @@
}
func (c *Color) unformat() string {
- return fmt.Sprintf("%s[%dm", escape, Reset)
+ //return fmt.Sprintf("%s[%dm", escape, Reset)
+ //for each element in sequence let's use the speficic reset escape, ou the generic one if not found
+ format := make([]string, len(c.params))
+ for i, v := range c.params {
+ format[i] = strconv.Itoa(int(Reset))
+ ra, ok := mapResetAttributes[v]
+ if ok {
+ format[i] = strconv.Itoa(int(ra))
+ }
+ }
+
+ return fmt.Sprintf("%s[%sm", escape, strings.Join(format, ";"))
}
// DisableColor disables the color output. Useful to not change any existing
@@ -411,6 +439,12 @@
// Equals returns a boolean value indicating whether two colors are equal.
func (c *Color) Equals(c2 *Color) bool {
+ if c == nil && c2 == nil {
+ return true
+ }
+ if c == nil || c2 == nil {
+ return false
+ }
if len(c.params) != len(c2.params) {
return false
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/klauspost/compress/README.md new/vendor/github.com/klauspost/compress/README.md
--- old/vendor/github.com/klauspost/compress/README.md 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/README.md 2023-12-12 18:31:03.000000000 +0100
@@ -16,6 +16,22 @@
# changelog
+* Oct 22nd, 2023 - [v1.17.2](https://github.com/klauspost/compress/releases/tag/v1.17.2)
+ * zstd: Fix rare *CORRUPTION* output in "best" mode. See https://github.com/klauspost/compress/pull/876
+
+* Oct 14th, 2023 - [v1.17.1](https://github.com/klauspost/compress/releases/tag/v1.17.1)
+ * s2: Fix S2 "best" dictionary wrong encoding by @klauspost in https://github.com/klauspost/compress/pull/871
+ * flate: Reduce allocations in decompressor and minor code improvements by @fakefloordiv in https://github.com/klauspost/compress/pull/869
+ * s2: Fix EstimateBlockSize on 6&7 length input by @klauspost in https://github.com/klauspost/compress/pull/867
+
+* Sept 19th, 2023 - [v1.17.0](https://github.com/klauspost/compress/releases/tag/v1.17.0)
+ * Add experimental dictionary builder https://github.com/klauspost/compress/pull/853
+ * Add xerial snappy read/writer https://github.com/klauspost/compress/pull/838
+ * flate: Add limited window compression https://github.com/klauspost/compress/pull/843
+ * s2: Do 2 overlapping match checks https://github.com/klauspost/compress/pull/839
+ * flate: Add amd64 assembly matchlen https://github.com/klauspost/compress/pull/837
+ * gzip: Copy bufio.Reader on Reset by @thatguystone in https://github.com/klauspost/compress/pull/860
+
* July 1st, 2023 - [v1.16.7](https://github.com/klauspost/compress/releases/tag/v1.16.7)
* zstd: Fix default level first dictionary encode https://github.com/klauspost/compress/pull/829
* s2: add GetBufferCapacity() method by @GiedriusS in https://github.com/klauspost/compress/pull/832
@@ -646,6 +662,7 @@
* [github.com/ronanh/intcomp](https://github.com/ronanh/intcomp) - Integer compression.
* [github.com/spenczar/fpc](https://github.com/spenczar/fpc) - Float compression.
* [github.com/minio/zipindex](https://github.com/minio/zipindex) - External ZIP directory index.
+* [github.com/ybirader/pzip](https://github.com/ybirader/pzip) - Fast concurrent zip archiver and extractor.
# license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/klauspost/compress/fse/compress.go new/vendor/github.com/klauspost/compress/fse/compress.go
--- old/vendor/github.com/klauspost/compress/fse/compress.go 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/fse/compress.go 2023-12-12 18:31:03.000000000 +0100
@@ -212,7 +212,7 @@
previous0 bool
charnum uint16
- maxHeaderSize = ((int(s.symbolLen) * int(tableLog)) >> 3) + 3
+ maxHeaderSize = ((int(s.symbolLen)*int(tableLog) + 4 + 2) >> 3) + 3
// Write Table Size
bitStream = uint32(tableLog - minTablelog)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/klauspost/compress/huff0/bytereader.go new/vendor/github.com/klauspost/compress/huff0/bytereader.go
--- old/vendor/github.com/klauspost/compress/huff0/bytereader.go 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/huff0/bytereader.go 1970-01-01 01:00:00.000000000 +0100
@@ -1,44 +0,0 @@
-// Copyright 2018 Klaus Post. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-// Based on work Copyright (c) 2013, Yann Collet, released under BSD License.
-
-package huff0
-
-// byteReader provides a byte reader that reads
-// little endian values from a byte stream.
-// The input stream is manually advanced.
-// The reader performs no bounds checks.
-type byteReader struct {
- b []byte
- off int
-}
-
-// init will initialize the reader and set the input.
-func (b *byteReader) init(in []byte) {
- b.b = in
- b.off = 0
-}
-
-// Int32 returns a little endian int32 starting at current offset.
-func (b byteReader) Int32() int32 {
- v3 := int32(b.b[b.off+3])
- v2 := int32(b.b[b.off+2])
- v1 := int32(b.b[b.off+1])
- v0 := int32(b.b[b.off])
- return (v3 << 24) | (v2 << 16) | (v1 << 8) | v0
-}
-
-// Uint32 returns a little endian uint32 starting at current offset.
-func (b byteReader) Uint32() uint32 {
- v3 := uint32(b.b[b.off+3])
- v2 := uint32(b.b[b.off+2])
- v1 := uint32(b.b[b.off+1])
- v0 := uint32(b.b[b.off])
- return (v3 << 24) | (v2 << 16) | (v1 << 8) | v0
-}
-
-// remain will return the number of bytes remaining.
-func (b byteReader) remain() int {
- return len(b.b) - b.off
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/klauspost/compress/huff0/compress.go new/vendor/github.com/klauspost/compress/huff0/compress.go
--- old/vendor/github.com/klauspost/compress/huff0/compress.go 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/huff0/compress.go 2023-12-12 18:31:03.000000000 +0100
@@ -350,6 +350,7 @@
// Does not update s.clearCount.
func (s *Scratch) countSimple(in []byte) (max int, reuse bool) {
reuse = true
+ _ = s.count // Assert that s != nil to speed up the following loop.
for _, v := range in {
s.count[v]++
}
@@ -415,7 +416,7 @@
// minTableLog provides the minimum logSize to safely represent a distribution.
func (s *Scratch) minTableLog() uint8 {
- minBitsSrc := highBit32(uint32(s.br.remain())) + 1
+ minBitsSrc := highBit32(uint32(s.srcLen)) + 1
minBitsSymbols := highBit32(uint32(s.symbolLen-1)) + 2
if minBitsSrc < minBitsSymbols {
return uint8(minBitsSrc)
@@ -427,7 +428,7 @@
func (s *Scratch) optimalTableLog() {
tableLog := s.TableLog
minBits := s.minTableLog()
- maxBitsSrc := uint8(highBit32(uint32(s.br.remain()-1))) - 1
+ maxBitsSrc := uint8(highBit32(uint32(s.srcLen-1))) - 1
if maxBitsSrc < tableLog {
// Accuracy can be reduced
tableLog = maxBitsSrc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/klauspost/compress/huff0/huff0.go new/vendor/github.com/klauspost/compress/huff0/huff0.go
--- old/vendor/github.com/klauspost/compress/huff0/huff0.go 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/huff0/huff0.go 2023-12-12 18:31:03.000000000 +0100
@@ -88,7 +88,7 @@
// Decoders will return ErrMaxDecodedSizeExceeded is this limit is exceeded.
MaxDecodedSize int
- br byteReader
+ srcLen int
// MaxSymbolValue will override the maximum symbol value of the next block.
MaxSymbolValue uint8
@@ -170,7 +170,7 @@
if s.fse == nil {
s.fse = &fse.Scratch{}
}
- s.br.init(in)
+ s.srcLen = len(in)
return s, nil
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/klauspost/compress/zstd/README.md new/vendor/github.com/klauspost/compress/zstd/README.md
--- old/vendor/github.com/klauspost/compress/zstd/README.md 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/zstd/README.md 2023-12-12 18:31:03.000000000 +0100
@@ -259,7 +259,7 @@
## Decompressor
-Staus: STABLE - there may still be subtle bugs, but a wide variety of content has been tested.
+Status: STABLE - there may still be subtle bugs, but a wide variety of content has been tested.
This library is being continuously [fuzz-tested](https://github.com/klauspost/compress-fuzz),
kindly supplied by [fuzzit.dev](https://fuzzit.dev/).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/klauspost/compress/zstd/enc_best.go new/vendor/github.com/klauspost/compress/zstd/enc_best.go
--- old/vendor/github.com/klauspost/compress/zstd/enc_best.go 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/zstd/enc_best.go 2023-12-12 18:31:03.000000000 +0100
@@ -43,7 +43,7 @@
if m.rep < 0 {
ofc = ofCode(uint32(m.s-m.offset) + 3)
} else {
- ofc = ofCode(uint32(m.rep))
+ ofc = ofCode(uint32(m.rep) & 3)
}
// Cost, excluding
ofTT, mlTT := fsePredefEnc[tableOffsets].ct.symbolTT[ofc], fsePredefEnc[tableMatchLengths].ct.symbolTT[mlc]
@@ -197,12 +197,13 @@
// Set m to a match at offset if it looks like that will improve compression.
improve := func(m *match, offset int32, s int32, first uint32, rep int32) {
- if s-offset >= e.maxMatchOff || load3232(src, offset) != first {
+ delta := s - offset
+ if delta >= e.maxMatchOff || delta <= 0 || load3232(src, offset) != first {
return
}
if debugAsserts {
- if offset <= 0 {
- panic(offset)
+ if offset >= s {
+ panic(fmt.Sprintf("offset: %d - s:%d - rep: %d - cur :%d - max: %d", offset, s, rep, e.cur, e.maxMatchOff))
}
if !bytes.Equal(src[s:s+4], src[offset:offset+4]) {
panic(fmt.Sprintf("first match mismatch: %v != %v, first: %08x", src[s:s+4], src[offset:offset+4], first))
@@ -226,7 +227,7 @@
}
}
l := 4 + e.matchlen(s+4, offset+4, src)
- if rep < 0 {
+ if true {
// Extend candidate match backwards as far as possible.
tMin := s - e.maxMatchOff
if tMin < 0 {
@@ -281,6 +282,7 @@
// Load next and check...
e.longTable[nextHashL] = prevEntry{offset: s + e.cur, prev: candidateL.offset}
e.table[nextHashS] = prevEntry{offset: s + e.cur, prev: candidateS.offset}
+ index0 := s + 1
// Look far ahead, unless we have a really long match already...
if best.length < goodEnough {
@@ -343,8 +345,8 @@
if best.rep > 0 {
var seq seq
seq.matchLen = uint32(best.length - zstdMinMatch)
- if debugAsserts && s <= nextEmit {
- panic("s <= nextEmit")
+ if debugAsserts && s < nextEmit {
+ panic("s < nextEmit")
}
addLiterals(&seq, best.s)
@@ -356,19 +358,16 @@
blk.sequences = append(blk.sequences, seq)
// Index old s + 1 -> s - 1
- index0 := s + 1
s = best.s + best.length
-
nextEmit = s
- if s >= sLimit {
- if debugEncoder {
- println("repeat ended", s, best.length)
- }
- break encodeLoop
- }
+
// Index skipped...
+ end := s
+ if s > sLimit+4 {
+ end = sLimit + 4
+ }
off := index0 + e.cur
- for index0 < s {
+ for index0 < end {
cv0 := load6432(src, index0)
h0 := hashLen(cv0, bestLongTableBits, bestLongLen)
h1 := hashLen(cv0, bestShortTableBits, bestShortLen)
@@ -377,6 +376,7 @@
off++
index0++
}
+
switch best.rep {
case 2, 4 | 1:
offset1, offset2 = offset2, offset1
@@ -385,12 +385,17 @@
case 4 | 3:
offset1, offset2, offset3 = offset1-1, offset1, offset2
}
+ if s >= sLimit {
+ if debugEncoder {
+ println("repeat ended", s, best.length)
+ }
+ break encodeLoop
+ }
continue
}
// A 4-byte match has been found. Update recent offsets.
// We'll later see if more than 4 bytes.
- index0 := s + 1
s = best.s
t := best.offset
offset1, offset2, offset3 = s-t, offset1, offset2
@@ -418,19 +423,25 @@
}
blk.sequences = append(blk.sequences, seq)
nextEmit = s
- if s >= sLimit {
- break encodeLoop
+
+ // Index old s + 1 -> s - 1 or sLimit
+ end := s
+ if s > sLimit-4 {
+ end = sLimit - 4
}
- // Index old s + 1 -> s - 1
- for index0 < s {
+ off := index0 + e.cur
+ for index0 < end {
cv0 := load6432(src, index0)
h0 := hashLen(cv0, bestLongTableBits, bestLongLen)
h1 := hashLen(cv0, bestShortTableBits, bestShortLen)
- off := index0 + e.cur
e.longTable[h0] = prevEntry{offset: off, prev: e.longTable[h0].offset}
e.table[h1] = prevEntry{offset: off, prev: e.table[h1].offset}
index0++
+ off++
+ }
+ if s >= sLimit {
+ break encodeLoop
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/klauspost/compress/zstd/enc_better.go new/vendor/github.com/klauspost/compress/zstd/enc_better.go
--- old/vendor/github.com/klauspost/compress/zstd/enc_better.go 2023-12-05 09:32:31.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/zstd/enc_better.go 2023-12-12 18:31:03.000000000 +0100
@@ -145,7 +145,7 @@
var t int32
// We allow the encoder to optionally turn off repeat offsets across blocks
canRepeat := len(blk.sequences) > 2
- var matched int32
+ var matched, index0 int32
for {
if debugAsserts && canRepeat && offset1 == 0 {
@@ -162,6 +162,7 @@
off := s + e.cur
e.longTable[nextHashL] = prevEntry{offset: off, prev: candidateL.offset}
e.table[nextHashS] = tableEntry{offset: off, val: uint32(cv)}
+ index0 = s + 1
if canRepeat {
if repIndex >= 0 && load3232(src, repIndex) == uint32(cv>>(repOff*8)) {
@@ -258,7 +259,6 @@
}
blk.sequences = append(blk.sequences, seq)
- index0 := s + repOff2
s += lenght + repOff2
nextEmit = s
if s >= sLimit {
@@ -498,15 +498,15 @@
}
// Index match start+1 (long) -> s - 1
- index0 := s - l + 1
+ off := index0 + e.cur
for index0 < s-1 {
cv0 := load6432(src, index0)
cv1 := cv0 >> 8
h0 := hashLen(cv0, betterLongTableBits, betterLongLen)
- off := index0 + e.cur
e.longTable[h0] = prevEntry{offset: off, prev: e.longTable[h0].offset}
e.table[hashLen(cv1, betterShortTableBits, betterShortLen)] = tableEntry{offset: off + 1, val: uint32(cv1)}
index0 += 2
+ off += 2
}
cv = load6432(src, s)
@@ -672,7 +672,7 @@
var t int32
// We allow the encoder to optionally turn off repeat offsets across blocks
canRepeat := len(blk.sequences) > 2
- var matched int32
+ var matched, index0 int32
for {
if debugAsserts && canRepeat && offset1 == 0 {
@@ -691,6 +691,7 @@
e.markLongShardDirty(nextHashL)
e.table[nextHashS] = tableEntry{offset: off, val: uint32(cv)}
e.markShortShardDirty(nextHashS)
+ index0 = s + 1
if canRepeat {
if repIndex >= 0 && load3232(src, repIndex) == uint32(cv>>(repOff*8)) {
@@ -726,7 +727,6 @@
blk.sequences = append(blk.sequences, seq)
// Index match start+1 (long) -> s - 1
- index0 := s + repOff
s += lenght + repOff
nextEmit = s
@@ -790,7 +790,6 @@
}
blk.sequences = append(blk.sequences, seq)
- index0 := s + repOff2
s += lenght + repOff2
nextEmit = s
if s >= sLimit {
@@ -1024,18 +1023,18 @@
}
// Index match start+1 (long) -> s - 1
- index0 := s - l + 1
+ off := index0 + e.cur
for index0 < s-1 {
cv0 := load6432(src, index0)
cv1 := cv0 >> 8
h0 := hashLen(cv0, betterLongTableBits, betterLongLen)
- off := index0 + e.cur
e.longTable[h0] = prevEntry{offset: off, prev: e.longTable[h0].offset}
e.markLongShardDirty(h0)
h1 := hashLen(cv1, betterShortTableBits, betterShortLen)
e.table[h1] = tableEntry{offset: off + 1, val: uint32(cv1)}
e.markShortShardDirty(h1)
index0 += 2
+ off += 2
}
cv = load6432(src, s)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/mattn/go-isatty/isatty_bsd.go new/vendor/github.com/mattn/go-isatty/isatty_bsd.go
--- old/vendor/github.com/mattn/go-isatty/isatty_bsd.go 2023-12-05 09:32:32.000000000 +0100
+++ new/vendor/github.com/mattn/go-isatty/isatty_bsd.go 2023-12-12 18:31:03.000000000 +0100
@@ -1,6 +1,7 @@
-//go:build (darwin || freebsd || openbsd || netbsd || dragonfly || hurd) && !appengine
+//go:build (darwin || freebsd || openbsd || netbsd || dragonfly || hurd) && !appengine && !tinygo
// +build darwin freebsd openbsd netbsd dragonfly hurd
// +build !appengine
+// +build !tinygo
package isatty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/mattn/go-isatty/isatty_others.go new/vendor/github.com/mattn/go-isatty/isatty_others.go
--- old/vendor/github.com/mattn/go-isatty/isatty_others.go 2023-12-05 09:32:32.000000000 +0100
+++ new/vendor/github.com/mattn/go-isatty/isatty_others.go 2023-12-12 18:31:03.000000000 +0100
@@ -1,5 +1,6 @@
-//go:build appengine || js || nacl || wasm
-// +build appengine js nacl wasm
+//go:build (appengine || js || nacl || tinygo || wasm) && !windows
+// +build appengine js nacl tinygo wasm
+// +build !windows
package isatty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/mattn/go-isatty/isatty_tcgets.go new/vendor/github.com/mattn/go-isatty/isatty_tcgets.go
--- old/vendor/github.com/mattn/go-isatty/isatty_tcgets.go 2023-12-05 09:32:32.000000000 +0100
+++ new/vendor/github.com/mattn/go-isatty/isatty_tcgets.go 2023-12-12 18:31:03.000000000 +0100
@@ -1,6 +1,7 @@
-//go:build (linux || aix || zos) && !appengine
+//go:build (linux || aix || zos) && !appengine && !tinygo
// +build linux aix zos
// +build !appengine
+// +build !tinygo
package isatty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sync/errgroup/go120.go new/vendor/golang.org/x/sync/errgroup/go120.go
--- old/vendor/golang.org/x/sync/errgroup/go120.go 2023-12-05 09:32:32.000000000 +0100
+++ new/vendor/golang.org/x/sync/errgroup/go120.go 2023-12-12 18:31:03.000000000 +0100
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build go1.20
-// +build go1.20
package errgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sync/errgroup/pre_go120.go new/vendor/golang.org/x/sync/errgroup/pre_go120.go
--- old/vendor/golang.org/x/sync/errgroup/pre_go120.go 2023-12-05 09:32:32.000000000 +0100
+++ new/vendor/golang.org/x/sync/errgroup/pre_go120.go 2023-12-12 18:31:03.000000000 +0100
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !go1.20
-// +build !go1.20
package errgroup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt 2023-12-05 09:32:32.000000000 +0100
+++ new/vendor/modules.txt 2023-12-12 18:31:03.000000000 +0100
@@ -11,20 +11,20 @@
## explicit; go 1.17
github.com/cheggaaa/pb/v3
github.com/cheggaaa/pb/v3/termutil
-# github.com/containerd/stargz-snapshotter/estargz v0.14.3
+# github.com/containerd/stargz-snapshotter/estargz v0.15.1
## explicit; go 1.19
github.com/containerd/stargz-snapshotter/estargz
github.com/containerd/stargz-snapshotter/estargz/errorutil
-# github.com/docker/cli v24.0.5+incompatible
+# github.com/docker/cli v24.0.7+incompatible
## explicit
github.com/docker/cli/cli/config
github.com/docker/cli/cli/config/configfile
github.com/docker/cli/cli/config/credentials
github.com/docker/cli/cli/config/types
-# github.com/docker/distribution v2.8.2+incompatible
+# github.com/docker/distribution v2.8.3+incompatible
## explicit
github.com/docker/distribution/registry/client/auth/challenge
-# github.com/docker/docker v24.0.5+incompatible
+# github.com/docker/docker v24.0.7+incompatible
## explicit
github.com/docker/docker/pkg/homedir
# github.com/docker/docker-credential-helpers v0.8.0
@@ -34,7 +34,7 @@
# github.com/docker/go-units v0.5.0
## explicit
github.com/docker/go-units
-# github.com/fatih/color v1.15.0
+# github.com/fatih/color v1.16.0
## explicit; go 1.17
github.com/fatih/color
# github.com/google/go-containerregistry v0.17.0
@@ -70,8 +70,8 @@
# github.com/inconshreveable/mousetrap v1.1.0
## explicit; go 1.18
github.com/inconshreveable/mousetrap
-# github.com/klauspost/compress v1.17.0
-## explicit; go 1.18
+# github.com/klauspost/compress v1.17.4
+## explicit; go 1.19
github.com/klauspost/compress
github.com/klauspost/compress/fse
github.com/klauspost/compress/huff0
@@ -84,7 +84,7 @@
# github.com/mattn/go-colorable v0.1.13
## explicit; go 1.15
github.com/mattn/go-colorable
-# github.com/mattn/go-isatty v0.0.19
+# github.com/mattn/go-isatty v0.0.20
## explicit; go 1.15
github.com/mattn/go-isatty
# github.com/mattn/go-runewidth v0.0.15
@@ -137,8 +137,8 @@
# golang.org/x/mod v0.14.0
## explicit; go 1.18
golang.org/x/mod/semver
-# golang.org/x/sync v0.3.0
-## explicit; go 1.17
+# golang.org/x/sync v0.5.0
+## explicit; go 1.18
golang.org/x/sync/errgroup
golang.org/x/sync/semaphore
# golang.org/x/sys v0.15.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package polaris for openSUSE:Factory checked in at 2023-12-13 18:34:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polaris (Old)
and /work/SRC/openSUSE:Factory/.polaris.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polaris"
Wed Dec 13 18:34:28 2023 rev:24 rq:1132741 version:8.5.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/polaris/polaris.changes 2023-11-02 20:21:35.052088006 +0100
+++ /work/SRC/openSUSE:Factory/.polaris.new.25432/polaris.changes 2023-12-13 18:34:36.069603214 +0100
@@ -1,0 +2,8 @@
+Tue Dec 12 17:22:29 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 8.5.3:
+ * FWI-5385 Add quiet flag to polaris audit CLI command to
+ suppress 'upload to Insights' prompt (#1017)
+ * Managed by Terraform
+
+-------------------------------------------------------------------
Old:
----
polaris-8.5.2.obscpio
New:
----
polaris-8.5.3.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polaris.spec ++++++
--- /var/tmp/diff_new_pack.Td0BL7/_old 2023-12-13 18:34:37.793666916 +0100
+++ /var/tmp/diff_new_pack.Td0BL7/_new 2023-12-13 18:34:37.793666916 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: polaris
-Version: 8.5.2
+Version: 8.5.3
Release: 0
Summary: Validation of best practices in your Kubernetes clusters
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.Td0BL7/_old 2023-12-13 18:34:37.821667950 +0100
+++ /var/tmp/diff_new_pack.Td0BL7/_new 2023-12-13 18:34:37.825668098 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/FairwindsOps/polaris</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">8.5.2</param>
+ <param name="revision">8.5.3</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Td0BL7/_old 2023-12-13 18:34:37.853669133 +0100
+++ /var/tmp/diff_new_pack.Td0BL7/_new 2023-12-13 18:34:37.857669281 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/FairwindsOps/polaris</param>
- <param name="changesrevision">f295dd0fb5df11439243d13e633ebb47eb9503cf</param></service></servicedata>
+ <param name="changesrevision">3e96c582f0fe7cd05dd2fb4588f16161da3d3ca0</param></service></servicedata>
(No newline at EOF)
++++++ polaris-8.5.2.obscpio -> polaris-8.5.3.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.5.2/CODEOWNERS new/polaris-8.5.3/CODEOWNERS
--- old/polaris-8.5.2/CODEOWNERS 2023-11-01 19:59:46.000000000 +0100
+++ new/polaris-8.5.3/CODEOWNERS 2023-12-06 22:44:53.000000000 +0100
@@ -1,2 +1,2 @@
## DO NOT EDIT - Managed by Terraform
-* @rbren @mggude
+* @rbren @sudermanjr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.5.2/cmd/polaris/audit.go new/polaris-8.5.3/cmd/polaris/audit.go
--- old/polaris-8.5.2/cmd/polaris/audit.go 2023-11-01 19:59:46.000000000 +0100
+++ new/polaris-8.5.3/cmd/polaris/audit.go 2023-12-06 22:44:53.000000000 +0100
@@ -57,6 +57,7 @@
skipSslValidation bool
uploadInsights bool
clusterName string
+ quiet bool
)
func init() {
@@ -80,6 +81,7 @@
auditCmd.PersistentFlags().BoolVar(&skipSslValidation, "skip-ssl-validation", false, "Skip https certificate verification")
auditCmd.PersistentFlags().BoolVar(&uploadInsights, "upload-insights", false, "Upload scan results to Fairwinds Insights")
auditCmd.PersistentFlags().StringVar(&clusterName, "cluster-name", "", "Set --cluster-name to a descriptive name for the cluster you're auditing")
+ auditCmd.PersistentFlags().BoolVar(&quiet, "quiet", false, "Suppress the 'upload to Insights' prompt.")
}
var auditCmd = &cobra.Command{
@@ -181,8 +183,10 @@
os.Stderr.WriteString(fmt.Sprintf("\n\n%s/orgs/%s/clusters/%s/action-items\n\n", insightsHost, auth.Organization, clusterName))
} else {
outputAudit(auditData, auditOutputFile, auditOutputURL, auditOutputFormat, useColor, onlyShowFailedTests, severityLevel)
- os.Stderr.WriteString("\n\n🚀 Upload your Polaris findings to Fairwinds Insights to see remediation advice, add teammates, integrate with Slack or Jira, and more:")
- os.Stderr.WriteString("\n\n❯ polaris " + strings.Join(os.Args[1:], " ") + " --upload-insights --cluster-name=my-cluster\n\n")
+ if !quiet {
+ os.Stderr.WriteString("\n\n🚀 Upload your Polaris findings to Fairwinds Insights to see remediation advice, add teammates, integrate with Slack or Jira, and more:")
+ os.Stderr.WriteString("\n\n❯ polaris " + strings.Join(os.Args[1:], " ") + " --upload-insights --cluster-name=my-cluster\n\n")
+ }
}
summary := auditData.GetSummary()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polaris-8.5.2/docs/cli.md new/polaris-8.5.3/docs/cli.md
--- old/polaris-8.5.2/docs/cli.md 2023-11-01 19:59:46.000000000 +0100
+++ new/polaris-8.5.3/docs/cli.md 2023-12-06 22:44:53.000000000 +0100
@@ -56,6 +56,7 @@
--only-show-failed-tests If specified, audit output will only show failed tests.
--output-file string Destination file for audit results.
--output-url string Destination URL to send audit results.
+ --quiet Suppress the 'upload to Insights' prompt.
--resource string Audit a specific resource, in the format namespace/kind/version/name, e.g. nginx-ingress/Deployment.apps/v1/default-backend.
--set-exit-code-below-score int Set an exit code of 4 when the score is below this threshold (1-100).
--set-exit-code-on-danger Set an exit code of 3 when the audit contains danger-level issues.
@@ -81,3 +82,9 @@
status View authentication status.
token Print the auth token gh is configured to use.
```
+
+#### Suppressing 'upload to Insights' output
+
+When running the `polaris audit` subcommand, you can suppress the following output using the `--quiet flag`:
+
+> 🚀 Upload your Polaris findings to Fairwinds Insights to see remediation advice, add teammates, integrate with Slack or Jira, and more:
++++++ polaris.obsinfo ++++++
--- /var/tmp/diff_new_pack.Td0BL7/_old 2023-12-13 18:34:38.129679331 +0100
+++ /var/tmp/diff_new_pack.Td0BL7/_new 2023-12-13 18:34:38.129679331 +0100
@@ -1,5 +1,5 @@
name: polaris
-version: 8.5.2
-mtime: 1698865186
-commit: f295dd0fb5df11439243d13e633ebb47eb9503cf
+version: 8.5.3
+mtime: 1701899093
+commit: 3e96c582f0fe7cd05dd2fb4588f16161da3d3ca0
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/polaris/vendor.tar.gz /work/SRC/openSUSE:Factory/.polaris.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 ibmswtpm2 for openSUSE:Factory checked in at 2023-12-13 18:34:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ibmswtpm2 (Old)
and /work/SRC/openSUSE:Factory/.ibmswtpm2.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ibmswtpm2"
Wed Dec 13 18:34:12 2023 rev:13 rq:1132697 version:MACRO
Changes:
--------
--- /work/SRC/openSUSE:Factory/ibmswtpm2/ibmswtpm2.changes 2023-12-02 17:13:02.449057297 +0100
+++ /work/SRC/openSUSE:Factory/.ibmswtpm2.new.25432/ibmswtpm2.changes 2023-12-13 18:34:14.824818250 +0100
@@ -1,0 +2,6 @@
+Tue Dec 12 14:06:34 UTC 2023 - Otto Hollmann <otto.hollmann(a)suse.com>
+
+- Add support for OpenSSL 3.2.x
+ * Add ibmswtpm2-Add-support-for-OpenSSL-3.2.x.patch
+
+-------------------------------------------------------------------
New:
----
ibmswtpm2-Add-support-for-OpenSSL-3.2.x.patch
BETA DEBUG BEGIN:
New:- Add support for OpenSSL 3.2.x
* Add ibmswtpm2-Add-support-for-OpenSSL-3.2.x.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ibmswtpm2.spec ++++++
--- /var/tmp/diff_new_pack.SEDmur/_old 2023-12-13 18:34:16.032862885 +0100
+++ /var/tmp/diff_new_pack.SEDmur/_new 2023-12-13 18:34:16.032862885 +0100
@@ -34,6 +34,8 @@
Patch0: makefile.patch
Patch1: ibmswtpm2-TcpServerPosix-Fix-use-of-uninitialized-value.patch
Patch2: ibmswtpm2-NVDynamic-Fix-use-of-uninitialized-value.patch
+# PATCH-FIX-UPSTREAM https://github.com/kgoldman/ibmswtpm2/pull/13
+Patch3: ibmswtpm2-Add-support-for-OpenSSL-3.2.x.patch
BuildRequires: libopenssl-devel >= 1.0
%description
++++++ ibmswtpm2-Add-support-for-OpenSSL-3.2.x.patch ++++++
From beea0f97b3c95ec69f3e269df1af87eb2cdd3c46 Mon Sep 17 00:00:00 2001
From: Otto Hollmann <otto(a)hollmann.cz>
Date: Tue, 12 Dec 2023 13:58:32 +0100
Subject: [PATCH] Add support for OpenSSL 3.2.x
---
src/TpmToOsslMath.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/TpmToOsslMath.h b/src/TpmToOsslMath.h
index 0b18191..1271937 100644
--- a/src/TpmToOsslMath.h
+++ b/src/TpmToOsslMath.h
@@ -76,10 +76,10 @@
* As of release 3.0.0, OPENSSL_VERSION_NUMBER is a combination of the
* major (M), minor (NN) and patch (PP) version into a single integer 0xMNN00PP0L
*/
-#if OPENSSL_VERSION_NUMBER > 0x30100ff0L
+#if OPENSSL_VERSION_NUMBER > 0x30200ff0L
// Check the bignum_st definition in crypto/bn/bn_lcl.h or crypto/bn/bn_local.h and either update
// the version check or provide the new definition for this version.
-// Currently safe for all 3.1.x
+// Currently safe for all 3.2.x
# error Untested OpenSSL version
#elif OPENSSL_VERSION_NUMBER >= 0x10100000L
// from crypto/bn/bn_lcl.h
--
2.42.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-yarl for openSUSE:Factory checked in at 2023-12-13 18:34:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-yarl (Old)
and /work/SRC/openSUSE:Factory/.python-yarl.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-yarl"
Wed Dec 13 18:34:10 2023 rev:27 rq:1132690 version:1.9.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-yarl/python-yarl.changes 2023-11-28 22:17:32.077658357 +0100
+++ /work/SRC/openSUSE:Factory/.python-yarl.new.25432/python-yarl.changes 2023-12-13 18:34:11.884709617 +0100
@@ -1,0 +2,6 @@
+Tue Dec 12 03:44:58 UTC 2023 - Bernhard Wiedemann <bwiedemann(a)suse.de>
+
+- Add reproducible.patch to not add a random tmp path
+ into the package (boo#1062303)
+
+-------------------------------------------------------------------
New:
----
reproducible.patch
BETA DEBUG BEGIN:
New:
- Add reproducible.patch to not add a random tmp path
into the package (boo#1062303)
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-yarl.spec ++++++
--- /var/tmp/diff_new_pack.H1uIaY/_old 2023-12-13 18:34:13.924784995 +0100
+++ /var/tmp/diff_new_pack.H1uIaY/_new 2023-12-13 18:34:13.940785586 +0100
@@ -24,6 +24,7 @@
License: Apache-2.0
URL: https://github.com/aio-libs/yarl/
Source: https://files.pythonhosted.org/packages/source/y/yarl/yarl-%{version}.tar.gz
+Patch0: reproducible.patch
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module devel >= 3.7}
BuildRequires: %{python_module expandvars}
++++++ reproducible.patch ++++++
Date: 2023-12-12
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Make package build reproducible
For this we avoid the use of a random tmp path
that gets embedded into
/usr/lib64/python3.10/site-packages/yarl/_quoting_c.cpython-310-x86_64-linux-gnu.so
diff --git a/packaging/pep517_backend/_backend.py b/packaging/pep517_backend/_backend.py
index 9360598..8731ed1 100644
--- a/packaging/pep517_backend/_backend.py
+++ b/packaging/pep517_backend/_backend.py
@@ -323,7 +323,7 @@ def build_wheel(
"""
with maybe_prebuild_c_extensions(
- build_inplace=False,
+ build_inplace=True,
config_settings=config_settings,
):
return _setuptools_build_wheel(
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-process-tests for openSUSE:Factory checked in at 2023-12-13 18:34:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-process-tests (Old)
and /work/SRC/openSUSE:Factory/.python-process-tests.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-process-tests"
Wed Dec 13 18:34:09 2023 rev:9 rq:1132689 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-process-tests/python-process-tests.changes 2023-04-22 22:00:22.453185521 +0200
+++ /work/SRC/openSUSE:Factory/.python-process-tests.new.25432/python-process-tests.changes 2023-12-13 18:34:10.844671189 +0100
@@ -1,0 +2,9 @@
+Tue Dec 12 13:50:36 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.0.0:
+ * Dropped Python 2 support.
+ * Added an optional non-pipe TestProcess mode. You can use file
+ objects for processes that are too verbose for a pipe.
+ * Added some tests.
+
+-------------------------------------------------------------------
Old:
----
process-tests-2.1.2.tar.gz
New:
----
process-tests-3.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-process-tests.spec ++++++
--- /var/tmp/diff_new_pack.uXV4py/_old 2023-12-13 18:34:11.480694689 +0100
+++ /var/tmp/diff_new_pack.uXV4py/_new 2023-12-13 18:34:11.480694689 +0100
@@ -17,10 +17,9 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%{?sle15_python_module_pythons}
Name: python-process-tests
-Version: 2.1.2
+Version: 3.0.0
Release: 0
Summary: Tools for testing processes
License: BSD-2-Clause
++++++ process-tests-2.1.2.tar.gz -> process-tests-3.0.0.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-outcome for openSUSE:Factory checked in at 2023-12-13 18:34:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-outcome (Old)
and /work/SRC/openSUSE:Factory/.python-outcome.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-outcome"
Wed Dec 13 18:34:08 2023 rev:10 rq:1132685 version:1.3.0.post0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-outcome/python-outcome.changes 2023-09-07 21:12:09.736063977 +0200
+++ /work/SRC/openSUSE:Factory/.python-outcome.new.25432/python-outcome.changes 2023-12-13 18:34:09.788632170 +0100
@@ -1,0 +2,9 @@
+Tue Dec 12 13:41:15 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.3.0.post0:
+ * Added type hints to the package. :py:class:`Value` and
+ :py:class:`Outcome` are now generic. A type alias was also added
+ (:py:data:`Maybe`) for the union of :py:class:`Value` and
+ :py:class:`Error`. (#36)
+
+-------------------------------------------------------------------
Old:
----
outcome-1.2.0.tar.gz
New:
----
outcome-1.3.0.post0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-outcome.spec ++++++
--- /var/tmp/diff_new_pack.IDz2E6/_old 2023-12-13 18:34:10.544660104 +0100
+++ /var/tmp/diff_new_pack.IDz2E6/_new 2023-12-13 18:34:10.548660252 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-outcome
-Version: 1.2.0
+Version: 1.3.0.post0
Release: 0
Summary: Function for capturing the outcome of Python function calls
License: Apache-2.0 OR MIT
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pathspec for openSUSE:Factory checked in at 2023-12-13 18:34:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pathspec (Old)
and /work/SRC/openSUSE:Factory/.python-pathspec.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pathspec"
Wed Dec 13 18:34:06 2023 rev:16 rq:1132675 version:0.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pathspec/python-pathspec.changes 2023-09-08 21:15:26.462256160 +0200
+++ /work/SRC/openSUSE:Factory/.python-pathspec.new.25432/python-pathspec.changes 2023-12-13 18:34:08.512585022 +0100
@@ -1,0 +2,29 @@
+Tue Dec 12 13:14:15 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.12.1:
+ * `Issue #84`_: PathSpec.match_file() returns None since
+ 0.12.0.
+ * Major changes:
+ * Dropped support of EOL Python 3.7. See `Pull #82`_.
+ * API changes:
+ * Signature of protected method
+ `pathspec.pathspec.PathSpec._match_file()` (with a leading
+ underscore) has been changed from `def _match_file(patterns:
+ Iterable[Pattern], file: str) -> bool` to `def
+ _match_file(patterns: Iterable[Tuple[int, Pattern]], file:
+ str) -> Tuple[Optional[bool], Optional[int]]`.
+ * Added `pathspec.pathspec.PathSpec.check_*()` methods. These
+ methods behave similarly to `.match_*()` but return
+ additional information in the `pathspec.util.CheckResult`
+ objects (e.g., `CheckResult.index` indicates the index of the
+ last pattern that matched the file).
+ * Added `pathspec.pattern.RegexPattern.pattern` attribute which
+ stores the original, uncompiled pattern.
+ * Mark Python 3.12 as supported.
+ * Improve test debugging.
+ * Improve type hint on *on_error* parameter on
+ `pathspec.pathspec.PathSpec.match_tree_entries()`.
+ * Improve type hint on *on_error* parameter on
+ `pathspec.util.iter_tree_entries()`.
+
+-------------------------------------------------------------------
Old:
----
pathspec-0.11.2.tar.gz
New:
----
pathspec-0.12.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pathspec.spec ++++++
--- /var/tmp/diff_new_pack.Z3IKSS/_old 2023-12-13 18:34:09.016603645 +0100
+++ /var/tmp/diff_new_pack.Z3IKSS/_new 2023-12-13 18:34:09.020603793 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-pathspec
-Version: 0.11.2
+Version: 0.12.1
Release: 0
Summary: Utility library for gitignore style pattern matching of file paths
License: MPL-2.0
++++++ pathspec-0.11.2.tar.gz -> pathspec-0.12.1.tar.gz ++++++
++++ 6834 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package google-noto-coloremoji-fonts for openSUSE:Factory checked in at 2023-12-13 18:34:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/google-noto-coloremoji-fonts (Old)
and /work/SRC/openSUSE:Factory/.google-noto-coloremoji-fonts.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "google-noto-coloremoji-fonts"
Wed Dec 13 18:34:04 2023 rev:3 rq:1132672 version:20230315
Changes:
--------
--- /work/SRC/openSUSE:Factory/google-noto-coloremoji-fonts/google-noto-coloremoji-fonts.changes 2023-03-17 17:02:46.977215307 +0100
+++ /work/SRC/openSUSE:Factory/.google-noto-coloremoji-fonts.new.25432/google-noto-coloremoji-fonts.changes 2023-12-13 18:34:05.676480232 +0100
@@ -1,0 +2,6 @@
+Tue Dec 12 11:11:56 UTC 2023 - Giacomo Comes <gcomes.obs(a)gmail.com>
+
+- add %reconfigure_fonts_prereq
+ * required by the presence of the macro: %reconfigure_fonts_scriptlets
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ google-noto-coloremoji-fonts.spec ++++++
--- /var/tmp/diff_new_pack.FJljsl/_old 2023-12-13 18:34:06.404507131 +0100
+++ /var/tmp/diff_new_pack.FJljsl/_new 2023-12-13 18:34:06.408507279 +0100
@@ -1,7 +1,7 @@
#
# spec file for package google-noto-coloremoji-fonts
#
-# 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
@@ -29,9 +29,10 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Provides: noto-emoji-fonts = %version
-Obsoletes: noto-emoji-fonts < %version
Obsoletes: noto-coloremoji-fonts < 20211101
+Obsoletes: noto-emoji-fonts < %version
Provides: noto-coloremoji-fonts = %{version}
+%reconfigure_fonts_prereq
%description
Noto Color Emoji font
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnu-unifont-fonts for openSUSE:Factory checked in at 2023-12-13 18:34:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnu-unifont-fonts (Old)
and /work/SRC/openSUSE:Factory/.gnu-unifont-fonts.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnu-unifont-fonts"
Wed Dec 13 18:34:02 2023 rev:6 rq:1132650 version:15.1.04
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnu-unifont-fonts/gnu-unifont-fonts.changes 2023-10-31 20:24:54.308188842 +0100
+++ /work/SRC/openSUSE:Factory/.gnu-unifont-fonts.new.25432/gnu-unifont-fonts.changes 2023-12-13 18:34:03.904414757 +0100
@@ -1,0 +2,7 @@
+Tue Dec 12 11:16:16 UTC 2023 - Giacomo Comes <gcomes.obs(a)gmail.com>
+
+- add %reconfigure_fonts_prereq to the subpackages
+ * required by the presence of the macro:
+ %reconfigure_fonts_scriptlets -n <subpackage-name>
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnu-unifont-fonts.spec ++++++
--- /var/tmp/diff_new_pack.g7y04h/_old 2023-12-13 18:34:05.028456288 +0100
+++ /var/tmp/diff_new_pack.g7y04h/_new 2023-12-13 18:34:05.028456288 +0100
@@ -48,6 +48,7 @@
%package -n gnu-unifont-bitmap-fonts
Summary: GNU Unifont (X11 portable compiled format)
Group: System/X11/Fonts
+%reconfigure_fonts_prereq
%description -n gnu-unifont-bitmap-fonts
The GNU Unifont by Roman Czyborra.
@@ -59,6 +60,7 @@
%package -n gnu-unifont-otf-fonts
Summary: GNU Unifont (OpenType Format)
Group: System/X11/Fonts
+%reconfigure_fonts_prereq
%description -n gnu-unifont-otf-fonts
The GNU Unifont by Roman Czyborra.
@@ -70,6 +72,7 @@
%package -n gnu-unifont-jp-otf-fonts
Summary: GNU Unifont Japanese (OpenType Format)
Group: System/X11/Fonts
+%reconfigure_fonts_prereq
%description -n gnu-unifont-jp-otf-fonts
The GNU Unifont by Roman Czyborra.
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-12 23:06:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Tue Dec 12 23:06:45 2023 rev:3838 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
openSUSE-Addon-NonOss-ftp-ftp-x86_64.kiwi: same change
openSUSE-cd-mini-x86_64.kiwi: same change
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.U0PgBI/_old 2023-12-12 23:06:47.980875640 +0100
+++ /var/tmp/diff_new_pack.U0PgBI/_new 2023-12-12 23:06:47.984875788 +0100
@@ -364,6 +364,7 @@
<repopackage name="dracut"/>
<repopackage name="dracut-transactional-update"/>
<repopackage name="drbd"/>
+ <repopackage name="drbd-kmp-default"/>
<repopackage name="drbd-utils"/>
<repopackage name="drkonqi5"/>
<repopackage name="drkonqi5-lang"/>
@@ -4474,6 +4475,8 @@
<repopackage name="virt-viewer"/>
<repopackage name="virt-what"/>
<repopackage name="virtiofsd"/>
+ <repopackage name="virtualbox-guest-tools"/>
+ <repopackage name="virtualbox-kmp-default"/>
<repopackage name="vlan"/>
<repopackage name="vlc"/>
<repopackage name="vlc-codec-gstreamer"/>
openSUSE-ftp-ftp-x86_64.kiwi: same change
stub.kiwi: same change
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.U0PgBI/_old 2023-12-12 23:06:48.132881263 +0100
+++ /var/tmp/diff_new_pack.U0PgBI/_new 2023-12-12 23:06:48.140881559 +0100
@@ -367,6 +367,7 @@
<package name="dracut" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
<package name="dracut-transactional-update" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-transactional_base -->
<package name="drbd" supportstatus="unsupported"/> <!-- reason: common_locks:expansion -->
+ <package name="drbd-kmp-default" supportstatus="unsupported"/> <!-- reason: common_locks:expansion -->
<package name="drbd-utils" supportstatus="unsupported"/> <!-- reason: common_locks:expansion -->
<package name="drkonqi5" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde -->
<package name="drkonqi5-lang" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde -->
@@ -2310,7 +2311,7 @@
<package name="libnma-gtk4-0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libnma-lang" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libnma0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
- <package name="libnotify-tools" supportstatus="unsupported"/> <!-- reason: dvd:patterns-xfce-xfce -->
+ <package name="libnotify-tools" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
<package name="libnotify4" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="libnpth0" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="libnscd1" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
@@ -4425,6 +4426,8 @@
<package name="virt-viewer" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_tools -->
<package name="virt-what" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
<package name="virtiofsd" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
+ <package name="virtualbox-guest-tools" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
+ <package name="virtualbox-kmp-default" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
<package name="vlan" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
<package name="vlc" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde_multimedia -->
<package name="vlc-codec-gstreamer" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde_multimedia -->
@@ -4810,8 +4813,6 @@
</group>
<group name="dvd.x86_64">
<conditional name="only_x86_64"/>
- <packagelist relationship="recommends">
- <!-- virtualbox-guest-tools uninstallable: nothing provides kernel-uname-r = 6.6.3-1-default needed by virtualbox-kmp-default-7.0.12_k6.6.3_1-2.4.x86_64-->
- </packagelist>
+ <packagelist relationship="recommends"/>
</group>
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.U0PgBI/_old 2023-12-12 23:06:48.244885406 +0100
+++ /var/tmp/diff_new_pack.U0PgBI/_new 2023-12-12 23:06:48.252885702 +0100
@@ -3244,7 +3244,6 @@
- drawing
- drawing-lang
- drbd-formula
- - drbd-kmp-default
- drc
- drc-doc
- driverctl
@@ -45253,9 +45252,7 @@
- virtualbox-devel
- virtualbox-guest-desktop-icons
- virtualbox-guest-source
- - virtualbox-guest-tools
- virtualbox-host-source
- - virtualbox-kmp-default
- virtualbox-qt
- virtualbox-vnc
- virtualbox-websrv
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-12 22:07:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Tue Dec 12 22:07:18 2023 rev:2642 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.Div51S/_old 2023-12-12 22:07:21.388997963 +0100
+++ /var/tmp/diff_new_pack.Div51S/_new 2023-12-12 22:07:21.408998702 +0100
@@ -1131,7 +1131,6 @@
Provides: weakremover(python3-pytest-fixture-config)
Provides: weakremover(python3-pytest-shutil)
Provides: weakremover(python3-pytest-virtualenv)
-Provides: weakremover(python3-python-pam)
Provides: weakremover(python3-python-slugify)
Provides: weakremover(python3-rfc3987)
Provides: weakremover(python3-setuptools-git)
@@ -21037,6 +21036,7 @@
Provides: weakremover(python-oauth2)
Provides: weakremover(python-oauth2-test)
Provides: weakremover(python-obexftp)
+Provides: weakremover(python-objgraph-doc)
Provides: weakremover(python-odfpy)
Provides: weakremover(python-odict)
Provides: weakremover(python-odorik)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nvidia-open-driver-G06-signed for openSUSE:Factory checked in at 2023-12-12 19:32:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nvidia-open-driver-G06-signed (Old)
and /work/SRC/openSUSE:Factory/.nvidia-open-driver-G06-signed.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvidia-open-driver-G06-signed"
Tue Dec 12 19:32:54 2023 rev:24 rq:1132702 version:545.29.06
Changes:
--------
--- /work/SRC/openSUSE:Factory/nvidia-open-driver-G06-signed/nvidia-open-driver-G06-signed.changes 2023-11-24 23:34:17.154312175 +0100
+++ /work/SRC/openSUSE:Factory/.nvidia-open-driver-G06-signed.new.25432/nvidia-open-driver-G06-signed.changes 2023-12-12 19:33:19.922900564 +0100
@@ -1,0 +2,7 @@
+Tue Dec 5 14:31:36 UTC 2023 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- fix typo in changelog:
+ * NVreg_OpenRMEnableSupporteGpus -> NVreg_OpenRmEnableUnsupportedGpus
+ (boo#1215981, comment#33)
+
+-------------------------------------------------------------------
@@ -9 +16 @@
-- no longer try to overwrite NVreg_OpenRMEnableSupporteGpus driver
+- no longer try to overwrite NVreg_OpenRmEnableUnsupportedGpus driver
@@ -18 +25 @@
- NVreg_OpenRMEnableSupporteGpus driver option setting (disable it),
+ NVreg_OpenRmEnableUnsupportedGpus driver option setting (disable it),
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-python-pam for openSUSE:Factory checked in at 2023-12-12 19:32:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-pam (Old)
and /work/SRC/openSUSE:Factory/.python-python-pam.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-pam"
Tue Dec 12 19:32:48 2023 rev:3 rq:1132693 version:2.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-pam/python-python-pam.changes 2018-12-12 17:28:34.198870395 +0100
+++ /work/SRC/openSUSE:Factory/.python-python-pam.new.25432/python-python-pam.changes 2023-12-12 19:33:16.090759174 +0100
@@ -1,0 +2,32 @@
+Tue Dec 12 12:02:21 UTC 2023 - Joan Torres <joan.torres(a)suse.com>
+
+- Version update to 2.0.2:
+ * Surface fixes:
+ * Fixed #31 whereby I changed the boolean response in 2.0.0 to
+ a PAM constant. This reverts to the boolean response as
+ existed in v1.8.5. The result code is still stored in the
+ obj.code attribute.
+ * Added the PamAuthenticate.authenticate() method signature
+ and docstring to both of the new and legacy interfaces.
+ * Changed the PamAuthenticate.authenticate() type hinting so it
+ didn't interfere with the docstring.
+
+ * Under the hood changes:
+ * Start mocking the libpam methods so we can wholly disassociate
+ ourselves from the underlying system. This lets us test more
+ of the actual python code and lets us start injecting errors
+ to test for.
+
+- Version update to 2.0.0:
+ * The surface functionality hasn't changed much but a few bugs
+ have been fixed. Under the hood, a lot has changed.
+ Functionality has now been moved into a class that helped with
+ value tracking. I planned on removing Python 2 support but
+ was convinced to leave it in for now as apparently there are
+ still a lot of python2 users.
+
+ * Most testing has moved to occur underneath tox, this is superior
+ as it provides for testing in a clean environment and an
+ installed environment.
+
+-------------------------------------------------------------------
Old:
----
python-pam-1.8.4.tar.gz
New:
----
python-pam-2.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-pam.spec ++++++
--- /var/tmp/diff_new_pack.p8NLWO/_old 2023-12-12 19:33:16.850787216 +0100
+++ /var/tmp/diff_new_pack.p8NLWO/_new 2023-12-12 19:33:16.854787363 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-python-pam
#
-# Copyright (c) 2018 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,20 +16,22 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%global modname python-pam
Name: python-python-pam
-Version: 1.8.4
+Version: 2.0.2
Release: 0
Summary: Python PAM module using ctypes, py3/py2
License: MIT
Group: Development/Languages/Python
URL: https://github.com/FirefighterBlu3/python-pam
-Source: https://files.pythonhosted.org/packages/source/p/python-pam/%{modname}-%{ve…
+Source: https://files.pythonhosted.org/packages/source/p/%{modname}/%{modname}-%{ve…
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
+
%python_subpackages
%description
@@ -39,14 +41,15 @@
%setup -q -n %{modname}-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%files %{python_files}
%license LICENSE
%doc README.md
-%{python_sitelib}/*
+%{python_sitelib}/pam
+%{python_sitelib}/python_pam-%{version}*
++++++ python-pam-1.8.4.tar.gz -> python-pam-2.0.2.tar.gz ++++++
++++ 1691 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-netmiko for openSUSE:Factory checked in at 2023-12-12 19:32:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-netmiko (Old)
and /work/SRC/openSUSE:Factory/.python-netmiko.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-netmiko"
Tue Dec 12 19:32:43 2023 rev:21 rq:1132682 version:4.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-netmiko/python-netmiko.changes 2023-08-28 17:17:21.413265197 +0200
+++ /work/SRC/openSUSE:Factory/.python-netmiko.new.25432/python-netmiko.changes 2023-12-12 19:33:11.662595793 +0100
@@ -1,0 +2,42 @@
+Tue Dec 12 13:37:47 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 4.3.0:
+ * Netmiko's session_log has certain scenarios where it was
+ failing to hide the default no_log items ("secret" and
+ "password"). This bug has generally been fixed though there
+ are likely edge scenarios where this could still happen.
+ Given the nature of the session_log it should always be
+ viewed as a security sensitive file.
+ * Drop PY3.7 support
+ * Improve Ciena SAOS logic in set_base_prompt
+ * Improve Nokia SROS disable paging behavior
+ * Remove Arris and Casa from SSH autodetect
+ * Add support for Genie and Linux
+ * Improve TP-Link session_preparation behavior
+ * Improve MikoTik terminal size definition
+ * Improve Arista SSH autodetection
+ * Fix SNMP autodetection when hostname is used (instead of
+ IPv4/IPv6 address)
+ * Improve SCP behavior for remote_file_size when subdirectories
+ are used
+ * Implement TelnetFallback entry point
+ * Improve Extreme SLX-OS autodetect
+ * Improve Fortinet driver _get_output_mode_v6 behavior
+ * Improve HP comware and HP procurve behavior in
+ session_preparation
+ * Add Allied Telesis in SNMP and SSH autodetect
+ * Update hp_comware.py handle RBM in prompt
+ * Update vyos_ssh.py to enter and exit config mode on save
+ * Handle Huawei secure configuration message
+ * Add support for a SessionLog object in dunder-init(). This
+ allows a custom no_log definition.
+ * CI-CD fixes for various things breaking
+ * Improve ers driver cntl-y behavior
+ * Adtran driver enable global_cmd_verify by default
+ * Adtran driver improve enable() behavior
+ * Add Telnet Proxy support for SOCKS Proxy
+ * Add support for Fiberstore FSOS
+ * Add support for Maipu
+ * Add Digi TransPort Router Support
+
+-------------------------------------------------------------------
Old:
----
netmiko-4.2.0.tar.gz
New:
----
netmiko-4.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-netmiko.spec ++++++
--- /var/tmp/diff_new_pack.fJgb0x/_old 2023-12-12 19:33:12.150613798 +0100
+++ /var/tmp/diff_new_pack.fJgb0x/_new 2023-12-12 19:33:12.154613945 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-netmiko
-Version: 4.2.0
+Version: 4.3.0
Release: 0
Summary: Multi-vendor library to simplify Paramiko SSH connections to network devices
License: MIT
++++++ netmiko-4.2.0.tar.gz -> netmiko-4.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/PKG-INFO new/netmiko-4.3.0/PKG-INFO
--- old/netmiko-4.2.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +1,21 @@
Metadata-Version: 2.1
Name: netmiko
-Version: 4.2.0
+Version: 4.3.0
Summary: Multi-vendor library to simplify legacy CLI connections to network devices
Home-page: https://github.com/ktbyers/netmiko
License: MIT
Author: Kirk Byers
Author-email: ktbyers(a)twb-tech.com
-Requires-Python: >=3.7,<4.0
+Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: MIT License
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.10
Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: ntc-templates (>=2.0.0)
@@ -30,7 +29,7 @@
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/netmiko.svg)](https://img.shields.io/pypi/pyversions/netmiko)
[![PyPI](https://img.shields.io/pypi/v/netmiko.svg)](https://pypi.python.org/pypi/netmiko)
-[![Downloads](https://pepy.tech/badge/netmiko)](https://pepy.tech/project/netmiko)
+[![Downloads](https://static.pepy.tech/badge/netmiko)](https://static.pepy.tech/badge/netmiko)
[![GitHub contributors](https://img.shields.io/github/contributors/ktbyers/netmiko.sv…
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https:/…
@@ -43,6 +42,12 @@
<br />
+## Contributing to Netmiko
+
+[CONTRIBUTING.md](https://github.com/ktbyers/netmiko/blob/develop/CONTRIBUTING.md)
+
+<br />
+
## Why Netmiko?
Network automation to screen-scraping devices is primarily concerned with gathering output from show commands and with making configuration changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/README.md new/netmiko-4.3.0/README.md
--- old/netmiko-4.2.0/README.md 2023-05-05 18:30:15.008753300 +0200
+++ new/netmiko-4.3.0/README.md 2023-11-17 18:35:13.596568000 +0100
@@ -1,6 +1,6 @@
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/netmiko.svg)](https://img.shields.io/pypi/pyversions/netmiko)
[![PyPI](https://img.shields.io/pypi/v/netmiko.svg)](https://pypi.python.org/pypi/netmiko)
-[![Downloads](https://pepy.tech/badge/netmiko)](https://pepy.tech/project/netmiko)
+[![Downloads](https://static.pepy.tech/badge/netmiko)](https://static.pepy.tech/badge/netmiko)
[![GitHub contributors](https://img.shields.io/github/contributors/ktbyers/netmiko.sv…
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https:/…
@@ -13,6 +13,12 @@
<br />
+## Contributing to Netmiko
+
+[CONTRIBUTING.md](https://github.com/ktbyers/netmiko/blob/develop/CONTRIBUTING.md)
+
+<br />
+
## Why Netmiko?
Network automation to screen-scraping devices is primarily concerned with gathering output from show commands and with making configuration changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/__init__.py new/netmiko-4.3.0/netmiko/__init__.py
--- old/netmiko-4.2.0/netmiko/__init__.py 2023-05-05 18:30:15.060753600 +0200
+++ new/netmiko-4.3.0/netmiko/__init__.py 2023-11-17 18:35:13.604568000 +0100
@@ -1,9 +1,9 @@
import sys
-__version__ = "4.2.0"
+__version__ = "4.3.0"
PY_MAJ_VER = 3
-PY_MIN_VER = 7
-MIN_PYTHON_VER = "3.7"
+PY_MIN_VER = 8
+MIN_PYTHON_VER = "3.8"
# Make sure user is using a valid Python version (for Netmiko)
@@ -38,6 +38,7 @@
from netmiko.ssh_dispatcher import ConnectHandler # noqa
+from netmiko.ssh_dispatcher import TelnetFallback # noqa
from netmiko.ssh_dispatcher import ConnLogOnly # noqa
from netmiko.ssh_dispatcher import ConnUnify # noqa
from netmiko.ssh_dispatcher import ssh_dispatcher # noqa
@@ -66,6 +67,7 @@
__all__ = (
"ConnectHandler",
+ "AgnosticHandler",
"ConnLogOnly",
"ConnUnify",
"ssh_dispatcher",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/adtran/adtran.py new/netmiko-4.3.0/netmiko/adtran/adtran.py
--- old/netmiko-4.2.0/netmiko/adtran/adtran.py 2023-05-05 18:30:15.060753600 +0200
+++ new/netmiko-4.3.0/netmiko/adtran/adtran.py 2023-11-17 18:35:13.604568000 +0100
@@ -1,16 +1,12 @@
from typing import Any, Optional
import re
from netmiko.cisco_base_connection import CiscoBaseConnection
+from netmiko.exceptions import NetmikoTimeoutException
class AdtranOSBase(CiscoBaseConnection):
prompt_pattern = r"[>#]"
- def __init__(self, *args: Any, **kwargs: Any) -> None:
- if kwargs.get("global_cmd_verify") is None:
- kwargs["global_cmd_verify"] = False
- return super().__init__(*args, **kwargs)
-
def session_preparation(self) -> None:
"""Prepare the session after the connection has been established."""
self.ansi_escape_codes = True
@@ -31,14 +27,55 @@
check_state: bool = True,
re_flags: int = re.IGNORECASE,
) -> str:
- return super().enable(
- cmd=cmd,
- pattern=pattern,
- enable_pattern=enable_pattern,
- check_state=check_state,
- re_flags=re_flags,
+ output = ""
+ msg = (
+ "Failed to enter enable mode. Please ensure you pass "
+ "the 'secret' argument to ConnectHandler."
)
+ # Check if in enable mode already.
+ if check_state and self.check_enable_mode():
+ return output
+
+ # Send "enable" mode command
+ self.write_channel(self.normalize_cmd(cmd))
+ try:
+ # Read the command echo
+ if self.global_cmd_verify is not False:
+ output += self.read_until_pattern(pattern=re.escape(cmd.strip()))
+
+ # Search for trailing prompt or password pattern
+ output += self.read_until_prompt_or_pattern(
+ pattern=pattern, re_flags=re_flags
+ )
+
+ # Send the "secret" in response to password pattern
+ if re.search(pattern, output):
+ self.write_channel(self.normalize_cmd(self.secret))
+
+ # Handle the fallback to local authentication case
+ fallback_pattern = r"Falling back"
+ new_output = self.read_until_prompt_or_pattern(
+ pattern=fallback_pattern, re_flags=re_flags
+ )
+ output += new_output
+
+ if "Falling back" in new_output:
+ self.write_channel(self.normalize_cmd(self.secret))
+ output += self.read_until_prompt()
+
+ # Search for terminating pattern if defined
+ if enable_pattern and not re.search(enable_pattern, output):
+ output += self.read_until_pattern(pattern=enable_pattern)
+ else:
+ if not self.check_enable_mode():
+ raise ValueError(msg)
+
+ except NetmikoTimeoutException:
+ raise ValueError(msg)
+
+ return output
+
def exit_enable_mode(self, exit_command: str = "disable") -> str:
return super().exit_enable_mode(exit_command=exit_command)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/base_connection.py new/netmiko-4.3.0/netmiko/base_connection.py
--- old/netmiko-4.2.0/netmiko/base_connection.py 2023-05-05 18:30:15.068753700 +0200
+++ new/netmiko-4.3.0/netmiko/base_connection.py 2023-11-17 18:35:13.608568000 +0100
@@ -61,6 +61,7 @@
calc_old_timeout,
)
from netmiko.utilities import m_exec_time # noqa
+from netmiko import telnet_proxy
if TYPE_CHECKING:
from os import PathLike
@@ -102,6 +103,20 @@
return cast(F, wrapper_decorator)
+def flush_session_log(func: F) -> F:
+ @functools.wraps(func)
+ def wrapper_decorator(self: "BaseConnection", *args: Any, **kwargs: Any) -> Any:
+ try:
+ return_val = func(self, *args, **kwargs)
+ finally:
+ # Always flush the session_log
+ if self.session_log:
+ self.session_log.flush()
+ return return_val
+
+ return cast(F, wrapper_decorator)
+
+
def log_writes(func: F) -> F:
"""Handle both session_log and log of writes."""
@@ -181,6 +196,7 @@
allow_auto_change: bool = False,
encoding: str = "utf-8",
sock: Optional[socket.socket] = None,
+ sock_telnet: Optional[Dict[str, Any]] = None,
auto_connect: bool = True,
delay_factor_compat: bool = False,
disable_lf_normalization: bool = False,
@@ -267,7 +283,8 @@
to select smallest of global and specific. Sets default global_delay_factor to .1
(default: True)
- :param session_log: File path or BufferedIOBase subclass object to write the session log to.
+ :param session_log: File path, SessionLog object, or BufferedIOBase subclass object
+ to write the session log to.
:param session_log_record_writes: The session log generally only records channel reads due
to eliminate command duplication due to command echo. You can enable this if you
@@ -280,11 +297,14 @@
(default: False)
:param encoding: Encoding to be used when writing bytes to the output channel.
- (default: ascii)
+ (default: "utf-8")
:param sock: An open socket or socket-like object (such as a `.Channel`) to use for
communication to the target host (default: None).
+ :param sock_telnet: A dictionary of telnet socket parameters (SOCKS proxy). See
+ telnet_proxy.py code for details.
+
:param global_cmd_verify: Control whether command echo verification is enabled or disabled
(default: None). Global attribute takes precedence over function `cmd_verify`
argument. Value of `None` indicates to use function `cmd_verify` argument.
@@ -351,6 +371,7 @@
self.allow_auto_change = allow_auto_change
self.encoding = encoding
self.sock = sock
+ self.sock_telnet = sock_telnet
self.fast_cli = fast_cli
self._legacy_mode = _legacy_mode
self.global_delay_factor = global_delay_factor
@@ -366,6 +387,7 @@
no_log["password"] = self.password
if self.secret:
no_log["secret"] = self.secret
+ # Always sanitize username and password
log.addFilter(SecretsFilter(no_log=no_log))
# Netmiko will close the session_log if we open the file
@@ -386,10 +408,14 @@
no_log=no_log,
record_writes=session_log_record_writes,
)
+ elif isinstance(session_log, SessionLog):
+ # SessionLog object
+ self.session_log = session_log
+ self.session_log.open()
else:
raise ValueError(
"session_log must be a path to a file, a file handle, "
- "or a BufferedIOBase subclass."
+ "SessionLog object, or a BufferedIOBase subclass."
)
# Default values
@@ -667,7 +693,6 @@
start_time = time.time()
# if read_timeout == 0 or 0.0 keep reading indefinitely
while (time.time() - start_time < read_timeout) or (not read_timeout):
-
output += self.read_channel()
if re.search(pattern, output, flags=re_flags):
@@ -1084,9 +1109,17 @@
"""
self.channel: Channel
if self.protocol == "telnet":
- self.remote_conn = telnetlib.Telnet(
- self.host, port=self.port, timeout=self.timeout
- )
+ if self.sock_telnet:
+ self.remote_conn = telnet_proxy.Telnet(
+ self.host,
+ port=self.port,
+ timeout=self.timeout,
+ proxy_dict=self.sock_telnet,
+ )
+ else:
+ self.remote_conn = telnetlib.Telnet(
+ self.host, port=self.port, timeout=self.timeout
+ )
# Migrating communication to channel class
self.channel = TelnetChannel(conn=self.remote_conn, encoding=self.encoding)
self.telnet_login()
@@ -1447,7 +1480,6 @@
return output
def command_echo_read(self, cmd: str, read_timeout: float) -> str:
-
# Make sure you read until you detect the command echo (avoid getting out of sync)
new_data = self.read_until_pattern(
pattern=re.escape(cmd), read_timeout=read_timeout
@@ -1464,6 +1496,7 @@
pass
return new_data
+ @flush_session_log
@select_cmd_verify
def send_command_timing(
self,
@@ -1612,6 +1645,7 @@
prompt = self.base_prompt
return re.escape(prompt.strip())
+ @flush_session_log
@select_cmd_verify
def send_command(
self,
@@ -2135,6 +2169,7 @@
commands = cfg_file.readlines()
return self.send_config_set(commands, **kwargs)
+ @flush_session_log
def send_config_set(
self,
config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/ciena/ciena_saos.py new/netmiko-4.3.0/netmiko/ciena/ciena_saos.py
--- old/netmiko-4.2.0/netmiko/ciena/ciena_saos.py 2023-05-05 18:30:15.072753700 +0200
+++ new/netmiko-4.3.0/netmiko/ciena/ciena_saos.py 2023-11-17 18:35:13.608568000 +0100
@@ -28,7 +28,7 @@
prompt = self.find_prompt(delay_factor=delay_factor)
pattern = rf"^.+{self.prompt_pattern}$"
- if re.search(pattern, prompt):
+ if not re.search(pattern, prompt):
raise ValueError(f"Router prompt not found: {repr(prompt)}")
# Strip off trailing terminator
self.base_prompt = prompt[:-1]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/digi/__init__.py new/netmiko-4.3.0/netmiko/digi/__init__.py
--- old/netmiko-4.2.0/netmiko/digi/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/netmiko/digi/__init__.py 2023-11-17 18:35:13.608568000 +0100
@@ -0,0 +1,3 @@
+from netmiko.digi.digi_transport import DigiTransportSSH
+
+__all__ = ["DigiTransportSSH"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/digi/digi_transport.py new/netmiko-4.3.0/netmiko/digi/digi_transport.py
--- old/netmiko-4.2.0/netmiko/digi/digi_transport.py 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/netmiko/digi/digi_transport.py 2023-11-17 18:35:13.608568000 +0100
@@ -0,0 +1,27 @@
+"""Digi TransPort Routers"""
+from typing import Any
+from netmiko.no_enable import NoEnable
+from netmiko.no_config import NoConfig
+from netmiko.cisco_base_connection import CiscoSSHConnection
+
+
+class DigiTransportBase(NoEnable, NoConfig, CiscoSSHConnection):
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
+ default_enter = kwargs.get("default_enter")
+ kwargs["default_enter"] = "\r\n" if default_enter is None else default_enter
+ super().__init__(*args, **kwargs)
+
+ def save_config(
+ self,
+ cmd: str = "config 0 save",
+ confirm: bool = False,
+ confirm_response: str = "",
+ ) -> str:
+ output = self._send_command_str(
+ command_string=cmd, expect_string="Please wait..."
+ )
+ return output
+
+
+class DigiTransportSSH(DigiTransportBase):
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/extreme/extreme_ers_ssh.py new/netmiko-4.3.0/netmiko/extreme/extreme_ers_ssh.py
--- old/netmiko-4.2.0/netmiko/extreme/extreme_ers_ssh.py 2023-05-05 18:30:15.076753600 +0200
+++ new/netmiko-4.3.0/netmiko/extreme/extreme_ers_ssh.py 2023-11-17 18:35:13.608568000 +0100
@@ -2,6 +2,7 @@
import re
from netmiko.cisco_base_connection import CiscoSSHConnection
from netmiko.exceptions import NetmikoAuthenticationException
+import time
# Extreme ERS presents Enter Ctrl-Y to begin.
CTRL_Y = "\x19"
@@ -27,6 +28,10 @@
Older devices the Ctrl-Y is before SSH-login (not 100% sure of this).
+ Few devices after SSH-login the Ctrl-Y turns to blank screen-no pattern \
+
+ prompt appears after Enter/Return ( tested ).
+
Newer devices this is after SSH-login.
"""
@@ -46,6 +51,9 @@
if cntl_y in new_data:
self.write_channel(CTRL_Y)
+ time.sleep(1 * delay_factor)
+ # no pattern, blank for few devices till Return keypress
+ self.write_channel(self.RETURN)
elif "Press ENTER" in new_data:
self.write_channel(self.RETURN)
elif uname in new_data:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/fiberstore/__init__.py new/netmiko-4.3.0/netmiko/fiberstore/__init__.py
--- old/netmiko-4.2.0/netmiko/fiberstore/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/netmiko/fiberstore/__init__.py 2023-11-17 18:35:13.612568100 +0100
@@ -0,0 +1,3 @@
+from netmiko.fiberstore.fiberstore_fsos import FiberstoreFsosSSH
+
+__all__ = ["FiberstoreFsosSSH"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/fiberstore/fiberstore_fsos.py new/netmiko-4.3.0/netmiko/fiberstore/fiberstore_fsos.py
--- old/netmiko-4.2.0/netmiko/fiberstore/fiberstore_fsos.py 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/netmiko/fiberstore/fiberstore_fsos.py 2023-11-17 18:35:13.612568100 +0100
@@ -0,0 +1,108 @@
+"""Fiberstore FSOS Driver."""
+from typing import Optional
+from paramiko import SSHClient
+from netmiko.ssh_auth import SSHClient_noauth
+from netmiko.no_enable import NoEnable
+import time
+from os import path
+from netmiko.cisco_base_connection import CiscoSSHConnection
+from netmiko.exceptions import NetmikoAuthenticationException
+
+
+class FiberstoreFsosSSH(NoEnable, CiscoSSHConnection):
+ """
+ Fiberstore FSOS uses a non-standard SSH login mechanism. Consequently,
+ to make the login work, we have to override the SSHClient _auth method.
+ """
+
+ def session_preparation(self) -> None:
+ """Prepare the session after the connection has been established."""
+ self.ansi_escape_codes = True
+ output = self._test_channel_read()
+ if "% Authentication Failed" in output:
+ assert self.remote_conn is not None
+ self.remote_conn.close()
+ msg = f"Login failed: {self.host}"
+ raise NetmikoAuthenticationException(msg)
+
+ self.set_base_prompt()
+ self.disable_paging(command="terminal length 0")
+ # Clear the read buffer
+ time.sleep(0.3 * self.global_delay_factor)
+ self.clear_buffer()
+
+ def set_base_prompt(
+ self,
+ pri_prompt_terminator: str = ">",
+ alt_prompt_terminator: str = "#",
+ delay_factor: float = 1.0,
+ pattern: Optional[str] = None,
+ ) -> str:
+ prompt = super().set_base_prompt(
+ pri_prompt_terminator=pri_prompt_terminator,
+ alt_prompt_terminator=alt_prompt_terminator,
+ delay_factor=delay_factor,
+ pattern=pattern,
+ )
+ prompt = prompt.strip()
+ self.base_prompt = prompt
+ return self.base_prompt
+
+ def check_config_mode(
+ self,
+ check_string: str = "(config)#",
+ pattern: str = "",
+ force_regex: bool = False,
+ ) -> bool:
+ return super().check_config_mode(
+ check_string=check_string, pattern=pattern, force_regex=force_regex
+ )
+
+ def config_mode(
+ self, config_command: str = "config", pattern: str = "", re_flags: int = 0
+ ) -> str:
+ return super().config_mode(
+ config_command=config_command, pattern=pattern, re_flags=re_flags
+ )
+
+ def _build_ssh_client(self) -> SSHClient:
+ """Allows you to bypass standard SSH auth while still supporting SSH keys."""
+
+ # If user does not provide SSH key, we use noauth
+ remote_conn_pre: SSHClient
+ if not self.use_keys:
+ remote_conn_pre = SSHClient_noauth()
+ else:
+ remote_conn_pre = SSHClient()
+
+ # Load host_keys for better SSH security
+ if self.system_host_keys:
+ remote_conn_pre.load_system_host_keys()
+ if self.alt_host_keys and path.isfile(self.alt_key_file):
+ remote_conn_pre.load_host_keys(self.alt_key_file)
+
+ # Default is to automatically add untrusted hosts (make sure appropriate for your env)
+ remote_conn_pre.set_missing_host_key_policy(self.key_policy)
+ return remote_conn_pre
+
+ def special_login_handler(self, delay_factor: float = 1.0) -> None:
+ """
+ Fiberstore S3200 presents with the following on login
+ Username:
+ Password: ****
+ """
+ delay_factor = self.select_delay_factor(delay_factor)
+ i = 0
+ output = ""
+ while i <= 12:
+ i += 1
+ time.sleep(delay_factor)
+ output = self.read_channel()
+ if output:
+ if "Username:" in output:
+ assert self.username is not None
+ self.write_channel(self.username + self.RETURN)
+ elif "Password:" in output:
+ assert self.password is not None
+ self.write_channel(self.password + self.RETURN)
+ return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/fortinet/fortinet_ssh.py new/netmiko-4.3.0/netmiko/fortinet/fortinet_ssh.py
--- old/netmiko-4.2.0/netmiko/fortinet/fortinet_ssh.py 2023-05-05 18:30:15.080753800 +0200
+++ new/netmiko-4.3.0/netmiko/fortinet/fortinet_ssh.py 2023-11-17 18:35:13.612568100 +0100
@@ -148,13 +148,7 @@
if self._vdoms:
self._config_global()
- self._send_command_str(
- "config system console", expect_string=self.prompt_pattern
- )
- output = self._send_command_str(
- "show full-configuration", expect_string=self.prompt_pattern
- )
- self._send_command_str("end", expect_string=self.prompt_pattern)
+ output = self._send_command_str("show full-configuration system console")
if self._vdoms:
self._exit_config_global()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/hp/hp_comware.py new/netmiko-4.3.0/netmiko/hp/hp_comware.py
--- old/netmiko-4.2.0/netmiko/hp/hp_comware.py 2023-05-05 18:30:15.080753800 +0200
+++ new/netmiko-4.3.0/netmiko/hp/hp_comware.py 2023-11-17 18:35:13.612568100 +0100
@@ -22,7 +22,7 @@
self._test_channel_read(pattern=r"[>\]]")
self.set_base_prompt()
- command = self.RETURN + "screen-length disable"
+ command = "screen-length disable"
self.disable_paging(command=command)
def config_mode(
@@ -98,6 +98,9 @@
pattern=pattern,
)
+ # Strip off any leading RBM_. characters for firewall HA
+ prompt = re.sub(r"^RBM_.", "", prompt, flags=re.M)
+
# Strip off leading character
prompt = prompt[1:]
prompt = prompt.strip()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/hp/hp_procurve.py new/netmiko-4.3.0/netmiko/hp/hp_procurve.py
--- old/netmiko-4.2.0/netmiko/hp/hp_procurve.py 2023-05-05 18:30:15.080753800 +0200
+++ new/netmiko-4.3.0/netmiko/hp/hp_procurve.py 2023-11-17 18:35:13.612568100 +0100
@@ -59,7 +59,7 @@
# ProCurve requires elevated privileges to disable output paging :-(
self.enable()
self.set_terminal_width(command="terminal width 511", pattern="terminal")
- command = self.RETURN + "no page"
+ command = "no page"
self.disable_paging(command=command)
def check_config_mode(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/huawei/huawei.py new/netmiko-4.3.0/netmiko/huawei/huawei.py
--- old/netmiko-4.2.0/netmiko/huawei/huawei.py 2023-05-05 18:30:15.080753800 +0200
+++ new/netmiko-4.3.0/netmiko/huawei/huawei.py 2023-11-17 18:35:13.616568000 +0100
@@ -151,6 +151,16 @@
self.write_channel("N" + self.RETURN)
self.read_until_pattern(pattern=self.prompt_pattern)
+ # Huawei prompts for secure the configuration before displaying the initial base prompt.
+ if re.search(
+ r"security\srisks\sin\sthe\sconfiguration\sfile.*\[y\/n\]", data, flags=re.I
+ ):
+ self.send_command("Y", expect_string=r"(?i)continue.*\[y\/n\]")
+ self.send_command(
+ "Y", expect_string=r"saved\ssuccessfully", read_timeout=60
+ )
+ self.read_until_pattern(pattern=self.prompt_pattern)
+
class HuaweiTelnet(HuaweiBase):
"""Huawei Telnet driver."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/maipu/__init__.py new/netmiko-4.3.0/netmiko/maipu/__init__.py
--- old/netmiko-4.2.0/netmiko/maipu/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/netmiko/maipu/__init__.py 2023-11-17 18:35:13.616568000 +0100
@@ -0,0 +1,4 @@
+from netmiko.maipu.maipu import MaipuSSH
+from netmiko.maipu.maipu import MaipuTelnet
+
+__all__ = ["MaipuSSH", "MaipuTelnet"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/maipu/maipu.py new/netmiko-4.3.0/netmiko/maipu/maipu.py
--- old/netmiko-4.2.0/netmiko/maipu/maipu.py 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/netmiko/maipu/maipu.py 2023-11-17 18:35:13.616568000 +0100
@@ -0,0 +1,35 @@
+import time
+
+from netmiko.cisco_base_connection import CiscoBaseConnection
+
+
+class MaipuBase(CiscoBaseConnection):
+ def session_preparation(self) -> None:
+ """Prepare the session after the connection has been established."""
+ self._test_channel_read(pattern=r"[>#]")
+ self.set_base_prompt()
+ self.enable()
+ self.disable_paging(command="more off")
+ # Clear the read buffer
+ time.sleep(0.3 * self.global_delay_factor)
+ self.clear_buffer()
+
+ def save_config(
+ self, cmd: str = "write", confirm: bool = False, confirm_response: str = ""
+ ) -> str:
+ """Saves Config Using Copy Run Start"""
+ return super().save_config(
+ cmd=cmd, confirm=confirm, confirm_response=confirm_response
+ )
+
+
+class MaipuSSH(MaipuBase):
+ """MAIPU SSH driver"""
+
+ pass
+
+
+class MaipuTelnet(MaipuBase):
+ """MAIPU telnet driver"""
+
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/mikrotik/mikrotik_ssh.py new/netmiko-4.3.0/netmiko/mikrotik/mikrotik_ssh.py
--- old/netmiko-4.2.0/netmiko/mikrotik/mikrotik_ssh.py 2023-05-05 18:30:15.084753800 +0200
+++ new/netmiko-4.3.0/netmiko/mikrotik/mikrotik_ssh.py 2023-11-17 18:35:13.616568000 +0100
@@ -39,10 +39,10 @@
c: disable console colors
e: enable dumb terminal mode
t: disable auto detect terminal capabilities
- w511: set term width
- h4098: set term height
+ 511w: set term width
+ 4098h: set term height
"""
- self.username += "+ctw511h4098"
+ self.username += "+ct511w4098h"
def disable_paging(self, *args: Any, **kwargs: Any) -> str:
"""Mikrotik does not have paging by default."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/nokia/nokia_sros.py new/netmiko-4.3.0/netmiko/nokia/nokia_sros.py
--- old/netmiko-4.2.0/netmiko/nokia/nokia_sros.py 2023-05-05 18:30:15.084753800 +0200
+++ new/netmiko-4.3.0/netmiko/nokia/nokia_sros.py 2023-11-17 18:35:13.616568000 +0100
@@ -48,7 +48,6 @@
command="environment console width 512", pattern="environment"
)
self.disable_paging(command="environment more false")
- # To perform file operations we need to disable paging in classical-CLI also
self.disable_paging(command="//environment no more")
else:
# Classical CLI has no method to set the terminal width nor to disable command
@@ -56,6 +55,8 @@
# Only disabled if not set under the ConnectHandler.
if self.global_cmd_verify is None:
self.global_cmd_verify = False
+ # Disable paging in both modes, file operations require no paging in classic
+ self.disable_paging(command="//environment more false")
self.disable_paging(command="environment no more", pattern="environment")
# Clear the read buffer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/scp_handler.py new/netmiko-4.3.0/netmiko/scp_handler.py
--- old/netmiko-4.2.0/netmiko/scp_handler.py 2023-05-05 18:30:15.088753700 +0200
+++ new/netmiko-4.3.0/netmiko/scp_handler.py 2023-11-17 18:35:13.620568000 +0100
@@ -271,7 +271,8 @@
remote_out = "".join(remote_out_lines)
# Match line containing file name
assert isinstance(remote_file, str)
- escape_file_name = re.escape(remote_file)
+ remote_file_base = os.path.basename(remote_file)
+ escape_file_name = re.escape(remote_file_base)
pattern = r".*({}).*".format(escape_file_name)
match = re.search(pattern, remote_out)
if match:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/session_log.py new/netmiko-4.3.0/netmiko/session_log.py
--- old/netmiko-4.2.0/netmiko/session_log.py 2023-05-05 18:30:15.088753700 +0200
+++ new/netmiko-4.3.0/netmiko/session_log.py 2023-11-17 18:35:13.620568000 +0100
@@ -12,6 +12,7 @@
file_encoding: str = "utf-8",
no_log: Optional[Dict[str, Any]] = None,
record_writes: bool = False,
+ slog_buffer: Optional[io.StringIO] = None,
) -> None:
if no_log is None:
self.no_log = {}
@@ -30,6 +31,13 @@
else:
self.session_log = None
+ # In order to ensure all the no_log entries get hidden properly,
+ # we must first store everying in memory and then write out to file.
+ # Otherwise, we might miss the data we are supposed to hide (since
+ # the no_log data potentially spans multiple reads).
+ if slog_buffer is None:
+ self.slog_buffer = io.StringIO()
+
# Ensures last write operations prior to disconnect are recorded.
self.fin = False
@@ -49,15 +57,30 @@
def close(self) -> None:
"""Close the session_log file (if it is a file that we opened)."""
+ self.flush()
if self.session_log and self._session_log_close:
self.session_log.close()
self.session_log = None
- def write(self, data: str) -> None:
- if self.session_log is not None and len(data) > 0:
- # Hide the password and secret in the session_log
- for hidden_data in self.no_log.values():
- data = data.replace(hidden_data, "********")
+ def no_log_filter(self, data: str) -> str:
+ """Filter content from the session_log."""
+ for hidden_data in self.no_log.values():
+ data = data.replace(hidden_data, "********")
+ return data
+
+ def _read_buffer(self) -> str:
+ self.slog_buffer.seek(0)
+ data = self.slog_buffer.read()
+ # Once read, create a new buffer
+ self.slog_buffer = io.StringIO()
+ return data
+
+ def flush(self) -> None:
+ """Force the slog_buffer to be written out to the actual file"""
+
+ if self.session_log is not None:
+ data = self._read_buffer()
+ data = self.no_log_filter(data)
if isinstance(self.session_log, io.BufferedIOBase):
self.session_log.write(write_bytes(data, encoding=self.file_encoding))
@@ -67,4 +90,10 @@
assert isinstance(self.session_log, io.BufferedIOBase) or isinstance(
self.session_log, io.TextIOBase
)
+
+ # Flush the underlying file
self.session_log.flush()
+
+ def write(self, data: str) -> None:
+ if len(data) > 0:
+ self.slog_buffer.write(data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/snmp_autodetect.py new/netmiko-4.3.0/netmiko/snmp_autodetect.py
--- old/netmiko-4.2.0/netmiko/snmp_autodetect.py 2023-05-05 18:30:15.088753700 +0200
+++ new/netmiko-4.3.0/netmiko/snmp_autodetect.py 2023-11-17 18:35:13.620568000 +0100
@@ -20,10 +20,10 @@
Note, pysnmp is a required dependency for SNMPDetect and is intentionally not included in
netmiko requirements. So installation of pysnmp might be required.
"""
-import ipaddress
-from typing import Optional, Dict
+from typing import Optional, Dict, List
from typing.re import Pattern
import re
+import socket
try:
from pysnmp.entity.rfc3413.oneliner import cmdgen
@@ -40,6 +40,11 @@
"expr": re.compile(r".*Arista Networks EOS.*", re.IGNORECASE),
"priority": 99,
},
+ "allied_telesis_awplus": {
+ "oid": ".1.3.6.1.2.1.1.1.0",
+ "expr": re.compile(r".*AlliedWare Plus.*", re.IGNORECASE),
+ "priority": 99,
+ },
"paloalto_panos": {
"oid": ".1.3.6.1.2.1.1.1.0",
"expr": re.compile(r".*Palo Alto Networks.*", re.IGNORECASE),
@@ -130,6 +135,51 @@
SNMP_MAPPER[device_type] = SNMP_MAPPER_BASE[device_type]
+def identify_address_type(entry: str) -> List[str]:
+ """
+ Return a list containing all ip types found. An empty list means no valid ip were found
+ Parameters
+ ----------
+ entry: str
+ Can be an ipv4, an ipv6 or an FQDN.
+
+ Returns
+ -------
+ list of string: list
+ A list of string 'IPv4' | 'IPv6' which indicates if entry is a valid ipv4 and/or ipv6.
+ """
+ try:
+ socket.inet_pton(socket.AF_INET, entry)
+ return ["IPv4"]
+ except socket.error:
+ pass
+
+ try:
+ socket.inet_pton(socket.AF_INET6, entry)
+ return ["IPv6"]
+ except socket.error:
+ pass
+
+ ip_types = []
+ try:
+ addrinfo = socket.getaddrinfo(entry, None)
+ for info in addrinfo:
+ ip = info[4][0]
+ try:
+ socket.inet_pton(socket.AF_INET, ip)
+ ip_types.append("IPv4")
+ except socket.error:
+ pass
+ try:
+ socket.inet_pton(socket.AF_INET6, ip)
+ ip_types.append("IPv6")
+ except socket.error:
+ pass
+ except socket.gaierror:
+ pass
+ return ip_types
+
+
class SNMPDetect(object):
"""
The SNMPDetect class tries to automatically determine the device type.
@@ -197,7 +247,6 @@
auth_proto: str = "sha",
encrypt_proto: str = "aes128",
) -> None:
-
# Check that the SNMP version is matching predefined type or raise ValueError
if snmp_version == "v1" or snmp_version == "v2c":
if not community:
@@ -245,7 +294,7 @@
self._response_cache: Dict[str, str] = {}
self.snmp_target = (self.hostname, self.snmp_port)
- if ipaddress.ip_address(self.hostname).version == 6:
+ if "IPv6" in identify_address_type(self.hostname):
self.udp_transport_target = cmdgen.Udp6TransportTarget(
self.snmp_target, timeout=1.5, retries=2
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/ssh_autodetect.py new/netmiko-4.3.0/netmiko/ssh_autodetect.py
--- old/netmiko-4.2.0/netmiko/ssh_autodetect.py 2023-05-05 18:30:15.088753700 +0200
+++ new/netmiko-4.3.0/netmiko/ssh_autodetect.py 2023-11-17 18:35:13.620568000 +0100
@@ -64,27 +64,21 @@
"priority": 99,
"dispatch": "_autodetect_std",
},
- "apresia_aeos": {
- "cmd": "show system",
- "search_patterns": ["Apresia"],
- "priority": 99,
- "dispatch": "_autodetect_std",
- },
- "arista_eos": {
+ "allied_telesis_awplus": {
"cmd": "show version",
- "search_patterns": [r"Arista"],
+ "search_patterns": ["AlliedWare Plus"],
"priority": 99,
"dispatch": "_autodetect_std",
},
- "arris_cer": {
- "cmd": "show version",
- "search_patterns": [r"CER"],
+ "apresia_aeos": {
+ "cmd": "show system",
+ "search_patterns": ["Apresia"],
"priority": 99,
"dispatch": "_autodetect_std",
},
- "casa_cmts": {
+ "arista_eos": {
"cmd": "show version",
- "search_patterns": [r"Casa"],
+ "search_patterns": [r"Arista", r"vEOS"],
"priority": 99,
"dispatch": "_autodetect_std",
},
@@ -230,7 +224,9 @@
},
"extreme_slx": {
"cmd": "show version",
- "search_patterns": [r"SLX-OS Operating System Software"],
+ "search_patterns": [
+ r"SLX-OS Operating System",
+ ],
"priority": 99,
"dispatch": "_autodetect_std",
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/ssh_dispatcher.py new/netmiko-4.3.0/netmiko/ssh_dispatcher.py
--- old/netmiko-4.2.0/netmiko/ssh_dispatcher.py 2023-05-05 18:30:15.092754000 +0200
+++ new/netmiko-4.3.0/netmiko/ssh_dispatcher.py 2023-11-17 18:35:13.620568000 +0100
@@ -1,6 +1,7 @@
"""Controls selection of proper class based on the device type."""
from typing import Any, Type, Optional
from typing import TYPE_CHECKING
+import re
from netmiko.exceptions import ConnectionException
from netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException
from netmiko.a10 import A10SSH
@@ -56,6 +57,7 @@
from netmiko.dell import DellPowerConnectSSH
from netmiko.dell import DellPowerConnectTelnet
from netmiko.dell import DellIsilonSSH
+from netmiko.digi import DigiTransportSSH
from netmiko.dlink import DlinkDSTelnet, DlinkDSSSH
from netmiko.eltex import EltexSSH, EltexEsrSSH
from netmiko.endace import EndaceSSH
@@ -77,8 +79,10 @@
from netmiko.extreme import ExtremeWingSSH
from netmiko.f5 import F5TmshSSH
from netmiko.f5 import F5LinuxSSH
+from netmiko.fiberstore import FiberstoreFsosSSH
from netmiko.flexvnf import FlexvnfSSH
from netmiko.fortinet import FortinetSSH
+from netmiko.hillstone import HillstoneStoneosSSH
from netmiko.hp import HPProcurveSSH, HPProcurveTelnet, HPComwareSSH, HPComwareTelnet
from netmiko.huawei import HuaweiSSH, HuaweiVrpv8SSH, HuaweiTelnet
from netmiko.huawei import HuaweiSmartAXSSH
@@ -87,6 +91,8 @@
from netmiko.juniper import JuniperFileTransfer
from netmiko.keymile import KeymileSSH, KeymileNOSSSH
from netmiko.linux import LinuxSSH, LinuxFileTransfer
+from netmiko.maipu import MaipuSSH
+from netmiko.maipu import MaipuTelnet
from netmiko.mikrotik import MikrotikRouterOsSSH, MikrotikRouterOsFileTransfer
from netmiko.mikrotik import MikrotikSwitchOsSSH
from netmiko.mellanox import MellanoxMlnxosSSH
@@ -131,7 +137,7 @@
from netmiko.supermicro import SmciSwitchSmisSSH
from netmiko.supermicro import SmciSwitchSmisTelnet
from netmiko.zyxel import ZyxelSSH
-from netmiko.hillstone import HillstoneStoneosSSH
+
if TYPE_CHECKING:
from netmiko.base_connection import BaseConnection
@@ -196,6 +202,7 @@
"dell_powerconnect": DellPowerConnectSSH,
"dell_isilon": DellIsilonSSH,
"dlink_ds": DlinkDSSSH,
+ "digi_transport": DigiTransportSSH,
"endace": EndaceSSH,
"eltex": EltexSSH,
"eltex_esr": EltexEsrSSH,
@@ -216,6 +223,7 @@
"f5_ltm": F5TmshSSH,
"f5_tmsh": F5TmshSSH,
"f5_linux": F5LinuxSSH,
+ "fiberstore_fsos": FiberstoreFsosSSH,
"flexvnf": FlexvnfSSH,
"fortinet": FortinetSSH,
"generic": GenericSSH,
@@ -260,6 +268,7 @@
"supermicro_smis": SmciSwitchSmisSSH,
"teldat_cit": TeldatCITSSH,
"tplink_jetstream": TPLinkJetStreamSSH,
+ # ubiquiti_airos - Placeholder agreed to with NTC (if this driver is created in future)
"ubiquiti_edge": UbiquitiEdgeSSH,
"ubiquiti_edgerouter": UbiquitiEdgeRouterSSH,
"ubiquiti_edgeswitch": UbiquitiEdgeSSH,
@@ -270,6 +279,7 @@
"zte_zxros": ZteZxrosSSH,
"yamaha": YamahaSSH,
"zyxel_os": ZyxelSSH,
+ "maipu": MaipuSSH,
}
FILE_TRANSFER_MAP = {
@@ -347,6 +357,7 @@
CLASS_MAPPER["tplink_jetstream_telnet"] = TPLinkJetStreamTelnet
CLASS_MAPPER["yamaha_telnet"] = YamahaTelnet
CLASS_MAPPER["zte_zxros_telnet"] = ZteZxrosTelnet
+CLASS_MAPPER["maipu_telnet"] = MaipuTelnet
# Add serial drivers
CLASS_MAPPER["cisco_ios_serial"] = CiscoIosSerial
@@ -388,6 +399,24 @@
return ConnectionClass(*args, **kwargs)
+def TelnetFallback(*args: Any, **kwargs: Any) -> "BaseConnection":
+ """If an SSH connection fails, try to fallback to Telnet."""
+ try:
+ return ConnectHandler(*args, **kwargs)
+ except (NetmikoTimeoutException, ConnectionRefusedError):
+ device_type = kwargs["device_type"]
+ # platforms_str is the base form (i.e. does not have the '_ssh' suffix)
+ if device_type in platforms_str:
+ alternative_device = f"{device_type}_telnet"
+ elif "_ssh" in device_type:
+ alternative_device = re.sub("_ssh", "_telnet", device_type)
+
+ if alternative_device in platforms:
+ kwargs["device_type"] = alternative_device
+ return ConnectHandler(*args, **kwargs)
+ raise
+
+
def ConnLogOnly(
log_file: str = "netmiko.log",
log_level: Optional[int] = None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/telnet_proxy.py new/netmiko-4.3.0/netmiko/telnet_proxy.py
--- old/netmiko-4.2.0/netmiko/telnet_proxy.py 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/netmiko/telnet_proxy.py 2023-11-17 18:35:13.624568200 +0100
@@ -0,0 +1,61 @@
+from typing import Dict, Any, Optional
+import socket
+import telnetlib
+
+try:
+ import socks
+
+ SOCKS_SUPPORTED = True
+except ModuleNotFoundError:
+ SOCKS_SUPPORTED = False
+
+
+class Telnet(telnetlib.Telnet):
+ def __init__(
+ self,
+ host: Optional[str] = None,
+ port: int = 0,
+ timeout: float = socket._GLOBAL_DEFAULT_TIMEOUT, # type: ignore
+ proxy_dict: Optional[Dict[str, Any]] = None,
+ ) -> None:
+ self.proxy_dict = proxy_dict
+ super().__init__(host=host, port=port, timeout=timeout)
+
+ def open(
+ self,
+ host: str,
+ port: int = 0,
+ timeout: float = socket._GLOBAL_DEFAULT_TIMEOUT, # type: ignore
+ ) -> None:
+ """
+ Connect to a host.
+ The optional second argument is the port number, which
+ defaults to the standard telnet port (23).
+
+ Don't try to reopen an already connected instance.
+
+ proxy_dict = {
+ 'proxy_type': socks.SOCKS5,
+ 'proxy_addr': hostname,
+ 'proxy_port': port,
+ 'proxy_username': username,
+ 'proxy_password': password
+ }
+ """
+ self.eof = 0
+ if not port:
+ port = telnetlib.TELNET_PORT
+ self.host = host
+ self.port = port
+ self.timeout = timeout
+
+ if SOCKS_SUPPORTED:
+ self.sock = socks.create_connection(
+ (host, port), timeout, **self.proxy_dict
+ )
+ else:
+ msg = """
+In order to use the telnet socks proxy, you must 'pip install pysocks'. Note, pysocks is
+unmaintained (so use at your own risk).
+"""
+ raise ModuleNotFoundError(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/tplink/tplink_jetstream.py new/netmiko-4.3.0/netmiko/tplink/tplink_jetstream.py
--- old/netmiko-4.2.0/netmiko/tplink/tplink_jetstream.py 2023-05-05 18:30:15.092754000 +0200
+++ new/netmiko-4.3.0/netmiko/tplink/tplink_jetstream.py 2023-11-17 18:35:13.624568200 +0100
@@ -21,15 +21,12 @@
return super().__init__(**kwargs)
def session_preparation(self) -> None:
- """
- Prepare the session after the connection has been established.
- """
delay_factor = self.select_delay_factor(delay_factor=0)
time.sleep(0.3 * delay_factor)
- self.clear_buffer()
self._test_channel_read(pattern=r"[>#]")
self.set_base_prompt()
self.enable()
+ self.set_base_prompt()
self.disable_paging()
# Clear the read buffer
time.sleep(0.3 * self.global_delay_factor)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/utilities.py new/netmiko-4.3.0/netmiko/utilities.py
--- old/netmiko-4.2.0/netmiko/utilities.py 2022-08-09 23:16:34.350460500 +0200
+++ new/netmiko-4.3.0/netmiko/utilities.py 2023-11-17 18:35:13.624568200 +0100
@@ -499,7 +499,7 @@
)
raise ValueError(msg)
- if "cisco" not in platform:
+ if "cisco" not in platform and "linux" not in platform:
return raw_output
genie_device_mapper = {
@@ -508,6 +508,9 @@
"cisco_xr": "iosxr",
"cisco_nxos": "nxos",
"cisco_asa": "asa",
+ "linux": "linux",
+ "f5_linux": "linux",
+ "ovs_linux": "linux",
}
os = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/netmiko/vyos/vyos_ssh.py new/netmiko-4.3.0/netmiko/vyos/vyos_ssh.py
--- old/netmiko-4.2.0/netmiko/vyos/vyos_ssh.py 2022-08-09 23:16:34.350460500 +0200
+++ new/netmiko-4.3.0/netmiko/vyos/vyos_ssh.py 2023-11-17 18:35:13.624568200 +0100
@@ -136,9 +136,11 @@
self, cmd: str = "save", confirm: bool = False, confirm_response: str = ""
) -> str:
"""Saves Config."""
- output = super().save_config(
+ output = self.config_mode()
+ output += super().save_config(
cmd=cmd, confirm=confirm, confirm_response=confirm_response
)
+ output += self.exit_config_mode()
if "Done" not in output:
raise ValueError(f"Save failed with following errors:\n\n{output}")
return output
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/pyproject.toml new/netmiko-4.3.0/pyproject.toml
--- old/netmiko-4.2.0/pyproject.toml 2023-05-05 18:30:15.100753800 +0200
+++ new/netmiko-4.3.0/pyproject.toml 2023-11-17 18:35:13.628568200 +0100
@@ -4,7 +4,7 @@
[tool.poetry]
name = "netmiko"
-version = "4.2.0"
+version = "4.3.0"
description = "Multi-vendor library to simplify legacy CLI connections to network devices"
authors = ["Kirk Byers <ktbyers(a)twb-tech.com>"]
license = "MIT"
@@ -12,15 +12,15 @@
repository = "https://github.com/ktbyers/netmiko"
classifiers = [
"License :: OSI Approved :: MIT License",
- "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",
]
[tool.poetry.dependencies]
-python = ">=3.7,<4.0"
+python = ">=3.8,<4.0"
paramiko = ">=2.9.5"
scp = ">=0.13.6"
pyyaml = ">=5.3"
@@ -32,7 +32,7 @@
black = "22.3.0"
mypy = "1.0.0"
mypy-extensions = "1.0.0"
-PyYAML = "5.4.1"
+PyYAML = "6.0.1"
pytest = "7.1.2"
# Issue with build failure on pyflakes 2.5.0
pyflakes = "2.4.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netmiko-4.2.0/setup.py new/netmiko-4.3.0/setup.py
--- old/netmiko-4.2.0/setup.py 1970-01-01 01:00:00.000000000 +0100
+++ new/netmiko-4.3.0/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -28,6 +28,7 @@
'netmiko.cloudgenix',
'netmiko.coriant',
'netmiko.dell',
+ 'netmiko.digi',
'netmiko.dlink',
'netmiko.eltex',
'netmiko.endace',
@@ -35,6 +36,7 @@
'netmiko.ericsson',
'netmiko.extreme',
'netmiko.f5',
+ 'netmiko.fiberstore',
'netmiko.flexvnf',
'netmiko.fortinet',
'netmiko.hillstone',
@@ -44,6 +46,7 @@
'netmiko.juniper',
'netmiko.keymile',
'netmiko.linux',
+ 'netmiko.maipu',
'netmiko.mellanox',
'netmiko.mikrotik',
'netmiko.mrv',
@@ -90,9 +93,9 @@
setup_kwargs = {
'name': 'netmiko',
- 'version': '4.2.0',
+ 'version': '4.3.0',
'description': 'Multi-vendor library to simplify legacy CLI connections to network devices',
- 'long_description': '[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/netmiko.svg)](https://img.s… contributors](https://img.shields.io/github/contributors/ktbyers/netmiko.sv… Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https:/…<img src="https://ktbyers.github.io/netmiko/images/netmiko_logo_gh.png" width="320">\n\nNetmiko\n=======\n\nMulti-vendor library to simplify CLI connections to network devices\n\n<br />\n\n## Why Netmiko?\nNetwork automation to screen-scraping devices is primarily concerned with gathering output from show commands and with making configuration changes.\n\nNetmiko aims to accomplish both of these operations a
nd to do it across a very broad set of platforms. It seeks to do this while abstracting away low-level state control (i.e. eliminate low-level regex pattern matching to the extent practical).\n\n<br />\n\n## Getting Started\n- [Getting Started](#getting-started-1)\n\n<br />\n\n## Examples\n*You really should look here.*\n\n- [Netmiko Examples](https://github.com/ktbyers/netmiko/blob/develop/EXAMPLES.md)\n\n<br />\n\n\n## Supported Platforms\n\n[PLATFORMS](PLATFORMS.md)\n\n<br />\n\n\n## Installation\n\nTo install netmiko, simply us pip:\n\n```\n$ pip install netmiko\n```\n\n<br />\n\n## API-Documentation\n\n[API-Documentation](https://ktbyers.github.io/netmiko/docs/netmiko/index.html)\n\n<br />\n\n## Common Issues/FAQ\n\nAnswers to some [common questions](COMMON_ISSUES.md)\n\n<br />\n\n### Tutorials\n\n- [Netmiko Overview](https://pynet.twb-tech.com/blog/automation/netmiko.html)\n- [Secure Copy](https://pynet.twb-tech.com/blog/automation/netmiko-scp.html)\n- [Netmiko through SSH Pro
xy](https://pynet.twb-tech.com/blog/automation/netmiko-proxy.html)\n- [Netmiko and TextFSM](https://pynet.twb-tech.com/blog/automation/netmiko-textfsm.html)\n- [Netmiko and what constitutes done](https://pynet.twb-tech.com/blog/automation/netmiko-what-is-done.html)…<br />\n\n### Getting Started:\n\n#### Create a dictionary representing the device.\n\nSupported device_types can be found in [ssh_dispatcher.py](https://github.com/ktbyers/netmiko/blob/master/netmiko/s…, see CLASS_MAPPER keys.\n```py\nfrom netmiko import ConnectHandler\n\ncisco_881 = {\n \'device_type\': \'cisco_ios\',\n \'host\': \'10.10.10.10\',\n \'username\': \'test\',\n \'password\': \'password\',\n \'port\' : 8022, # optional, defaults to 22\n \'secret\': \'secret\', # optional, defaults to \'\'\n}\n\n```\n\n#### Establish an SSH connection to the device by passing in the device dictionary.\n\n```py\nnet_connect = ConnectHandler(**cisco_881)\n```\n\n#### Execute s
how commands.\n\n```py\noutput = net_connect.send_command(\'show ip int brief\')\nprint(output)\n```\n```\nInterface IP-Address OK? Method Status Protocol\nFastEthernet0 unassigned YES unset down down\nFastEthernet1 unassigned YES unset down down\nFastEthernet2 unassigned YES unset down down\nFastEthernet3 unassigned YES unset down down\nFastEthernet4 10.10.10.10 YES manual up up\nVlan1 unassigned YES unset down down\n```\n\n#### Execute configuration change commands (will automatically enter into config mode)\n\n```py\nconfig_commands = [ \'logging buffered 20000\',\n \'logging buffered 20010\',\n \'no logging console\' ]\noutput = net_connect.send_config_set(config_commands)\nprint(outpu
t)\n```\n```\npynet-rtr1#config term\nEnter configuration commands, one per line. End with CNTL/Z.\npynet-rtr1(config)#logging buffered 20000\npynet-rtr1(config)#logging buffered 20010\npynet-rtr1(config)#no logging console\npynet-rtr1(config)#end\npynet-rtr1#\n```\n\n<br />\n\n## API-Documentation\n\n<a href="https://ktbyers.github.io/netmiko/docs/netmiko/index.html" title="Docs">API Documentation</a>\n\nBelow are some of the particularly handy Classes/functions for easy reference:\n- [Base Connection Object](https://ktbyers.github.io/netmiko/docs/netmiko/base_connection.html)\n- [SSH Autodetect](https://ktbyers.github.io/netmiko/docs/netmiko/index.html#netmiko.SSHDetect)\n- [SSH Dispatcher](https://ktbyers.github.io/netmiko/docs/netmiko/index.html#netmiko.ssh_dispatcher)\n- [Redispatch](https://ktbyers.github.io/netmiko/docs/netmiko/index.html#netmiko.redispatch)\n\n<br />\n\n## Contributing\n\nContributors are welcome.\n\nYou can contribute to Netmiko in a variety of ways: answe
ring questions on Slack (see below in Questions/Discussions), responding to issues, adding to the common issues, reporting/fixing bugs, or even adding your own device type.\n\nBefore contributing a new vendor/platform device type, remember that any code added needs to be supported in some fashion. To add a vendor/platform you can follow the outline [here](VENDOR.md). Once you\'ve worked on your first pass of your driver and have it functional, you\'ll need to include test data in order for it to be merged into develop, you can see the general flow of how to do that [here](TESTING.md).\n\nFor all code contributions, please ensure that you have ran `black` against the code or your code will fail the Travis CI build.\n\n<br />\n\n## Questions/Discussion\n\nIf you find an issue with Netmiko, then you can open an issue on this projects issue page here: [https://github.com/ktbyers/netmiko/issues](https://github.com/ktbyers/netmi…. Please make sure you\'ve read through the common
issues and examples prior to opening an issue. Please only open issues for bugs, feature requests, or other topics related to development of Netmiko. If you simply have a question, join us on Slack...\n\nIf you have questions or would like to discuss Netmiko, a #netmiko channel exists in [this Slack](https://pynet.slack.com) workspace. To join, use [this invitation](https://join.slack.com/t/pynet/shared_invite/zt-km2k3upf-AkWHY4…. Once you have entered the workspace, then you can join the #netmiko channel.\n\n\n---\nKirk Byers \nPython for Network Engineers \nhttps://pynet.twb-tech.com \n',
+ 'long_description': '[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/netmiko.svg)](https://img.s… contributors](https://img.shields.io/github/contributors/ktbyers/netmiko.sv… Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https:/…<img src="https://ktbyers.github.io/netmiko/images/netmiko_logo_gh.png" width="320">\n\nNetmiko\n=======\n\nMulti-vendor library to simplify CLI connections to network devices\n\n<br />\n\n## Contributing to Netmiko\n\n[CONTRIBUTING.md](https://github.com/ktbyers/netmiko/blob/develo…<br />\n\n## Why Netmiko?\nNetwork automation to screen-scraping devices is primarily concerne
d with gathering output from show commands and with making configuration changes.\n\nNetmiko aims to accomplish both of these operations and to do it across a very broad set of platforms. It seeks to do this while abstracting away low-level state control (i.e. eliminate low-level regex pattern matching to the extent practical).\n\n<br />\n\n## Getting Started\n- [Getting Started](#getting-started-1)\n\n<br />\n\n## Examples\n*You really should look here.*\n\n- [Netmiko Examples](https://github.com/ktbyers/netmiko/blob/develop/EXAMPLES.md)\n\n<br />\n\n\n## Supported Platforms\n\n[PLATFORMS](PLATFORMS.md)\n\n<br />\n\n\n## Installation\n\nTo install netmiko, simply us pip:\n\n```\n$ pip install netmiko\n```\n\n<br />\n\n## API-Documentation\n\n[API-Documentation](https://ktbyers.github.io/netmiko/docs/netmiko/index.html)\n\n<br />\n\n## Common Issues/FAQ\n\nAnswers to some [common questions](COMMON_ISSUES.md)\n\n<br />\n\n### Tutorials\n\n- [Netmiko Overview](https://pynet.twb-tech.c
om/blog/automation/netmiko.html)\n- [Secure Copy](https://pynet.twb-tech.com/blog/automation/netmiko-scp.html)\n- [Netmiko through SSH Proxy](https://pynet.twb-tech.com/blog/automation/netmiko-proxy.html)\n- [Netmiko and TextFSM](https://pynet.twb-tech.com/blog/automation/netmiko-textfsm.html)\n- [Netmiko and what constitutes done](https://pynet.twb-tech.com/blog/automation/netmiko-what-is-done.html)…<br />\n\n### Getting Started:\n\n#### Create a dictionary representing the device.\n\nSupported device_types can be found in [ssh_dispatcher.py](https://github.com/ktbyers/netmiko/blob/master/netmiko/s…, see CLASS_MAPPER keys.\n```py\nfrom netmiko import ConnectHandler\n\ncisco_881 = {\n \'device_type\': \'cisco_ios\',\n \'host\': \'10.10.10.10\',\n \'username\': \'test\',\n \'password\': \'password\',\n \'port\' : 8022, # optional, defaults to 22\n \'secret\': \'secret\', # optional, defaults to \'\'\n}\n\n```\n\n#### Establish an SS
H connection to the device by passing in the device dictionary.\n\n```py\nnet_connect = ConnectHandler(**cisco_881)\n```\n\n#### Execute show commands.\n\n```py\noutput = net_connect.send_command(\'show ip int brief\')\nprint(output)\n```\n```\nInterface IP-Address OK? Method Status Protocol\nFastEthernet0 unassigned YES unset down down\nFastEthernet1 unassigned YES unset down down\nFastEthernet2 unassigned YES unset down down\nFastEthernet3 unassigned YES unset down down\nFastEthernet4 10.10.10.10 YES manual up up\nVlan1 unassigned YES unset down down\n```\n\n#### Execute configuration change commands (will automatically enter into config mode)\n\n```py\nconfig_commands = [ \'logging buffered 20000\',\n \'l
ogging buffered 20010\',\n \'no logging console\' ]\noutput = net_connect.send_config_set(config_commands)\nprint(output)\n```\n```\npynet-rtr1#config term\nEnter configuration commands, one per line. End with CNTL/Z.\npynet-rtr1(config)#logging buffered 20000\npynet-rtr1(config)#logging buffered 20010\npynet-rtr1(config)#no logging console\npynet-rtr1(config)#end\npynet-rtr1#\n```\n\n<br />\n\n## API-Documentation\n\n<a href="https://ktbyers.github.io/netmiko/docs/netmiko/index.html" title="Docs">API Documentation</a>\n\nBelow are some of the particularly handy Classes/functions for easy reference:\n- [Base Connection Object](https://ktbyers.github.io/netmiko/docs/netmiko/base_connection.html)\n- [SSH Autodetect](https://ktbyers.github.io/netmiko/docs/netmiko/index.html#netmiko.SSHDetect)\n- [SSH Dispatcher](https://ktbyers.github.io/netmiko/docs/netmiko/index.html#netmiko.ssh_dispatcher)\n- [Redispatch](https://ktbyers.github.io/netmiko/docs/netmiko/index.html#
netmiko.redispatch)\n\n<br />\n\n## Contributing\n\nContributors are welcome.\n\nYou can contribute to Netmiko in a variety of ways: answering questions on Slack (see below in Questions/Discussions), responding to issues, adding to the common issues, reporting/fixing bugs, or even adding your own device type.\n\nBefore contributing a new vendor/platform device type, remember that any code added needs to be supported in some fashion. To add a vendor/platform you can follow the outline [here](VENDOR.md). Once you\'ve worked on your first pass of your driver and have it functional, you\'ll need to include test data in order for it to be merged into develop, you can see the general flow of how to do that [here](TESTING.md).\n\nFor all code contributions, please ensure that you have ran `black` against the code or your code will fail the Travis CI build.\n\n<br />\n\n## Questions/Discussion\n\nIf you find an issue with Netmiko, then you can open an issue on this projects issue page here:
[https://github.com/ktbyers/netmiko/issues](https://github.com/ktbyers/netmi…. Please make sure you\'ve read through the common issues and examples prior to opening an issue. Please only open issues for bugs, feature requests, or other topics related to development of Netmiko. If you simply have a question, join us on Slack...\n\nIf you have questions or would like to discuss Netmiko, a #netmiko channel exists in [this Slack](https://pynet.slack.com) workspace. To join, use [this invitation](https://join.slack.com/t/pynet/shared_invite/zt-km2k3upf-AkWHY4…. Once you have entered the workspace, then you can join the #netmiko channel.\n\n\n---\nKirk Byers \nPython for Network Engineers \nhttps://pynet.twb-tech.com \n',
'author': 'Kirk Byers',
'author_email': 'ktbyers(a)twb-tech.com',
'maintainer': 'None',
@@ -102,7 +105,7 @@
'package_data': package_data,
'install_requires': install_requires,
'entry_points': entry_points,
- 'python_requires': '>=3.7,<4.0',
+ 'python_requires': '>=3.8,<4.0',
}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-npTDMS for openSUSE:Factory checked in at 2023-12-12 19:32:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-npTDMS (Old)
and /work/SRC/openSUSE:Factory/.python-npTDMS.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-npTDMS"
Tue Dec 12 19:32:42 2023 rev:4 rq:1132681 version:1.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-npTDMS/python-npTDMS.changes 2021-04-22 18:05:48.070678887 +0200
+++ /work/SRC/openSUSE:Factory/.python-npTDMS.new.25432/python-npTDMS.changes 2023-12-12 19:33:10.950569522 +0100
@@ -1,0 +2,37 @@
+Tue Dec 12 13:35:08 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.7.1:
+ * Minor release that fixes the API documentation not being
+ built correctly
+- update to 1.7.0:
+ * Ensure root and group objects required are written
+- update to 1.6.2:
+ * Fix deprecation warnings when installing
+ * Handle invalid UTF-8 encoded strings
+- update to 1.6.1:
+ * Fixes numpy bool8 deprecation warning.
+- update to 1.6.0:
+ * Support writing tdms_index files and directly reading
+ tdms_index files
+ * Add TdmsWriter.defragment method for rewriting a TDMS file
+ * Drop support for Python 2.7 and 3.6
+- update to 1.5.0:
+ * ## What's Changed
+ * Support all remaining strain gauge configurations
+ * Add option to specify the TDMS format version to write
+ * Fix reading files with truncated metadata in the final
+ segment
+ * Support IPython auto-completion for group and channel names
+- update to 1.4.0:
+ * Improve performance reading data into numpy arrays
+ * Fix getting channel time track when using raw timestamps
+ * Fix numpy deprecation warnings
+- update to 1.3.1:
+ * Bug fix to handle when the first segment does not have
+ kTocNewObjList set
+- update to 1.3.0:
+ * Handle segments containing data for a single string channel
+ with the interleaved flag set
+ * Improve handling of incomplete segment data
+
+-------------------------------------------------------------------
Old:
----
npTDMS-1.2.0.tar.gz
New:
----
npTDMS-1.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-npTDMS.spec ++++++
--- /var/tmp/diff_new_pack.sBMGMS/_old 2023-12-12 19:33:11.386585609 +0100
+++ /var/tmp/diff_new_pack.sBMGMS/_new 2023-12-12 19:33:11.386585609 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-npTDMS
#
-# 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
@@ -20,7 +20,7 @@
%define skip_python2 1
%define skip_python36 1
Name: python-npTDMS
-Version: 1.2.0
+Version: 1.7.1
Release: 0
Summary: Python module for reading TDMS files produced by LabView
License: LGPL-3.0-only
++++++ npTDMS-1.2.0.tar.gz -> npTDMS-1.7.1.tar.gz ++++++
++++ 3675 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-particle for openSUSE:Factory checked in at 2023-12-12 19:32:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-particle (Old)
and /work/SRC/openSUSE:Factory/.python-particle.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-particle"
Tue Dec 12 19:32:40 2023 rev:17 rq:1132678 version:0.23.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-particle/python-particle.changes 2023-07-12 17:27:04.546398000 +0200
+++ /work/SRC/openSUSE:Factory/.python-particle.new.25432/python-particle.changes 2023-12-12 19:33:09.474515061 +0100
@@ -1,0 +2,7 @@
+Tue Dec 12 13:25:58 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.23.1:
+ * Modernisation of Ruff configuration in pyproject.toml.
+ * Updates to pre-commit hooks and CI YAML files.
+
+-------------------------------------------------------------------
Old:
----
particle-0.23.0.tar.gz
New:
----
particle-0.23.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-particle.spec ++++++
--- /var/tmp/diff_new_pack.AwcaVG/_old 2023-12-12 19:33:09.922531591 +0100
+++ /var/tmp/diff_new_pack.AwcaVG/_new 2023-12-12 19:33:09.922531591 +0100
@@ -20,7 +20,7 @@
%define skip_python2 1
%define skip_python36 1
Name: python-particle
-Version: 0.23.0
+Version: 0.23.1
Release: 0
Summary: PDG particle data and identification codes
License: BSD-3-Clause
++++++ particle-0.23.0.tar.gz -> particle-0.23.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/.github/workflows/cd.yml new/particle-0.23.1/.github/workflows/cd.yml
--- old/particle-0.23.0/.github/workflows/cd.yml 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/.github/workflows/cd.yml 2020-02-02 01:00:00.000000000 +0100
@@ -14,7 +14,7 @@
dist:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -32,7 +32,7 @@
name: ZipApp
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/.github/workflows/ci.yml new/particle-0.23.1/.github/workflows/ci.yml
--- old/particle-0.23.0/.github/workflows/ci.yml 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/.github/workflows/ci.yml 2020-02-02 01:00:00.000000000 +0100
@@ -7,12 +7,15 @@
branches:
- master
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v4
@@ -41,7 +44,7 @@
- {os: windows-latest, python-version: '3.11'}
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -64,13 +67,13 @@
- name: Test docstrings with doctest
if: "runner.os == 'Linux' && matrix.python-version == 3.11"
- run: python -m pytest --doctest-modules src/particle --ignore-glob="src/particle/particle/convert.py"
+ run: python -m pytest --doctest-modules src/particle --ignore=src/particle/particle/convert.py
notebooks:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -92,7 +95,7 @@
name: ZipApp
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/.pre-commit-config.yaml new/particle-0.23.1/.pre-commit-config.yaml
--- old/particle-0.23.0/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100
@@ -4,7 +4,7 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.4.0
+ rev: v4.5.0
hooks:
- id: check-added-large-files
args: ['--maxkb=1000']
@@ -18,27 +18,24 @@
- id: debug-statements
- id: end-of-file-fixer
-- repo: https://github.com/psf/black
- rev: 23.3.0
- hooks:
- - id: black-jupyter
-
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: "v0.0.276"
+ rev: "v0.1.6"
hooks:
- id: ruff
args: ["--fix", "--show-fixes"]
+ - id: ruff-format
+ types_or: [python, pyi, jupyter]
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: v1.4.1
+ rev: v1.7.1
hooks:
- id: mypy
files: src
- additional_dependencies: [attrs==21.4.0, hepunits>=2.2.0, importlib_resources, types-deprecated]
+ additional_dependencies: [attrs==21.4.0, hepunits>=2.2.0, importlib_resources]
args: [--show-error-codes]
- repo: https://github.com/codespell-project/codespell
- rev: v2.2.5
+ rev: v2.2.6
hooks:
- id: codespell
exclude: ^(src/particle/data/.*\.csv|src/particle/data/.*\.fwf)$
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/PKG-INFO new/particle-0.23.1/PKG-INFO
--- old/particle-0.23.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: particle
-Version: 0.23.0
+Version: 0.23.1
Summary: Extended PDG particle data and MC identification codes
Project-URL: Homepage, https://github.com/scikit-hep/particle
Author-email: Eduardo Rodrigues <eduardo.rodrigues(a)cern.ch>, Henry Schreiner <henryfs(a)princeton.edu>
@@ -23,10 +23,9 @@
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.7
Requires-Dist: attrs>=19.2
-Requires-Dist: deprecated
Requires-Dist: hepunits>=2.0.0
Requires-Dist: importlib-resources>=2.0; python_version < '3.9'
-Requires-Dist: typing-extensions; python_version < '3.8'
+Requires-Dist: typing-extensions>=4.5; python_version < '3.13'
Provides-Extra: dev
Requires-Dist: pandas; extra == 'dev'
Requires-Dist: pytest-benchmark; extra == 'dev'
@@ -49,7 +48,7 @@
|Scikit-HEP| |PyPI version| |Conda-forge version| |Zenodo DOI|
-|GitHub Actions Status: CI| |Code Coverage| |Code style: black|
+|GitHub Actions Status: CI| |Code Coverage|
|Binder|
@@ -452,7 +451,7 @@
Getting started: experiment-specific modules
--------------------------------------------
-Experiment-specific submodules are welcome if they tie in nicely with the functionality of the package while prodiving
+Experiment-specific submodules are welcome if they tie in nicely with the functionality of the package while providing
add-ons of particular relevance to experiments.
LHCb-specific module
@@ -531,8 +530,5 @@
.. |Code Coverage| image:: https://codecov.io/gh/scikit-hep/particle/graph/badge.svg?branch=master
:target: https://codecov.io/gh/scikit-hep/particle?branch=master
-.. |Code style: black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
- :target: https://github.com/psf/black
-
.. |Binder| image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/scikit-hep/particle/master?urlpath=lab/tree/note…
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/README.rst new/particle-0.23.1/README.rst
--- old/particle-0.23.0/README.rst 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/README.rst 2020-02-02 01:00:00.000000000 +0100
@@ -7,7 +7,7 @@
|Scikit-HEP| |PyPI version| |Conda-forge version| |Zenodo DOI|
-|GitHub Actions Status: CI| |Code Coverage| |Code style: black|
+|GitHub Actions Status: CI| |Code Coverage|
|Binder|
@@ -410,7 +410,7 @@
Getting started: experiment-specific modules
--------------------------------------------
-Experiment-specific submodules are welcome if they tie in nicely with the functionality of the package while prodiving
+Experiment-specific submodules are welcome if they tie in nicely with the functionality of the package while providing
add-ons of particular relevance to experiments.
LHCb-specific module
@@ -489,8 +489,5 @@
.. |Code Coverage| image:: https://codecov.io/gh/scikit-hep/particle/graph/badge.svg?branch=master
:target: https://codecov.io/gh/scikit-hep/particle?branch=master
-.. |Code style: black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
- :target: https://github.com/psf/black
-
.. |Binder| image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/scikit-hep/particle/master?urlpath=lab/tree/note…
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/admin/dump_pdgid_to_corsika7.py new/particle-0.23.1/admin/dump_pdgid_to_corsika7.py
--- old/particle-0.23.0/admin/dump_pdgid_to_corsika7.py 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/admin/dump_pdgid_to_corsika7.py 2020-02-02 01:00:00.000000000 +0100
@@ -157,7 +157,7 @@
"""
# Loop over all thinkable values and only add them if the PDG ID exists
for a in range(2, 56 + 1):
- for z in range(0, a + 1):
+ for z in range(a + 1):
corsikaid = a * 100 + z
with contextlib.suppress(ParticleNotFound):
corsica_pdg_id.append(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/docs/CHANGELOG.md new/particle-0.23.1/docs/CHANGELOG.md
--- old/particle-0.23.0/docs/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/docs/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,16 @@
Changelog
=========
+Version 0.23.1
+--------------
+
+December 1st, 2023
+
+- Miscellaneous:
+ - Modernisation of Ruff configuration in pyproject.toml.
+- CI and tests:
+ - Updates to pre-commit hooks and CI YAML files.
+
Version 0.23.0
--------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/pyproject.toml new/particle-0.23.1/pyproject.toml
--- old/particle-0.23.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
@@ -43,8 +43,7 @@
"attrs>=19.2",
"hepunits>=2.0.0",
"importlib-resources>=2.0;python_version<\"3.9\"",
- "typing-extensions;python_version<\"3.8\"",
- "deprecated"
+ "typing-extensions>=4.5;python_version<\"3.13\"",
]
dynamic = ["version"]
@@ -78,7 +77,6 @@
python_version = "3.9"
files = "src"
strict = true
-show_error_codes = true
warn_unreachable = true
enable_error_code = [
"ignore-without-code",
@@ -99,6 +97,7 @@
testpaths = ["tests"]
junit_family = "xunit2"
log_cli_level = "info"
+xfail_strict = true
addopts = [
"--benchmark-disable",
"-ra",
@@ -144,9 +143,11 @@
[tool.ruff]
-select = [
- "E", "F", "W", # flake8
- "B", "B904", # flake8-bugbear
+src = ["src"]
+
+[tool.ruff.lint]
+extend-select = [
+ "B", # flake8-bugbear
"I", # isort
"ARG", # flake8-unused-arguments
"C4", # flake8-comprehensions
@@ -164,23 +165,23 @@
"YTT", # flake8-2020
]
ignore = [
- "B905",
- "E402",
- "E501",
- "RUF001", # Ambiguous unicode
- "RUF002", # Ambiguous unicode docstring
- "PLR", # Design related pylint codes
- "PT013", # Importing approx from pytest is fine
-]
-src = ["src"]
-unfixable = [
- "T20", # Removes print statements
- "F841", # Removes unused variables
+ "RUF001", # Ambiguous unicode
+ "RUF002", # Ambiguous unicode docstring
+ "PLR2004", # Magic value used in comparison
+ "PLR09", # Too many X
+ "ISC001", # Conflicts with the formatter
+ "E741", # Ambiguous variable name
]
isort.required-imports = ["from __future__ import annotations"]
+mccabe.max-complexity = 24
-[tool.ruff.mccabe]
-max-complexity = 24
-
-[tool.ruff.per-file-ignores]
+[tool.ruff.lint.per-file-ignores]
"src/particle/__main__.py" = ["T20"]
+"tests/**.py" = [
+ "PT013", # Importing approx from pytest is fine
+ "E402", # Module level import not at top of file (doesn't recognise pytest.importorskip)
+]
+
+
+[tool.repo-review]
+ignore = ["RTD"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/src/particle/__init__.py new/particle-0.23.1/src/particle/__init__.py
--- old/particle-0.23.0/src/particle/__init__.py 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/src/particle/__init__.py 2020-02-02 01:00:00.000000000 +0100
@@ -13,7 +13,17 @@
# Direct access to Particle literals
# Direct access to Particle (the CSV file is not read until a particle is accessed)
-from .particle import InvalidParticle, Particle, ParticleNotFound, literals
+# Direct access to handy LaTeX to HTML particle name conversions
+# Direct access to kinematics functions
+from .particle import (
+ InvalidParticle,
+ Particle,
+ ParticleNotFound,
+ latex_to_html_name,
+ lifetime_to_width,
+ literals,
+ width_to_lifetime,
+)
from .particle.enums import Charge, Inv, Parity, SpinType, Status
# Direct access to PDGID and other ID classes
@@ -23,12 +33,9 @@
# Convenient access to the version number
from .version import version as __version__
+# Literals direct access
sys.modules["particle.literals"] = literals
-# Direct access to handy LaTeX to HTML particle name conversions
-# Direct access to kinematics functions
-from .particle import latex_to_html_name, lifetime_to_width, width_to_lifetime
-
__all__ = (
"Charge",
"Corsika7ID",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/src/particle/_compat/typing.py new/particle-0.23.1/src/particle/_compat/typing.py
--- old/particle-0.23.0/src/particle/_compat/typing.py 1970-01-01 01:00:00.000000000 +0100
+++ new/particle-0.23.1/src/particle/_compat/typing.py 2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,28 @@
+# Copyright (c) 2018-2023, Eduardo Rodrigues and Henry Schreiner.
+#
+# Distributed under the 3-clause BSD license, see accompanying file LICENSE
+# or https://github.com/scikit-hep/particle for details.
+
+
+from __future__ import annotations
+
+import sys
+
+if sys.version_info < (3, 8):
+ from typing_extensions import Protocol, runtime_checkable
+else:
+ from typing import Protocol, runtime_checkable
+
+if sys.version_info < (3, 9):
+ from importlib_resources.abc import Traversable
+elif sys.version_info < (3, 11):
+ from importlib.abc import Traversable
+else:
+ from importlib.resources.abc import Traversable
+
+
+__all__ = (
+ "Protocol",
+ "runtime_checkable",
+ "Traversable",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/src/particle/_compat/warnings.py new/particle-0.23.1/src/particle/_compat/warnings.py
--- old/particle-0.23.0/src/particle/_compat/warnings.py 1970-01-01 01:00:00.000000000 +0100
+++ new/particle-0.23.1/src/particle/_compat/warnings.py 2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,10 @@
+from __future__ import annotations
+
+import sys
+
+if sys.version_info < (3, 13):
+ from typing_extensions import deprecated
+else:
+ from warnings import deprecated
+
+__all__ = ["deprecated"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/src/particle/particle/convert.py new/particle-0.23.1/src/particle/particle/convert.py
--- old/particle-0.23.0/src/particle/particle/convert.py 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/src/particle/particle/convert.py 2020-02-02 01:00:00.000000000 +0100
@@ -63,8 +63,9 @@
import pandas as pd
from .. import data
+from .._compat.typing import Traversable
from ..pdgid import PDGID, is_baryon
-from ..typing import StringOrIO, Traversable
+from ..typing import StringOrIO
from .enums import (
Charge,
Charge_mapping,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/src/particle/particle/particle.py new/particle-0.23.1/src/particle/particle/particle.py
--- old/particle-0.23.0/src/particle/particle/particle.py 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/src/particle/particle/particle.py 2020-02-02 01:00:00.000000000 +0100
@@ -15,14 +15,15 @@
# External dependencies
import attr
-from deprecated import deprecated
from hepunits.constants import c_light
from .. import data
+from .._compat.typing import Traversable
+from .._compat.warnings import deprecated
from ..converters.evtgen import EvtGenName2PDGIDBiMap
from ..pdgid import PDGID, is_valid
from ..pdgid.functions import Location, _digit
-from ..typing import HasOpen, HasRead, StringOrIO, Traversable
+from ..typing import HasOpen, HasRead, StringOrIO
from .enums import (
Charge,
Charge_mapping,
@@ -193,7 +194,7 @@
minus_one, converter=_none_or_positive_converter
)
_three_charge: Charge | None = attr.ib(Charge.u, converter=Charge) # charge * 3
- I: float | None = attr.ib(none_float, converter=_isospin_converter) # noqa: E741
+ I: float | None = attr.ib(none_float, converter=_isospin_converter)
# J = attr.ib(None) # Total angular momentum
G = attr.ib(Parity.u, converter=Parity) # Parity: '', +, -, or ?
P = attr.ib(Parity.u, converter=Parity) # Space parity
@@ -1240,8 +1241,7 @@
@classmethod
@deprecated(
- version="0.22",
- reason="This method is deprecated and will be removed from version 0.23.0. Use finditer or findall instead.",
+ "This method is deprecated and will be removed from version 0.23.0. Use finditer or findall instead.",
)
def from_string(cls: type[Self], name: str) -> Self:
"Get a particle from a PDG style name - returns the best match."
@@ -1252,8 +1252,7 @@
@classmethod
@deprecated(
- version="0.22",
- reason="This method is deprecated and will be removed from version 0.23.0. Use finditer or findall instead.",
+ "This method is deprecated and will be removed from version 0.23.0. Use finditer or findall instead.",
)
def from_string_list(cls: type[Self], name: str) -> list[Self]:
"Get a list of particles from a PDG style name."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/src/particle/typing.py new/particle-0.23.1/src/particle/typing.py
--- old/particle-0.23.0/src/particle/typing.py 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/src/particle/typing.py 2020-02-02 01:00:00.000000000 +0100
@@ -6,24 +6,11 @@
from __future__ import annotations
-import sys
from typing import Any, TextIO, Union
-if sys.version_info < (3, 8):
- from typing_extensions import Protocol, runtime_checkable
-else:
- from typing import Protocol, runtime_checkable
-
-if sys.version_info < (3, 9):
- from importlib_resources.abc import Traversable
-else:
- from importlib.abc import Traversable
-
+from ._compat.typing import Protocol, Traversable, runtime_checkable
__all__ = (
- "Protocol",
- "runtime_checkable",
- "Traversable",
"StringOrIO",
"HasOpen",
"HasRead",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/src/particle/version.py new/particle-0.23.1/src/particle/version.py
--- old/particle-0.23.0/src/particle/version.py 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/src/particle/version.py 2020-02-02 01:00:00.000000000 +0100
@@ -1,4 +1,16 @@
# file generated by setuptools_scm
# don't change, don't track in version control
-__version__ = version = '0.23.0'
-__version_tuple__ = version_tuple = (0, 23, 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.23.1'
+__version_tuple__ = version_tuple = (0, 23, 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/particle-0.23.0/tests/pdgid/test_functions.py new/particle-0.23.1/tests/pdgid/test_functions.py
--- old/particle-0.23.0/tests/pdgid/test_functions.py 2020-02-02 01:00:00.000000000 +0100
+++ new/particle-0.23.1/tests/pdgid/test_functions.py 2020-02-02 01:00:00.000000000 +0100
@@ -849,7 +849,7 @@
PDGIDs.HydrogenNucleus: 1,
PDGIDs.Carbon12: 12,
}
- _non_nuclei = [pid for pid in PDGIDs if pid not in _nuclei.keys()]
+ _non_nuclei = [pid for pid in PDGIDs if pid not in _nuclei]
for pid, a in _nuclei.items():
assert A(pid) == a
for pid in _non_nuclei:
@@ -863,7 +863,7 @@
PDGIDs.HydrogenNucleus: 1,
PDGIDs.Carbon12: 6,
}
- _non_nuclei = [pid for pid in PDGIDs if pid not in _nuclei.keys()]
+ _non_nuclei = [pid for pid in PDGIDs if pid not in _nuclei]
for pid, z in _nuclei.items():
assert Z(pid) == z
for pid in _non_nuclei:
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package opi for openSUSE:Factory checked in at 2023-12-12 19:32:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opi (Old)
and /work/SRC/openSUSE:Factory/.opi.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opi"
Tue Dec 12 19:32:36 2023 rev:52 rq:1132666 version:4.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/opi/opi.changes 2023-12-07 19:13:01.833069301 +0100
+++ /work/SRC/openSUSE:Factory/.opi.new.25432/opi.changes 2023-12-12 19:33:07.242432706 +0100
@@ -1,0 +2,11 @@
+Tue Dec 12 12:40:43 UTC 2023 - Dominik Heidler <dheidler(a)suse.de>
+
+- Version 4.2.0
+ * Support multiple repos defined in a single .repo file
+ * Automatically import packman key in non-interactive mode
+ * Restructure code: Add classes for Repository, OBSPackage and LocalPackage
+ * Hide package release for pkgs from local repos (same as with OBS pkgs)
+ * Use tumbleweed repo for openh264 on Slowroll
+ * Expand repovar $basearch (to e.g. x86_64 or aarch64)
+
+-------------------------------------------------------------------
Old:
----
opi-4.1.0.tar.gz
New:
----
opi-4.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opi.spec ++++++
--- /var/tmp/diff_new_pack.g40CLP/_old 2023-12-12 19:33:07.674448646 +0100
+++ /var/tmp/diff_new_pack.g40CLP/_new 2023-12-12 19:33:07.674448646 +0100
@@ -17,7 +17,7 @@
Name: opi
-Version: 4.1.0
+Version: 4.2.0
Release: 0
Summary: OBS Package Installer (CLI)
License: GPL-3.0-only
++++++ opi-4.1.0.tar.gz -> opi-4.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-4.1.0/bin/opi new/opi-4.2.0/bin/opi
--- old/opi-4.1.0/bin/opi 2023-12-07 11:30:33.000000000 +0100
+++ new/opi-4.2.0/bin/opi 2023-12-12 13:40:35.000000000 +0100
@@ -68,46 +68,47 @@
try:
print(f'Searching repos for: {(" ".join(query) if isinstance(query, list) else query)}')
- binaries = []
- binaries.extend(opi.search_published_binary('openSUSE', query))
- binaries.extend(opi.search_published_binary('Packman', query))
- binaries = opi.sort_uniq_binaries(binaries)
- if len(binaries) == 0:
+ packages = []
+ packages.extend(opi.search_published_packages('openSUSE', query))
+ packages.extend(opi.search_published_packages('Packman', query))
+ packages = opi.sort_uniq_packages(packages)
+ if len(packages) == 0:
print('No package found.')
return
# Print and select a package name option
- binary_names = opi.get_binary_names(binaries)
- selected_name = opi.ask_for_option(binary_names)
- print('You have selected package name:', selected_name)
-
- # Inject binaries from local repos
- binaries = opi.search_local_repos(selected_name) + binaries
-
- binary_options = opi.get_binaries_by_name(selected_name, binaries)
-
- # Print and select a binary package option
- selected_binary = opi.ask_for_option(binary_options, option_filter=opi.format_binary_option, disable_pager=True)
- print('You have selected binary package:', opi.format_binary_option(selected_binary, table=False))
- if opi.is_personal_project(selected_binary['project']):
- print(colored(
- 'BE CAREFUL! The package is from a personal repository and NOT reviewed by others.\n'
- 'You can ask the author to submit the package to development projects and openSUSE:Factory.\n'
- 'Learn more at https://en.opensuse.org/openSUSE:How_to_contribute_to_Factory',
- 'red'
- ))
- elif selected_binary['project'] == 'openSUSE:Factory':
- print(opi.colored(
- 'BE CAREFUL! You are about to add the Factory Repository.\n'
- 'This repo contains the unreleased Tumbleweed distro before openQA tests have been run.\n'
- 'Only proceed if you know what you are doing!',
- 'yellow'
- ))
- if not opi.ask_yes_or_no('Do you want to continue?', default_answer='n'):
- return
+ package_names = opi.get_package_names(packages)
+ selected_pkg_name = opi.ask_for_option(package_names)
+ print('You have selected package name:', selected_pkg_name)
+
+ # Inject packages from local repos
+ packages = opi.search_local_repos(selected_pkg_name) + packages
+
+ instable_pkg_options = [pkg for pkg in packages if pkg.name == selected_pkg_name]
+
+ # Print and select a package option
+ selected_pkg = opi.ask_for_option(instable_pkg_options, option_filter=opi.format_pkg_option, disable_pager=True)
+ print('You have selected package:', opi.format_pkg_option(selected_pkg, table=False))
+ if isinstance(selected_pkg, opi.OBSPackage):
+ if selected_pkg.is_from_personal_project():
+ print(colored(
+ 'BE CAREFUL! The package is from a personal repository and NOT reviewed by others.\n'
+ 'You can ask the author to submit the package to development projects and openSUSE:Factory.\n'
+ 'Learn more at https://en.opensuse.org/openSUSE:How_to_contribute_to_Factory',
+ 'red'
+ ))
+ elif selected_pkg.project == 'openSUSE:Factory':
+ print(opi.colored(
+ 'BE CAREFUL! You are about to add the Factory Repository.\n'
+ 'This repo contains the unreleased Tumbleweed distro before openQA tests have been run.\n'
+ 'Only proceed if you know what you are doing!',
+ 'yellow'
+ ))
+ if not opi.ask_yes_or_no('Do you want to continue?', default_answer='n'):
+ return
# Install selected package
- opi.install_binary(selected_binary)
+ selected_pkg.install()
except (opi.NoOptionSelected, opi.HTTPError):
return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-4.1.0/opi/__init__.py new/opi-4.2.0/opi/__init__.py
--- old/opi-4.1.0/opi/__init__.py 2023-12-07 11:30:33.000000000 +0100
+++ new/opi-4.2.0/opi/__init__.py 2023-12-12 13:40:35.000000000 +0100
@@ -94,16 +94,19 @@
project = 'openSUSE.org:' + project
return project
-def get_version():
+def get_version() -> str:
os_release = get_os_release()
version = os_release.get('VERSION') # VERSION is not set for TW
return version
-def expand_releasever(s: str) -> str:
+def expand_vars(s: str) -> str:
s = s.replace('${releasever}', get_version() or '${releasever}')
s = s.replace('$releasever', get_version() or '$releasever')
+ s = s.replace('${basearch}', get_cpu_arch() or '${basearch}')
+ s = s.replace('$basearch', get_cpu_arch() or '$basearch')
return s
+
###############
### PACKMAN ###
###############
@@ -118,7 +121,8 @@
name = 'Packman',
url = f'https://ftp.gwdg.de/pub/linux/misc/packman/suse/{project}/',
auto_refresh = config.get_key_from_config('new_repo_auto_refresh'),
- priority = 90
+ priority = 90,
+ auto_import_keys = global_state.arg_non_interactive
)
if dup:
@@ -126,6 +130,7 @@
def add_openh264_repo(dup=False):
project = get_os_release()['NAME']
+ project = project.replace('-Slowroll', '')
project = project.replace('openSUSE MicroOS', 'openSUSE Tumbleweed')
project = project.replace('openSUSE Leap Micro', 'openSUSE Leap')
project = project.replace(':', '_').replace(' ', '_')
@@ -158,6 +163,23 @@
### ZYPP/DNF ###
################
+class Repository:
+ def __init__(self, alias: str, name: str, url: str, auto_refresh: bool, gpgkey: str = None, filename: str = None):
+ self.alias = alias
+ self.name = name
+ self.url = url
+ self.auto_refresh = auto_refresh
+ self.gpgkey = gpgkey
+ self.filename = filename or alias
+
+ def name_expanded(self):
+ """ Return name with all supported vars expanded """
+ return expand_vars(self.name)
+
+ def url_expanded(self):
+ """ Return url with all supported vars expanded """
+ return expand_vars(self.url)
+
def search_local_repos(package):
"""
Search local default repos
@@ -167,39 +189,40 @@
sr = subprocess.check_output(['zypper', '-n', '--no-refresh', 'se', '-sx', '-tpackage', package], env={'LANG': 'c'}).decode()
for line in re.split(r'-\+-+\n', sr, re.MULTILINE)[1].strip().split('\n'):
version, arch, repo_name = [s.strip() for s in line.split('|')[3:]]
+ version, release = version.split('-')
if arch not in (get_cpu_arch(), 'noarch'):
continue
if repo_name == '(System Packages)':
continue
- search_results[repo_name].append({'version': version, 'arch': arch})
+ search_results[repo_name].append({'version': version, 'release': release, 'arch': arch})
except subprocess.CalledProcessError as e:
if e.returncode != 104:
# 104 ZYPPER_EXIT_INF_CAP_NOT_FOUND is returned if there are no results
raise # TODO: don't exit program, use exception that will be handled in repo_query except block
- repos_by_name = {expand_releasever(repo['name']): repo for repo in get_repos()}
+ repos_by_name = {repo.name_expanded(): repo for repo in get_repos()}
local_installables = []
for repo_name, installables in search_results.items():
+ # get the newest package for each repo
try:
- installables.sort(key=lambda p: cmp_to_key(rpm.labelCompare)(p['version']))
+ installables.sort(key=lambda p: cmp_to_key(rpm.labelCompare)("%(version)s-%(release)s" % p))
except TypeError:
- # rpm 4.14 needs a tuple of epoch, version, release - rpm 4.18 can handle a string
- installables.sort(key=lambda p: cmp_to_key(rpm.labelCompare)(['1']+p['version'].split('-')))
+ # rpm 4.14 needs a tuple of (epoch, version, release) - rpm 4.18 can handle a string
+ installables.sort(key=lambda p: cmp_to_key(rpm.labelCompare)(['1', p['version'], p['release']]))
installable = installables[-1]
+
installable['repository'] = repos_by_name[repo_name]
installable['name'] = package
- installable['obs_instance'] = 'LOCAL_REPO'
- installable['project'] = expand_releasever(installable['repository']['name'])
# filter out OBS/Packman repos as they are already searched via OBS/Packman API
- if 'download.opensuse.org/repositories' in installable['repository']['url']:
+ if 'download.opensuse.org/repositories' in installable['repository'].url:
continue
- if installable['repository']['filename'] == 'packman':
+ if installable['repository'].filename == 'packman':
continue
- local_installables.append(installable)
+ local_installables.append(LocalPackage(**installable))
return local_installables
def url_normalize(url):
- return expand_releasever(re.sub(r'^https?', '', url).rstrip('/'))
+ return expand_vars(re.sub(r'^https?', '', url).rstrip('/'))
def get_repos():
for repo_file in os.listdir(REPO_DIR):
@@ -208,25 +231,25 @@
try:
cp = configparser.ConfigParser()
cp.read(os.path.join(REPO_DIR, repo_file))
- mainsec = cp.sections()[0]
- if not bool(int(cp.get(mainsec, 'enabled'))):
- continue
- repo = {
- 'alias': mainsec,
- 'filename': re.sub(r'\.repo$', '', repo_file),
- 'name': cp[mainsec].get('name', mainsec),
- 'url': cp[mainsec].get('baseurl'),
- 'auto_refresh': bool(int(cp[mainsec].get('autorefresh', '0'))),
- }
- if cp.has_option(mainsec, 'gpgkey'):
- repo['gpgkey'] = cp[mainsec].get('gpgkey')
- yield repo
+ for alias in cp.sections():
+ if not bool(int(cp.get(alias, 'enabled'))):
+ continue
+ repo = {
+ 'alias': alias,
+ 'filename': re.sub(r'\.repo$', '', repo_file),
+ 'name': cp[alias].get('name', alias),
+ 'url': cp[alias].get('baseurl'),
+ 'auto_refresh': bool(int(cp[alias].get('autorefresh', '0'))),
+ }
+ if cp.has_option(alias, 'gpgkey'):
+ repo['gpgkey'] = cp[alias].get('gpgkey')
+ yield Repository(**repo)
except Exception as e:
print(f"Error parsing '{repo_file}': {e}")
def get_enabled_repo_by_url(url):
for repo in get_repos():
- if url_normalize(repo['url']) == url_normalize(url):
+ if url_normalize(repo.url) == url_normalize(url):
return repo
def add_repo(filename, name, url, enabled=True, gpgcheck=True, gpgkey=None, repo_type='rpm-md', auto_import_keys=False, auto_refresh=False, priority=None):
@@ -250,7 +273,7 @@
tf.file.close()
refresh_repos(auto_import_keys=auto_import_keys)
-def refresh_repos(repo=None, auto_import_keys=False):
+def refresh_repos(repo_alias=None, auto_import_keys=False):
refresh_cmd = []
if get_backend() == BackendConstants.zypp:
refresh_cmd = ['sudo', 'zypper']
@@ -259,8 +282,8 @@
refresh_cmd.append('ref')
elif get_backend() == BackendConstants.dnf:
refresh_cmd = ['sudo', 'dnf', 'ref']
- if repo:
- refresh_cmd.append(repo)
+ if repo_alias:
+ refresh_cmd.append(repo_alias)
subprocess.call(refresh_cmd)
def normalize_key(pem):
@@ -341,7 +364,126 @@
### OBS ###
###########
-def search_published_binary(obs_instance, query):
+class Installable:
+ def __init__(self, name: str, version: str, release: str, arch: str):
+ self.name = name # e.g. MozillaFirefox
+ self.version = version # e.g. 1.2.3
+ self.release = release # e.g. 150500.1.1
+ self.arch = arch # e.g. x86_64, aarch64 or noarch
+
+ def install(self):
+ raise NotImplemented()
+
+ def name_with_arch(self):
+ return f'{self.name}.{self.arch}'
+
+ def _install_from_existing_repo(self, repo: Repository):
+ # Install from existing repos (don't add a repo)
+ print(f"Installing from existing repo '{repo.name_expanded()}'")
+ # ensure that this repo is up to date if no auto_refresh is configured
+ if not repo.auto_refresh:
+ refresh_repos(repo.alias)
+ install_packages([self.name_with_arch()], from_repo=repo.alias)
+
+class OBSPackage(Installable):
+ """ Package returned from OBS API """
+ def __init__(self,
+ name: str, version: str, release: str, arch: str,
+ package: str, project: str, repository: str, obs_instance: str):
+ super().__init__(name, version, release, arch)
+ self.package = package # same as name unless this is a subpackage (then package is name of parent)
+ self.project = project # e.g. devel:languages:perl
+ self.repository = repository # e.g. openSUSE_Tumbleweed
+ self.obs_instance = obs_instance # openSUSE or Packman
+
+ def install(self):
+ if self.obs_instance == 'Packman':
+ # Install from Packman Repo
+ add_packman_repo()
+ install_packman_packages([self.name_with_arch()])
+ return
+
+ repo_alias = self.project.replace(':', '_')
+ project_path = self.project.replace(':', ':/')
+ repository = self.repository
+ if config.get_key_from_config('use_releasever_var'):
+ version = get_version()
+ if version:
+ # version is None on tw
+ repository = repository.replace(version, '$releasever')
+ url = f'https://download.opensuse.org/repositories/{project_path}/{repository}/'
+ gpgkey = url + 'repodata/repomd.xml.key'
+ existing_repo = get_enabled_repo_by_url(url)
+
+ if existing_repo:
+ self._install_from_existing_repo(existing_repo)
+ else:
+ print(f"Adding repo '{self.project}'")
+ add_repo(
+ filename = repo_alias,
+ name = self.project,
+ url = url,
+ gpgkey = gpgkey,
+ gpgcheck = True,
+ auto_refresh = config.get_key_from_config('new_repo_auto_refresh')
+ )
+ install_packages([self.name_with_arch()], from_repo=repo_alias,
+ allow_downgrade=True,
+ allow_arch_change=True,
+ allow_name_change=True,
+ allow_vendor_change=True
+ )
+ ask_keep_repo(repo_alias)
+
+ def weight(self):
+ weight = 0
+
+ dash_count = self.name.count('-')
+ weight += 1e5 * (0.5 ** dash_count)
+
+ weight -= 1e4 * len(self.name)
+
+ if self.is_from_official_project():
+ weight += 2e3
+ elif not self.is_from_personal_project():
+ weight += 1e3
+
+ if self.name == self.package:
+ # this rpm is the main or only subpackage
+ weight += 1e2
+
+ if not (get_cpu_arch() == 'x86_64' and self.arch == 'i586'):
+ weight += 1e1
+
+ if self.repository.startswith('openSUSE_Tumbleweed'):
+ weight += 2
+ elif self.repository.startswith('openSUSE_Factory'):
+ weight += 1
+ elif self.repository == 'standard':
+ weight += 0
+
+ return weight
+
+ def __lt__(self, other):
+ """ Note that we sort from high weight to low weight """
+ return self.weight() > other.weight()
+
+ def is_from_official_project(self):
+ return self.project.startswith('openSUSE:')
+
+ def is_from_personal_project(self):
+ return self.project.startswith('home:') or self.project.startswith('isv:')
+
+class LocalPackage(Installable):
+ """ Package found in local repo (metadata) cache """
+ def __init__(self, name: str, version: str, release: str, arch: str, repository: Repository):
+ super().__init__(name, version, release, arch)
+ self.repository = repository
+
+ def install(self):
+ self._install_from_existing_repo(self.repository)
+
+def search_published_packages(obs_instance, query):
distribution = get_distribution(prefix=(obs_instance != 'openSUSE'))
endpoint = '/search/published/binary/id'
url = OBS_APIROOT[obs_instance] + endpoint
@@ -356,12 +498,16 @@
r.raise_for_status()
dom = lxml.etree.fromstring(r.text)
- binaries = []
+ packages = []
for binary in dom.xpath('/collection/binary'):
binary_data = {k: v for k, v in binary.items()}
binary_data['obs_instance'] = obs_instance
- for k in ('name', 'project', 'repository', 'version', 'release', 'arch', 'filename', 'filepath', 'baseproject', 'type'):
+ del binary_data['filename']
+ del binary_data['filepath']
+ del binary_data['baseproject']
+ del binary_data['type']
+ for k in ('name', 'project', 'repository', 'version', 'release', 'arch'):
assert k in binary_data, f"Key '{k}' missing"
# Filter out ghost binary
@@ -369,43 +515,45 @@
if not binary_data.get('package'):
continue
+ package = OBSPackage(**binary_data)
+
# Filter out branch projects
- if ':branches:' in binary_data['project']:
+ if ':branches:' in package.project:
continue
# Filter out Packman personal projects
- if binary_data['obs_instance'] != 'openSUSE' and is_personal_project(binary_data['project']):
+ if package.obs_instance != 'openSUSE' and package.is_from_personal_project():
continue
# Filter out debuginfo, debugsource, devel, buildsymbols, lang and docs packages
regex = r'-(debuginfo|debugsource|buildsymbols|devel|lang|l10n|trans|doc|docs)(-.+)?$'
- if re.match(regex, binary_data['name']):
+ if re.match(regex, package.name):
continue
# Filter out source packages
- if binary_data['arch'] == 'src':
+ if package.arch == 'src':
continue
# Filter architecture
cpu_arch = get_cpu_arch()
- if binary_data['arch'] not in (cpu_arch, 'noarch'):
+ if package.arch not in (cpu_arch, 'noarch'):
continue
# Filter repo architecture
- if binary_data['repository'] == 'openSUSE_Factory' and (cpu_arch not in ('x86_64' 'i586')):
+ if package.repository == 'openSUSE_Factory' and (cpu_arch not in ('x86_64' 'i586')):
continue
- elif binary_data['repository'] == 'openSUSE_Factory_ARM' and not cpu_arch.startswith('arm') and not cpu_arch == 'aarch64':
+ elif package.repository == 'openSUSE_Factory_ARM' and not cpu_arch.startswith('arm') and not cpu_arch == 'aarch64':
continue
- elif binary_data['repository'] == 'openSUSE_Factory_PowerPC' and not cpu_arch.startswith('ppc'):
+ elif package.repository == 'openSUSE_Factory_PowerPC' and not cpu_arch.startswith('ppc'):
continue
- elif binary_data['repository'] == 'openSUSE_Factory_zSystems' and not cpu_arch.startswith('s390'):
+ elif package.repository == 'openSUSE_Factory_zSystems' and not cpu_arch.startswith('s390'):
continue
- elif binary_data['repository'] == 'openSUSE_Factory_RISCV' and not cpu_arch.startswith('risc'):
+ elif package.repository == 'openSUSE_Factory_RISCV' and not cpu_arch.startswith('risc'):
continue
- binaries.append(binary_data)
+ packages.append(package)
- return binaries
+ return packages
except requests.exceptions.HTTPError as e:
if e.response.status_code == 413:
print('Please use different search keywords. Some short keywords cause OBS timeout.')
@@ -413,116 +561,28 @@
print('HTTPError:', e)
raise HTTPError()
-def get_binary_names(binaries):
+def get_package_names(packages: list):
+ """ return a list of package names but without duplicates """
names = []
- for binary in binaries:
- name = binary['name']
+ for pkg in packages:
+ name = pkg.name
if name not in names:
names.append(name)
return names
-def sort_uniq_binaries(binaries):
- """ sort -u for binaries; sort by weight and keep only the one with the best repo """
- binaries = sorted(binaries, key=get_binary_weight, reverse=True)
- new_binaries = []
- added_binaries = set()
- for binary in binaries:
- # only select the first binary for each name/project combination
+def sort_uniq_packages(packages: list):
+ """ sort -u for packages; sort by weight and keep only the one with the best repo """
+ packages = sorted(packages)
+ new_packages = []
+ added_packages = set()
+ for package in packages:
+ # only select the first package for each name/project combination
# which will be the one with the highest repo weight
- query = (binary['name'], binary['project'])
- if query not in added_binaries:
- new_binaries.append(binary)
- added_binaries.add(query)
- return new_binaries
-
-def get_binary_weight(binary):
- weight = 0
-
- dash_count = binary['name'].count('-')
- weight += 1e5 * (0.5 ** dash_count)
-
- weight -= 1e4 * len(binary['name'])
-
- if is_official_project(binary['project']):
- weight += 2e3
- elif not is_personal_project(binary['project']):
- weight += 1e3
-
- if binary['name'] == binary['package']:
- weight += 1e2
-
- if not (get_cpu_arch() == 'x86_64' and binary['arch'] == 'i586'):
- weight += 1e1
-
- if binary['repository'].startswith('openSUSE_Tumbleweed'):
- weight += 2
- elif binary['repository'].startswith('openSUSE_Factory'):
- weight += 1
- elif binary['repository'] == 'standard':
- weight += 0
-
- return weight
-
-def is_official_project(project):
- return project.startswith('openSUSE:')
-
-def is_personal_project(project):
- return project.startswith('home:') or project.startswith('isv:')
-
-def get_binaries_by_name(name, binaries):
- return [binary for binary in binaries if binary['name'] == name]
-
-def install_binary(binary):
- name = binary['name']
- obs_instance = binary['obs_instance']
- arch = binary['arch']
- project = binary['project']
- repository = binary['repository']
- name_with_arch = f'{name}.{arch}'
-
- if obs_instance == 'Packman':
- # Install from Packman Repo
- add_packman_repo()
- install_packman_packages([name_with_arch])
- else:
- if binary['obs_instance'] == 'LOCAL_REPO':
- existing_repo = repository
- else:
- repo_alias = project.replace(':', '_')
- project_path = project.replace(':', ':/')
- if config.get_key_from_config('use_releasever_var'):
- version = get_version()
- if version:
- # version is None on tw
- repository = repository.replace(version, '$releasever')
- url = f'https://download.opensuse.org/repositories/{project_path}/{repository}/'
- gpgkey = url + 'repodata/repomd.xml.key'
- existing_repo = get_enabled_repo_by_url(url)
- if existing_repo:
- # Install from existing repos (don't add a repo)
- print(f"Installing from existing repo '{expand_releasever(existing_repo['name'])}'")
- # ensure that this repo is up to date if no auto_refresh is configured
- if not existing_repo['auto_refresh']:
- refresh_repos(existing_repo['alias'])
- install_packages([name_with_arch], from_repo=existing_repo['alias'])
- else:
- print(f"Adding repo '{project}'")
- add_repo(
- filename = repo_alias,
- name = project,
- url = url,
- gpgkey = gpgkey,
- gpgcheck = True,
- auto_refresh = config.get_key_from_config('new_repo_auto_refresh')
- )
- install_packages([name_with_arch], from_repo=repo_alias,
- allow_downgrade=True,
- allow_arch_change=True,
- allow_name_change=True,
- allow_vendor_change=True
- )
- ask_keep_repo(repo_alias)
-
+ query = (package.name, package.project)
+ if query not in added_packages:
+ new_packages.append(package)
+ added_packages.add(query)
+ return new_packages
########################
### User Interaction ###
@@ -590,7 +650,7 @@
return options[num - 1]
def ask_import_key(keyurl):
- keys = requests.get(expand_releasever(keyurl)).text
+ keys = requests.get(expand_vars(keyurl)).text
db_keys = get_keys_from_rpmdb()
for key in split_keys(keys):
for line in subprocess.check_output(['gpg', '--quiet', '--show-keys', '--with-colons', '-'], input=key.encode()).decode().strip().split('\n'):
@@ -606,28 +666,28 @@
subprocess.call(['sudo', 'rpm', '--import', tf.name])
tf.file.close()
-def ask_keep_key(keyurl, repo_name=None):
+def ask_keep_key(keyurl, repo_alias=None):
"""
Ask to remove the key given by url to key file.
- Warns about all repos still using the key except the repo given by repo_name param.
+ Warns about all repos still using the key except the repo given by repo_alias param.
"""
- urlkeys = split_keys(requests.get(expand_releasever(keyurl)).text)
+ urlkeys = split_keys(requests.get(expand_vars(keyurl)).text)
urlkeys_normalized = [normalize_key(urlkey) for urlkey in urlkeys]
db_keys = get_keys_from_rpmdb()
keys_to_ask_user = [key for key in db_keys if key['pubkey'] in urlkeys_normalized]
for key in keys_to_ask_user:
repos_using_this_key = []
for repo in get_repos():
- if repo_name and repo['filename'] == repo_name:
+ if repo_alias and repo.filename == repo_alias:
continue
- if repo.get('gpgkey'):
- repokey = normalize_key(requests.get(repo['gpgkey']).text)
+ if repo.gpgkey:
+ repokey = normalize_key(requests.get(repo.gpgkey).text)
if repokey == key['pubkey']:
repos_using_this_key.append(repo)
if repos_using_this_key:
default_answer = 'y'
print('This key is still in use by the following remaining repos - removal is NOT recommended:')
- print(' - ' + '\n - '.join([repo['filename'] for repo in repos_using_this_key]))
+ print(' - ' + '\n - '.join([repo.filename for repo in repos_using_this_key]))
else:
default_answer = 'n'
print('This key is not in use by any remaining repos.')
@@ -635,37 +695,40 @@
if not ask_yes_or_no(f"Keep package signing key '{key['name']}'?", default_answer):
subprocess.call(['sudo', 'rpm', '-e', key['kid']])
-def ask_keep_repo(repo):
- if not ask_yes_or_no(f"Do you want to keep the repo '{repo}'?"):
- repo_info = next((r for r in get_repos() if r['filename'] == repo))
+def ask_keep_repo(repo_alias):
+ if not ask_yes_or_no(f"Do you want to keep the repo '{repo_alias}'?"):
+ repo = next((r for r in get_repos() if r.filename == repo_alias))
if get_backend() == BackendConstants.zypp:
- subprocess.call(['sudo', 'zypper', 'rr', repo])
+ subprocess.call(['sudo', 'zypper', 'rr', repo_alias])
if get_backend() == BackendConstants.dnf:
- subprocess.call(['sudo', 'rm', os.path.join(REPO_DIR, f'{repo}.repo')])
- if repo_info.get('gpgkey'):
- ask_keep_key(repo_info['gpgkey'], repo)
+ subprocess.call(['sudo', 'rm', os.path.join(REPO_DIR, f'{repo_alias}.repo')])
+ if repo.gpgkey:
+ ask_keep_key(repo.gpgkey, repo)
-def format_binary_option(binary, table=True):
- if binary['obs_instance'] == 'LOCAL_REPO':
+def format_pkg_option(package, table=True):
+ if isinstance(package, LocalPackage):
color = 'green'
symbol = '+'
- elif is_official_project(binary['project']):
+ elif package.is_from_official_project():
color = 'yellow'
symbol = '-'
- elif is_personal_project(binary['project']):
+ elif package.is_from_personal_project():
color = 'red'
symbol = '!'
else:
color = 'cyan'
symbol = '?'
- project = binary['project']
- if binary['obs_instance'] not in ('openSUSE', 'LOCAL_REPO'):
- project = f"{binary['obs_instance']} {project}"
+ if isinstance(package, LocalPackage):
+ project = package.repository.name_expanded()
+ else:
+ project = package.project
+ if package.obs_instance != 'openSUSE':
+ project = f"{package.obs_instance} {project}"
colored_name = colored(f'{project[:39]} {symbol}', color)
if table:
- return f"{colored_name:50} | {binary['version'][:25]:25} | {binary['arch']}"
+ return f"{colored_name:50} | {package.version[:25]:25} | {package.arch}"
else:
- return f"{colored_name} | {binary['version']} | {binary['arch']}"
+ return f"{colored_name} | {package.version} | {package.arch}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-4.1.0/opi/version.py new/opi-4.2.0/opi/version.py
--- old/opi-4.1.0/opi/version.py 2023-12-07 11:30:33.000000000 +0100
+++ new/opi-4.2.0/opi/version.py 2023-12-12 13:40:35.000000000 +0100
@@ -1 +1 @@
-__version__ = '4.1.0'
+__version__ = '4.2.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-4.1.0/opi.changes new/opi-4.2.0/opi.changes
--- old/opi-4.1.0/opi.changes 2023-12-07 11:30:33.000000000 +0100
+++ new/opi-4.2.0/opi.changes 2023-12-12 13:40:35.000000000 +0100
@@ -1,4 +1,15 @@
-------------------------------------------------------------------
+Tue Dec 12 12:40:20 UTC 2023 - Dominik Heidler <dheidler(a)suse.de>
+
+- Version 4.2.0
+ * Support multiple repos defined in a single .repo file
+ * Automatically import packman key in non-interactive mode
+ * Restructure code: Add classes for Repository, OBSPackage and LocalPackage
+ * Hide package release for pkgs from local repos (same as with OBS pkgs)
+ * Use tumbleweed repo for openh264 on Slowroll
+ * Expand repovar $basearch (to e.g. x86_64 or aarch64)
+
+-------------------------------------------------------------------
Thu Dec 7 10:30:24 UTC 2023 - Dominik Heidler <dheidler(a)suse.de>
- Version 4.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-4.1.0/test/08_install_from_packman_non_interactive.py new/opi-4.2.0/test/08_install_from_packman_non_interactive.py
--- old/opi-4.1.0/test/08_install_from_packman_non_interactive.py 1970-01-01 01:00:00.000000000 +0100
+++ new/opi-4.2.0/test/08_install_from_packman_non_interactive.py 2023-12-12 13:40:35.000000000 +0100
@@ -0,0 +1,20 @@
+#!/usr/bin/python3
+
+import sys
+import pexpect
+import subprocess
+
+c = pexpect.spawn('./bin/opi -n x265', logfile=sys.stdout.buffer, echo=False)
+
+c.expect('1. x265\r\n')
+c.expect('Pick a number')
+
+c.expect('1. .*Packman Essentials', timeout=10)
+
+c.expect('Overall download size', timeout=60)
+c.interact()
+c.wait()
+c.close()
+assert c.exitstatus == 0, f'Exit code: {c.exitstatus}'
+
+subprocess.check_call(['rpm', '-qi', 'x265'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-4.1.0/test/09_install_with_multi_repos_in_single_file_non_interactive.py new/opi-4.2.0/test/09_install_with_multi_repos_in_single_file_non_interactive.py
--- old/opi-4.1.0/test/09_install_with_multi_repos_in_single_file_non_interactive.py 1970-01-01 01:00:00.000000000 +0100
+++ new/opi-4.2.0/test/09_install_with_multi_repos_in_single_file_non_interactive.py 2023-12-12 13:40:35.000000000 +0100
@@ -0,0 +1,38 @@
+#!/usr/bin/python3
+
+import sys
+import pexpect
+import subprocess
+
+subprocess.check_call("cat /etc/zypp/repos.d/*.repo > /tmp/singlefile.repo", shell=True)
+subprocess.check_call("rm -v /etc/zypp/repos.d/*.repo", shell=True)
+subprocess.check_call("mv -v /tmp/singlefile.repo /etc/zypp/repos.d/", shell=True)
+
+c = pexpect.spawn('./bin/opi -n html2text', logfile=sys.stdout.buffer, echo=False)
+
+c.expect(r'([0-9]+)\. html2text', timeout=10)
+c.expect('Pick a number')
+c.expect(r'([0-9]+)\. [^ ]*(openSUSE-Tumbleweed-Oss|Main Repository)', timeout=10)
+c.expect('Installing from existing repo', timeout=10)
+c.expect('Continue?', timeout=60)
+c.interact()
+c.wait()
+c.close()
+print()
+assert c.exitstatus == 0, f'Exit code: {c.exitstatus}'
+subprocess.check_call(['rpm', '-qi', 'html2text'])
+
+
+c = pexpect.spawn('./bin/opi -n zfs', logfile=sys.stdout.buffer, echo=False)
+
+c.expect(r'([0-9]+)\. zfs', timeout=10)
+c.expect('Pick a number')
+c.expect(r'([0-9]+)\. [^ ]*(filesystems)', timeout=10)
+c.expect('Adding repo \'filesystems\'', timeout=10)
+c.expect('Continue?', timeout=60)
+c.interact()
+c.wait()
+c.close()
+print()
+assert c.exitstatus == 0, f'Exit code: {c.exitstatus}'
+subprocess.check_call(['rpm', '-qi', 'zfs'])
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qpwgraph for openSUSE:Factory checked in at 2023-12-12 19:32:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qpwgraph (Old)
and /work/SRC/openSUSE:Factory/.qpwgraph.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qpwgraph"
Tue Dec 12 19:32:33 2023 rev:21 rq:1132665 version:0.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/qpwgraph/qpwgraph.changes 2023-11-09 21:35:03.764143344 +0100
+++ /work/SRC/openSUSE:Factory/.qpwgraph.new.25432/qpwgraph.changes 2023-12-12 19:33:04.754340906 +0100
@@ -1,0 +2,14 @@
+Tue Dec 5 19:28:42 UTC 2023 - Alexei Sorokin <sor.alexei(a)meowr.ru>
+
+- Update to version 0.6.1:
+ * Introduce Help > Enable ALSA MIDI runtime option, now
+ permitting to disable the ALSA MIDI/Sequencer graph conveniency
+ on a whim.
+ * Disconnect all pinned connections when patchbay is deactivated,
+ subject to Patchbay > Auto Disconnect option.
+ * Fix a potential port duplication when recycled under the same
+ node and reusing a previous port id.
+ * Don't unpin connections that are manually disconnected, when
+ patchbay is deactivated and auto-pin is off.
+
+-------------------------------------------------------------------
Old:
----
qpwgraph-v0.6.0.tar.bz2
New:
----
qpwgraph-v0.6.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qpwgraph.spec ++++++
--- /var/tmp/diff_new_pack.ypPYBR/_old 2023-12-12 19:33:05.234358616 +0100
+++ /var/tmp/diff_new_pack.ypPYBR/_new 2023-12-12 19:33:05.238358763 +0100
@@ -17,7 +17,7 @@
Name: qpwgraph
-Version: 0.6.0
+Version: 0.6.1
Release: 0
Summary: PipeWire Graph Qt GUI Interface
License: GPL-2.0-or-later
++++++ qpwgraph-v0.6.0.tar.bz2 -> qpwgraph-v0.6.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/CMakeLists.txt new/qpwgraph-v0.6.1/CMakeLists.txt
--- old/qpwgraph-v0.6.0/CMakeLists.txt 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/CMakeLists.txt 2023-12-01 22:20:26.000000000 +0100
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 3.15)
project(qpwgraph
- VERSION 0.6.0
+ VERSION 0.6.1
DESCRIPTION "A PipeWire Graph Qt GUI Interface"
HOMEPAGE_URL "https://gitlab.freedesktop.org/rncbc/qpwgraph"
LANGUAGES C CXX)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/ChangeLog new/qpwgraph-v0.6.1/ChangeLog
--- old/qpwgraph-v0.6.0/ChangeLog 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/ChangeLog 2023-12-01 22:20:26.000000000 +0100
@@ -2,6 +2,18 @@
--------------------------------------------
+0.6.1 2023-12-01 An End-of-Autumn'23 Release.
+
+- Introduce Help > Enable ALSA MIDI runtime option, now permitting
+ to disable the ALSA MIDI/Sequencer graph conveniency in a whim.
+- Disconnect all pinned connections when patchbay is deactivated,
+ subject to Patchbay > Auto Disconnect option.
+- Fix a potential port duplication when recycled under the same
+ node and reusing a previous port id.
+- Don't unpin connections that are manually disconnected, when
+ patchbay is deactivated and auto-pin is off.
+
+
0.6.0 2023-11-08 An Autumn'23 Release.
- Improved Patchbay / Exclusive mode scan enforcement.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/debian/changelog new/qpwgraph-v0.6.1/debian/changelog
--- old/qpwgraph-v0.6.0/debian/changelog 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/debian/changelog 2023-12-01 22:20:26.000000000 +0100
@@ -1,3 +1,9 @@
+qpwgraph (0.6.1-33.1) unstable; urgency=low
+
+ * An end-of-autumn'23 release.
+
+ -- Rui Nuno Capela <rncbc(a)rncbc.org> Fri, 1 Dec 2023 22:00:00 +0000
+
qpwgraph (0.6.0-32.1) unstable; urgency=low
* An autumn'23 release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/docs/qpwgraph_patchbay-user_manual.md new/qpwgraph-v0.6.1/docs/qpwgraph_patchbay-user_manual.md
--- old/qpwgraph-v0.6.0/docs/qpwgraph_patchbay-user_manual.md 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/docs/qpwgraph_patchbay-user_manual.md 2023-12-01 22:20:26.000000000 +0100
@@ -6,7 +6,7 @@
The *Activated* button is simply to activate or not the loaded patchbay. The patchbay must be activated in order to access all the other functionalities.
-If checked, connections stored in the loaded patchbay will be restored. All other connections will stay as they were before the load of the patchbay. If unchecked, no connection change at all.
+If checked, connections stored in the loaded patchbay will be restored. All other connections will stay as they were before the load and activation of the patchbay. If and when unchecked, all previously pinned connections will be dropped.
## *Exclusive* button ![Exclusive](../src/images/itemExclusive.png)
@@ -24,8 +24,15 @@
### *Unpin* button ![Unpin](../src/images/itemUnpin.png)
-Used to make the connection temporary. The unpinned connection will disappear forever if another patchbay is loaded.
+Used to make the connection temporary. The unpinned connection will not be dropped if the current patchbay is deactivated.
+### Auto Pin option
+
+If checked, all manual connections will be pinned to the current patchbay and persistant when activated.
+
+### Auto Disconnect option
+
+If checked, all pinned connections will be automatically disconnected when the current patchbay is deactivated.
---
Credits: @Lootre (a.k.a. Thomas Lachat).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/rpm/qpwgraph.spec new/qpwgraph-v0.6.1/rpm/qpwgraph.spec
--- old/qpwgraph-v0.6.0/rpm/qpwgraph.spec 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/rpm/qpwgraph.spec 2023-12-01 22:20:26.000000000 +0100
@@ -16,8 +16,8 @@
#
%define name qpwgraph
-%define version 0.6.0
-%define release 32.1
+%define version 0.6.1
+%define release 33.1
%define _prefix /usr
@@ -133,6 +133,8 @@
%changelog
+* Sat Dec 2 2023 Rui Nuno Capela <rncbc(a)rncbc.org> 0.6.1
+- An end-of-autumn'23 release.
* Wed Nov 8 2023 Rui Nuno Capela <rncbc(a)rncbc.org> 0.6.0
- An autumn'23 release.
* Fri Sep 8 2023 Rui Nuno Capela <rncbc(a)rncbc.org> 0.5.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/appdata/org.rncbc.qpwgraph.metainfo.xml new/qpwgraph-v0.6.1/src/appdata/org.rncbc.qpwgraph.metainfo.xml
--- old/qpwgraph-v0.6.0/src/appdata/org.rncbc.qpwgraph.metainfo.xml 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/appdata/org.rncbc.qpwgraph.metainfo.xml 2023-12-01 22:20:26.000000000 +0100
@@ -37,7 +37,7 @@
<developer_name>rncbc aka. Rui Nuno Capela</developer_name>
<update_contact>rncbc(a)rncbc.org</update_contact>
<releases>
- <release version="0.6.0" date="2023-11-08" urgency="low" />
+ <release version="0.6.1" date="2023-12-01" urgency="low" />
</releases>
<content_rating type="oars-1.0"/>
</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_canvas.cpp new/qpwgraph-v0.6.1/src/qpwgraph_canvas.cpp
--- old/qpwgraph-v0.6.0/src/qpwgraph_canvas.cpp 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_canvas.cpp 2023-12-01 22:20:26.000000000 +0100
@@ -69,8 +69,9 @@
: QGraphicsView(parent), m_state(DragNone), m_item(nullptr),
m_connect(nullptr), m_rubberband(nullptr),
m_zoom(1.0), m_zoomrange(false), m_gesture(false),
- m_commands(nullptr), m_settings(nullptr), m_patchbay(nullptr),
- m_patchbay_edit(false), m_patchbay_autopin(true),
+ m_commands(nullptr), m_settings(nullptr),
+ m_patchbay(nullptr), m_patchbay_edit(false),
+ m_patchbay_autopin(true), m_patchbay_autodisconnect(false),
m_selected_nodes(0), m_repel_overlapping_nodes(false),
m_edit_item(nullptr), m_editor(nullptr), m_edited(0)
{
@@ -163,6 +164,19 @@
}
+// Patchbay auto-disconnect accessors.
+void qpwgraph_canvas::setPatchbayAutoDisconnect ( bool on )
+{
+ m_patchbay_autodisconnect = on;
+}
+
+
+bool qpwgraph_canvas::isPatchbayAutoDisconnect (void) const
+{
+ return m_patchbay_autodisconnect;
+}
+
+
// Patchbay edit-mode accessors.
void qpwgraph_canvas::setPatchbayEdit ( bool on )
{
@@ -548,7 +562,8 @@
connect->setDimmed(true);
}
- if (m_patchbay && (m_patchbay_autopin || !is_connect))
+ if (m_patchbay && (m_patchbay_autopin
+ || (!is_connect && m_patchbay->isActivated())))
m_patchbay->connectPorts(port1, port2, is_connect);
if (is_connect)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_canvas.h new/qpwgraph-v0.6.1/src/qpwgraph_canvas.h
--- old/qpwgraph-v0.6.0/src/qpwgraph_canvas.h 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_canvas.h 2023-12-01 22:20:26.000000000 +0100
@@ -81,6 +81,10 @@
void setPatchbayAutoPin(bool on);
bool isPatchbayAutoPin() const;
+ // Patchbay auto-disconnect accessors.
+ void setPatchbayAutoDisconnect(bool on);
+ bool isPatchbayAutoDisconnect() const;
+
// Patchbay edit-mode accessors.
void setPatchbayEdit(bool on);
bool isPatchbayEdit() const;
@@ -308,6 +312,7 @@
qpwgraph_patchbay *m_patchbay;
bool m_patchbay_edit;
bool m_patchbay_autopin;
+ bool m_patchbay_autodisconnect;
QList<QGraphicsItem *> m_selected;
int m_selected_nodes;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_config.cpp new/qpwgraph-v0.6.1/src/qpwgraph_config.cpp
--- old/qpwgraph-v0.6.0/src/qpwgraph_config.cpp 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_config.cpp 2023-12-01 22:20:26.000000000 +0100
@@ -50,6 +50,7 @@
static const char *PatchbayActivatedKey = "/Activated";
static const char *PatchbayExclusiveKey = "/Exclusive";
static const char *PatchbayAutoPinKey = "/AutoPin";
+static const char *PatchbayAutoDisconnectKey = "/AutoDisconnect";
static const char *PatchbayRecentFilesKey = "/RecentFiles";
static const char *PatchbayToolbarKey = "/Toolbar";
@@ -58,6 +59,11 @@
static const char *SystemTrayEnabledKey = "/Enabled";
#endif
+#ifdef CONFIG_ALSA_MIDI
+static const char *AlsaMidiGroup = "/AlsaMidi";
+static const char *AlsaMidiEnabledKey = "/Enabled";
+#endif
+
static const char *SessionGroup = "/Session";
static const char *SessionStartMinimizedKey = "/StartMinimized";
@@ -77,7 +83,9 @@
m_patchbay_activated(false),
m_patchbay_exclusive(false),
m_patchbay_autopin(true),
- m_systray_enabled(true)
+ m_patchbay_autodisconnect(false),
+ m_systray_enabled(true),
+ m_alsaseq_enabled(true)
{
}
@@ -279,6 +287,17 @@
}
+void qpwgraph_config::setPatchbayAutoDisconnect ( bool autodisconnect )
+{
+ m_patchbay_autodisconnect = autodisconnect;
+}
+
+bool qpwgraph_config::isPatchbayAutoDisconnect (void) const
+{
+ return m_patchbay_autodisconnect;
+}
+
+
void qpwgraph_config::patchbayRecentFiles ( const QString& path )
{
// Remove from list if already there (avoid duplicates)
@@ -313,6 +332,17 @@
}
+void qpwgraph_config::setAlsaMidiEnabled ( bool enabled )
+{
+ m_alsaseq_enabled = enabled;
+}
+
+bool qpwgraph_config::isAlsaMidiEnabled (void) const
+{
+ return m_alsaseq_enabled;
+}
+
+
void qpwgraph_config::setSessionStartMinimized ( bool start_minimized )
{
m_settings->beginGroup(SessionGroup);
@@ -345,6 +375,12 @@
m_settings->endGroup();
#endif
+#ifdef CONFIG_ALSA_MIDI
+ m_settings->beginGroup(AlsaMidiGroup);
+ m_alsaseq_enabled = m_settings->value(AlsaMidiEnabledKey, true).toBool();
+ m_settings->endGroup();
+#endif
+
m_settings->beginGroup(PatchbayGroup);
m_patchbay_toolbar = m_settings->value(PatchbayToolbarKey, true).toBool();
m_patchbay_dir = m_settings->value(PatchbayDirKey).toString();
@@ -352,6 +388,7 @@
m_patchbay_activated = m_settings->value(PatchbayActivatedKey, false).toBool();
m_patchbay_exclusive = m_settings->value(PatchbayExclusiveKey, false).toBool();
m_patchbay_autopin = m_settings->value(PatchbayAutoPinKey, true).toBool();
+ m_patchbay_autodisconnect = m_settings->value(PatchbayAutoDisconnectKey, false).toBool();
m_patchbay_recentfiles = m_settings->value(PatchbayRecentFilesKey).toStringList();
m_settings->endGroup();
@@ -408,6 +445,12 @@
m_settings->endGroup();
#endif
+#ifdef CONFIG_ALSA_MIDI
+ m_settings->beginGroup(AlsaMidiGroup);
+ m_settings->setValue(AlsaMidiEnabledKey, m_alsaseq_enabled);
+ m_settings->endGroup();
+#endif
+
m_settings->beginGroup(PatchbayGroup);
m_settings->setValue(PatchbayToolbarKey, m_patchbay_toolbar);
m_settings->setValue(PatchbayDirKey, m_patchbay_dir);
@@ -415,6 +458,7 @@
m_settings->setValue(PatchbayActivatedKey, m_patchbay_activated);
m_settings->setValue(PatchbayExclusiveKey, m_patchbay_exclusive);
m_settings->setValue(PatchbayAutoPinKey, m_patchbay_autopin);
+ m_settings->setValue(PatchbayAutoDisconnectKey, m_patchbay_autodisconnect);
m_settings->setValue(PatchbayRecentFilesKey, m_patchbay_recentfiles);
m_settings->endGroup();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_config.h new/qpwgraph-v0.6.1/src/qpwgraph_config.h
--- old/qpwgraph-v0.6.0/src/qpwgraph_config.h 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_config.h 2023-12-01 22:20:26.000000000 +0100
@@ -95,12 +95,18 @@
void setPatchbayAutoPin(bool autopin);
bool isPatchbayAutoPin() const;
+ void setPatchbayAutoDisconnect(bool autodisconnect);
+ bool isPatchbayAutoDisconnect() const;
+
void patchbayRecentFiles(const QString& path);
const QStringList& patchbayRecentFiles() const;
void setSystemTrayEnabled(bool enabled);
bool isSystemTrayEnabled() const;
+ void setAlsaMidiEnabled(bool enabled);
+ bool isAlsaMidiEnabled() const;
+
void setSessionStartMinimized(bool start_minimized);
bool isSessionStartMinimized() const;
@@ -131,9 +137,11 @@
bool m_patchbay_activated;
bool m_patchbay_exclusive;
bool m_patchbay_autopin;
+ bool m_patchbay_autodisconnect;
QStringList m_patchbay_recentfiles;
bool m_systray_enabled;
+ bool m_alsaseq_enabled;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_form.cpp new/qpwgraph-v0.6.1/src/qpwgraph_form.cpp
--- old/qpwgraph-v0.6.0/src/qpwgraph_form.cpp 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_form.cpp 2023-12-01 22:20:26.000000000 +0100
@@ -107,11 +107,7 @@
m_ui.graphCanvas->setSettings(m_config->settings());
m_pipewire = new qpwgraph_pipewire(m_ui.graphCanvas);
-#ifdef CONFIG_ALSA_MIDI
- m_alsamidi = new qpwgraph_alsamidi(m_ui.graphCanvas);
-#else
m_alsamidi = nullptr;
-#endif
m_pipewire_changed = 0;
m_alsamidi_changed = 0;
@@ -202,13 +198,7 @@
SIGNAL(changed()),
SLOT(pipewire_changed()));
}
-#ifdef CONFIG_ALSA_MIDI
- if (m_alsamidi) {
- QObject::connect(m_alsamidi,
- SIGNAL(changed()),
- SLOT(alsamidi_changed()));
- }
-#endif
+
QObject::connect(m_ui.graphCanvas,
SIGNAL(added(qpwgraph_node *)),
SLOT(added(qpwgraph_node *)));
@@ -287,6 +277,9 @@
QObject::connect(m_ui.patchbayAutoPinAction,
SIGNAL(toggled(bool)),
SLOT(patchbayAutoPin(bool)));
+ QObject::connect(m_ui.patchbayAutoDisconnectAction,
+ SIGNAL(toggled(bool)),
+ SLOT(patchbayAutoDisconnect(bool)));
QObject::connect(m_ui.patchbayEditAction,
SIGNAL(toggled(bool)),
@@ -435,13 +428,25 @@
#ifdef CONFIG_SYSTEM_TRAY
m_ui.helpMenu->insertAction(
m_ui.helpAboutAction, m_ui.helpSystemTrayAction);
+#ifndef CONFIG_ALSA_MIDI
m_ui.helpMenu->insertSeparator(
m_ui.helpAboutAction);
+#endif
QObject::connect(m_ui.helpSystemTrayAction,
SIGNAL(triggered(bool)),
SLOT(helpSystemTray(bool)));
#endif
+#ifdef CONFIG_ALSA_MIDI
+ m_ui.helpMenu->insertAction(
+ m_ui.helpAboutAction, m_ui.helpAlsaMidiAction);
+ m_ui.helpMenu->insertSeparator(
+ m_ui.helpAboutAction);
+ QObject::connect(m_ui.helpAlsaMidiAction,
+ SIGNAL(triggered(bool)),
+ SLOT(helpAlsaMidi(bool)));
+#endif
+
QObject::connect(m_ui.helpAboutAction,
SIGNAL(triggered(bool)),
SLOT(helpAbout()));
@@ -637,8 +642,7 @@
qpwgraph_patchbay *patchbay = m_ui.graphCanvas->patchbay();
if (patchbay) {
patchbay->setActivated(on);
- if (on)
- patchbay->scan();
+ patchbay->scan();
}
stabilize();
@@ -650,7 +654,7 @@
qpwgraph_patchbay *patchbay = m_ui.graphCanvas->patchbay();
if (patchbay) {
patchbay->setExclusive(on);
- if (on)
+ if (patchbay->isActivated())
patchbay->scan();
}
@@ -690,6 +694,14 @@
}
+void qpwgraph_form::patchbayAutoDisconnect ( bool on )
+{
+ m_ui.graphCanvas->setPatchbayAutoDisconnect(on);
+
+ stabilize();
+}
+
+
// Main menu slots.
void qpwgraph_form::viewMenubar ( bool on )
{
@@ -854,6 +866,33 @@
}
+void qpwgraph_form::helpAlsaMidi ( bool on )
+{
+#ifdef CONFIG_ALSA_MIDI
+ if (on && m_alsamidi == nullptr) {
+ m_alsamidi = new qpwgraph_alsamidi(m_ui.graphCanvas);
+ QObject::connect(
+ m_alsamidi, SIGNAL(changed()),
+ this, SLOT(alsamidi_changed()));
+ ++m_alsamidi_changed;
+ }
+ else
+ if (!on && m_alsamidi) {
+ m_alsamidi->clearItems();
+ QObject::disconnect(
+ m_alsamidi, SIGNAL(changed()),
+ this, SLOT(alsamidi_changed()));
+ delete m_alsamidi;
+ m_alsamidi = nullptr;
+ }
+#else
+ (void) on;
+#endif
+
+ stabilize();
+}
+
+
void qpwgraph_form::helpAbout (void)
{
static const QString title = PROJECT_NAME;
@@ -1119,7 +1158,7 @@
if (nchanged > 0) {
qpwgraph_patchbay *patchbay = m_ui.graphCanvas->patchbay();
- if (patchbay)
+ if (patchbay && patchbay->isActivated())
patchbay->scan();
stabilize();
}
@@ -1195,6 +1234,10 @@
m_zoom_slider->setValue(zoom_value);
m_zoom_spinbox->blockSignals(is_spinbox_blocked);
m_zoom_slider->blockSignals(is_slider_blocked);
+
+#ifdef CONFIG_ALSA_MIDI
+ m_ui.viewColorsAlsaMidiAction->setEnabled(m_alsamidi != nullptr);
+#endif
}
@@ -1242,7 +1285,9 @@
m_ui.graphCanvas->patchbayEdit();
- patchbay->scan();
+ if (patchbay->isActivated())
+ patchbay->scan();
+
return true;
}
@@ -1556,12 +1601,15 @@
const bool is_activated = m_config->isPatchbayActivated();
const bool is_exclusive = m_config->isPatchbayExclusive();
const bool is_autopin = m_config->isPatchbayAutoPin();
+ const bool is_autodisconnect = m_config->isPatchbayAutoDisconnect();
m_ui.patchbayActivatedAction->setChecked(is_activated);
m_ui.patchbayExclusiveAction->setChecked(is_exclusive);
m_ui.patchbayAutoPinAction->setChecked(is_autopin);
+ m_ui.patchbayAutoDisconnectAction->setChecked(is_autodisconnect);
patchbay->setActivated(is_activated);
patchbay->setExclusive(is_exclusive);
m_ui.graphCanvas->setPatchbayAutoPin(is_autopin);
+ m_ui.graphCanvas->setPatchbayAutoDisconnect(is_autodisconnect);
}
m_ui.viewMenubarAction->setChecked(m_config->isMenubar());
@@ -1625,6 +1673,13 @@
m_ui.helpSystemTrayAction->setChecked(is_systray_enabled);
helpSystemTray(is_systray_enabled);
#endif
+
+#ifdef CONFIG_ALSA_MIDI
+ const bool is_alsa_midi
+ = m_config->isAlsaMidiEnabled();
+ m_ui.helpAlsaMidiAction->setChecked(is_alsa_midi);
+ helpAlsaMidi(is_alsa_midi);
+#endif
}
@@ -1646,6 +1701,7 @@
m_config->setMenubar(m_ui.MenuBar->isVisible());
m_config->setPatchbayAutoPin(m_ui.patchbayAutoPinAction->isChecked());
+ m_config->setPatchbayAutoDisconnect(m_ui.patchbayAutoDisconnectAction->isChecked());
m_config->setPatchbayExclusive(m_ui.patchbayExclusiveAction->isChecked());
m_config->setPatchbayActivated(m_ui.patchbayActivatedAction->isChecked());
m_config->setPatchbayPath(m_patchbay_path);
@@ -1655,6 +1711,10 @@
m_config->setSystemTrayEnabled(m_ui.helpSystemTrayAction->isChecked());
#endif
+#ifdef CONFIG_ALSA_MIDI
+ m_config->setAlsaMidiEnabled(m_ui.helpAlsaMidiAction->isChecked());
+#endif
+
m_config->saveState(this);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_form.h new/qpwgraph-v0.6.1/src/qpwgraph_form.h
--- old/qpwgraph-v0.6.0/src/qpwgraph_form.h 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_form.h 2023-12-01 22:20:26.000000000 +0100
@@ -114,6 +114,7 @@
void patchbayUnpin();
void patchbayAutoPin(bool on);
+ void patchbayAutoDisconnect(bool on);
// Main menu slots.
void viewMenubar(bool on);
@@ -138,6 +139,7 @@
void viewConnectThroughNodes(bool on);
void helpSystemTray(bool on);
+ void helpAlsaMidi(bool on);
void helpAbout();
void helpAboutQt();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_form.ui new/qpwgraph-v0.6.1/src/qpwgraph_form.ui
--- old/qpwgraph-v0.6.0/src/qpwgraph_form.ui 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_form.ui 2023-12-01 22:20:26.000000000 +0100
@@ -88,6 +88,7 @@
<addaction name="separator"/>
<addaction name="separator"/>
<addaction name="patchbayAutoPinAction"/>
+ <addaction name="patchbayAutoDisconnectAction"/>
</widget>
<widget class="QMenu" name="editMenu">
<property name="title">
@@ -481,6 +482,23 @@
<string/>
</property>
</action>
+ <action name="patchbayAutoDisconnectAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Auto &Disconnect</string>
+ </property>
+ <property name="toolTip">
+ <string>Auto disconnect on deactivate</string>
+ </property>
+ <property name="statusTip">
+ <string>Auto disconnect on deactivate current patchbay</string>
+ </property>
+ <property name="shortcut">
+ <string/>
+ </property>
+ </action>
<action name="graphQuitAction">
<property name="text">
<string>&Quit</string>
@@ -1045,6 +1063,26 @@
</property>
<property name="shortcut">
<string/>
+ </property>
+ </action>
+ <action name="helpAlsaMidiAction">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>&Enable ALSA MIDI</string>
+ </property>
+ <property name="iconText">
+ <string>ALSA MIDI</string>
+ </property>
+ <property name="toolTip">
+ <string>ALSA MIDI</string>
+ </property>
+ <property name="statusTip">
+ <string>Enable ALSA MIDI</string>
+ </property>
+ <property name="shortcut">
+ <string/>
</property>
</action>
<action name="helpAboutAction">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_patchbay.cpp new/qpwgraph-v0.6.1/src/qpwgraph_patchbay.cpp
--- old/qpwgraph-v0.6.0/src/qpwgraph_patchbay.cpp 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_patchbay.cpp 2023-12-01 22:20:26.000000000 +0100
@@ -226,9 +226,6 @@
// Execute and apply rules to graph.
bool qpwgraph_patchbay::scan (void)
{
- if (!m_activated)
- return false;
-
if (m_canvas == nullptr)
return false;
@@ -282,7 +279,7 @@
item->port_type);
if (port2 == nullptr)
continue;
- if (m_exclusive) {
+ if (m_activated && m_exclusive) {
foreach (qpwgraph_connect *connect12, port1->connects()) {
qpwgraph_port *port12 = connect12->port2();
if (port12 == nullptr)
@@ -323,8 +320,20 @@
}
}
}
- if (!port1->findConnect(port2))
+ qpwgraph_connect *connect12 = port1->findConnect(port2);
+ if (connect12 == nullptr && m_activated)
m_canvas->emitConnected(port1, port2);
+ else
+ if (!m_activated && m_canvas->isPatchbayAutoDisconnect()) {
+ const Item item12(
+ node1->nodeType(),
+ port1->portType(),
+ node1->nodeName(),
+ port1->portName(),
+ node2->nodeName(),
+ port2->portName());
+ disconnects.insert(item12, connect12);
+ }
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_pipewire.cpp new/qpwgraph-v0.6.1/src/qpwgraph_pipewire.cpp
--- old/qpwgraph-v0.6.0/src/qpwgraph_pipewire.cpp 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_pipewire.cpp 2023-12-01 22:20:26.000000000 +0100
@@ -931,7 +931,7 @@
// PipeWire node:port finder and creator if not existing.
bool qpwgraph_pipewire::findNodePort (
- uint32_t node_id, uint32_t port_id, qpwgraph_item::Mode port_mode,
+ uint node_id, uint port_id, qpwgraph_item::Mode port_mode,
qpwgraph_node **node, qpwgraph_port **port, bool add_new )
{
Node *n = findNode(node_id);
@@ -964,7 +964,7 @@
}
}
- if (*node && m_recycled.value(qpwgraph_node::NodeIdKey(*node), nullptr))
+ if (*node && m_recycled_nodes.value(qpwgraph_node::NodeIdKey(*node), nullptr))
return false;
if (*node && n->node_changed) {
@@ -975,6 +975,9 @@
if (*node)
*port = (*node)->findPort(port_id, port_mode, port_type);
+ if (*port && m_recycled_ports.value(qpwgraph_port::PortIdKey(*port), nullptr))
+ return false;
+
if (add_new && *node == nullptr) {
QString node_name = n->node_name;
if ((p->port_flags & Port::Physical) == Port::None) {
@@ -1089,7 +1092,8 @@
//
qpwgraph_sect::resetItems(qpwgraph_pipewire::nodeType());
- m_recycled.clear();
+ m_recycled_nodes.clear();
+ m_recycled_ports.clear();
}
@@ -1107,7 +1111,8 @@
//
qpwgraph_sect::clearItems(qpwgraph_pipewire::nodeType());
- m_recycled.clear();
+ m_recycled_nodes.clear();
+ m_recycled_ports.clear();
}
@@ -1290,6 +1295,8 @@
uint port_type,
uint port_flags )
{
+ recyclePort(port_id, node_id, port_mode, port_type);
+
Node *node = findNode(node_id);
if (node == nullptr)
return nullptr;
@@ -1373,26 +1380,38 @@
}
-// Special node recycler...
-void qpwgraph_pipewire::recycleNode (
- uint node_id, qpwgraph_item::Mode node_mode )
+// Special node finder...
+qpwgraph_node *qpwgraph_pipewire::findNode (
+ uint node_id, qpwgraph_item::Mode node_mode ) const
{
const uint node_type = qpwgraph_pipewire::nodeType();
qpwgraph_node *node = qpwgraph_sect::findNode(node_id, node_mode, node_type);
if (node == nullptr)
node = qpwgraph_sect::findNode(node_id, qpwgraph_item::Duplex, node_type);
+
+ return node;
+}
+
+
+// Special node recycler...
+void qpwgraph_pipewire::recycleNode (
+ uint node_id, qpwgraph_item::Mode node_mode )
+{
+ qpwgraph_node *node = findNode(node_id, node_mode);
+ if (node)
+ m_recycled_nodes.insert(qpwgraph_node::NodeIdKey(node), node);
+}
+
+
+// Special port recycler...
+void qpwgraph_pipewire::recyclePort (
+ uint port_id, uint node_id, qpwgraph_item::Mode port_mode, uint port_type )
+{
+ qpwgraph_node *node = findNode(node_id, port_mode);
if (node) {
- m_recycled.insert(qpwgraph_node::NodeIdKey(node), node);
- #if 0
- for (qpwgraph_port *port : node->ports()) {
- if (port->portMode() & qpwgraph_item::Output) {
- for (qpwgraph_connect *connect : port->connects()) {
- connect->setMarked(false);
- connect->disconnect();
- }
- }
- }
- #endif
+ qpwgraph_port *port = node->findPort(port_id, port_mode, port_type);
+ if (port)
+ m_recycled_ports.insert(qpwgraph_port::PortIdKey(port), port);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qpwgraph-v0.6.0/src/qpwgraph_pipewire.h new/qpwgraph-v0.6.1/src/qpwgraph_pipewire.h
--- old/qpwgraph-v0.6.0/src/qpwgraph_pipewire.h 2023-11-08 15:40:10.000000000 +0100
+++ new/qpwgraph-v0.6.1/src/qpwgraph_pipewire.h 2023-12-01 22:20:26.000000000 +0100
@@ -135,11 +135,17 @@
// PipeWire node:port finder and creator if not existing.
bool findNodePort(
- uint32_t node_id, uint32_t port_id, qpwgraph_item::Mode port_mode,
+ uint node_id, uint port_id, qpwgraph_item::Mode port_mode,
qpwgraph_node **node, qpwgraph_port **port, bool add_new);
- // Special node recycler...
- void recycleNode(uint node_id, qpwgraph_item::Mode node_mode);
+ // Special node finder...
+ qpwgraph_node *findNode(uint node_id, qpwgraph_item::Mode node_mode) const;
+
+ // Special node/port recycler...
+ void recycleNode(
+ uint node_id, qpwgraph_item::Mode node_mode);
+ void recyclePort(
+ uint port_id, uint node_id, qpwgraph_item::Mode port_mode, uint port_type);
private:
@@ -150,7 +156,8 @@
QHash<uint, Object *> m_objectids;
QList<Object *> m_objects;
- qpwgraph_node::NodeIds m_recycled;
+ qpwgraph_node::NodeIds m_recycled_nodes;
+ qpwgraph_port::PortIds m_recycled_ports;
// Callback sanity mutex.
QMutex m_mutex1;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package harfbuzz for openSUSE:Factory checked in at 2023-12-12 19:32:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/harfbuzz (Old)
and /work/SRC/openSUSE:Factory/.harfbuzz.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "harfbuzz"
Tue Dec 12 19:32:32 2023 rev:108 rq:1132654 version:8.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/harfbuzz/harfbuzz.changes 2023-11-19 20:14:05.378674753 +0100
+++ /work/SRC/openSUSE:Factory/.harfbuzz.new.25432/harfbuzz.changes 2023-12-12 19:33:03.850307550 +0100
@@ -275,0 +276,7 @@
+ + Drop harfbuzz-CVE-2022-33068.patch
+
+-------------------------------------------------------------------
+Tue May 21 09:37:40 UTC 2022 - Michael Gorse <mgorse(a)suse.com>
+
+- Add harfbuzz-CVE-2022-33068.patch: sbix: limit glyph extents
+ (boo#1200900 CVE-2022-33068).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sysprof for openSUSE:Factory checked in at 2023-12-12 19:32:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sysprof (Old)
and /work/SRC/openSUSE:Factory/.sysprof.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysprof"
Tue Dec 12 19:32:32 2023 rev:32 rq:1132652 version:45.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/sysprof/sysprof.changes 2023-10-25 18:05:48.208457934 +0200
+++ /work/SRC/openSUSE:Factory/.sysprof.new.25432/sysprof.changes 2023-12-12 19:33:03.222284379 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 15:01:54 UTC 2023 - Yifan Jiang <yfjiang(a)suse.com>
+
+- Add explicitly-include-unistd.patch and specify higher version of
+ gcc to build on SLE/Leap.
+
+-------------------------------------------------------------------
New:
----
explicitly-include-unistd.patch
BETA DEBUG BEGIN:
New:
- Add explicitly-include-unistd.patch and specify higher version of
gcc to build on SLE/Leap.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sysprof.spec ++++++
--- /var/tmp/diff_new_pack.MNNskJ/_old 2023-12-12 19:33:03.702302090 +0100
+++ /var/tmp/diff_new_pack.MNNskJ/_new 2023-12-12 19:33:03.702302090 +0100
@@ -30,8 +30,13 @@
URL: https://wiki.gnome.org/Apps/Sysprof
Source0: https://download.gnome.org/sources/sysprof/45/sysprof-%{version}.tar.xz
Patch0: harden_sysprof3.service.patch
+Patch1: explicitly-include-unistd.patch
BuildRequires: c++_compiler
+%if 0%{?sle_version} && 0%{?sle_version} < 160000
+BuildRequires: gcc11
+BuildRequires: gcc11-c++
+%endif
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: itstool
@@ -92,9 +97,17 @@
%lang_package
%prep
-%autosetup -p1 -n sysprof-%{version}
+%setup -q -n sysprof-%{version}
+%patch -P 0 -p1
+%if 0%{?sle_version} && 0%{?sle_version} < 160000
+%patch -P 1 -p1
+%endif
%build
+%if 0%{?sle_version} && 0%{?sle_version} < 160000
+export CC=gcc-11
+export CXX=g++-11
+%endif
%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects
%meson -Dgtk=true -Dtests=false
%meson_build
++++++ explicitly-include-unistd.patch ++++++
Index: sysprof-45.1/src/libsysprof/sysprof-elf-loader.c
===================================================================
--- sysprof-45.1.orig/src/libsysprof/sysprof-elf-loader.c
+++ sysprof-45.1/src/libsysprof/sysprof-elf-loader.c
@@ -21,6 +21,7 @@
#include "config.h"
#include <fcntl.h>
+#include <unistd.h>
#include <sys/stat.h>
#include "sysprof-elf-private.h"
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-12 19:32:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell (Old)
and /work/SRC/openSUSE:Factory/.gnome-shell.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-shell"
Tue Dec 12 19:32:30 2023 rev:247 rq:1132653 version:45.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-shell/gnome-shell.changes 2023-12-07 19:09:19.312860280 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-shell.new.25432/gnome-shell.changes 2023-12-12 19:33:01.246211470 +0100
@@ -608,2 +608,3 @@
-- Remove gnome-shell-42.0-fix-switching-configuration.patch (merged
- upstream).
+- Remove merged upstream:
+ + gnome-shell-42.0-fix-switching-configuration.patch
+ + gnome-shell-Pass-cancellable-when-querying-file-info.patch
@@ -748,0 +750,7 @@
+
+-------------------------------------------------------------------
+Fri Feb 7 07:25:33 UTC 2022 - Xiaoguang Wang <xiaoguang.wang(a)suse.com>
+
+- Add gnome-shell-Pass-cancellable-when-querying-file-info.patch:
+ Pass cancellable when querying file info
+ (bsc#1205518 glgo#GNOME/gnome-shell!2268)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package deja-dup for openSUSE:Factory checked in at 2023-12-12 19:32:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/deja-dup (Old)
and /work/SRC/openSUSE:Factory/.deja-dup.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "deja-dup"
Tue Dec 12 19:32:28 2023 rev:76 rq:1132651 version:45.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/deja-dup/deja-dup.changes 2023-11-23 21:44:04.599068108 +0100
+++ /work/SRC/openSUSE:Factory/.deja-dup.new.25432/deja-dup.changes 2023-12-12 19:33:00.614188150 +0100
@@ -232,0 +233,6 @@
+ * Drop upstream merged deja-dup-vala-fix.patch
+
+-------------------------------------------------------------------
+Mon Sep 5 :39:50 UTC 2022 - Michael Gorse <mgorse(a)suse.com>
+
+- Add deja-dup-vala-fix.patch: fix for new vala (bsc#1197712).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
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-12 19:32:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nautilus (Old)
and /work/SRC/openSUSE:Factory/.nautilus.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nautilus"
Tue Dec 12 19:32:25 2023 rev:212 rq:1132442 version:45.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/nautilus/nautilus.changes 2023-12-07 19:09:44.953806245 +0100
+++ /work/SRC/openSUSE:Factory/.nautilus.new.25432/nautilus.changes 2023-12-12 19:32:54.297955107 +0100
@@ -346,0 +347,7 @@
+ + Drop upstream merged nautilus-CVE-2022-37290.patch.
+
+-------------------------------------------------------------------
+Mon Dec 1 10:58:11 UTC 2022 - Yifan Jiang <yfjiang(a)suse.com>
+
+- Add nautilus-CVE-2022-37290.patch to fix the CVE-2022-37290
+ (bsc#1205418).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libosinfo for openSUSE:Factory checked in at 2023-12-12 19:32:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libosinfo (Old)
and /work/SRC/openSUSE:Factory/.libosinfo.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libosinfo"
Tue Dec 12 19:32:23 2023 rev:50 rq:1131677 version:1.11.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libosinfo/libosinfo.changes 2023-11-15 21:06:35.931850442 +0100
+++ /work/SRC/openSUSE:Factory/.libosinfo.new.25432/libosinfo.changes 2023-12-12 19:32:53.577928541 +0100
@@ -4 +4 @@
-- Update to version 1.11.0 (jsc#PED-2104)
+- Update to version 1.11.0 (jsc#PED-6305)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package scrypt for openSUSE:Factory checked in at 2023-12-12 19:32:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scrypt (Old)
and /work/SRC/openSUSE:Factory/.scrypt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scrypt"
Tue Dec 12 19:32:23 2023 rev:5 rq:1132630 version:1.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/scrypt/scrypt.changes 2020-09-16 19:38:40.118753931 +0200
+++ /work/SRC/openSUSE:Factory/.scrypt.new.25432/scrypt.changes 2023-12-12 19:32:52.189877327 +0100
@@ -1,0 +2,6 @@
+Mon Dec 11 12:51:12 UTC 2023 - Wang Jun <badboywj(a)gmail.com>
+
+- update to 1.3.2:
+ * see https://github.com/Tarsnap/scrypt/compare/1.3.0...1.3.1
+
+-------------------------------------------------------------------
Old:
----
scrypt-1.3.1.tgz
scrypt-1.3.1.tgz.asc
New:
----
scrypt-1.3.2.tgz
scrypt-sigs-1.3.2.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scrypt.spec ++++++
--- /var/tmp/diff_new_pack.vMVhDN/_old 2023-12-12 19:32:53.029908321 +0100
+++ /var/tmp/diff_new_pack.vMVhDN/_new 2023-12-12 19:32:53.033908468 +0100
@@ -1,7 +1,7 @@
#
# spec file for package scrypt
#
-# Copyright (c) 2020 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,14 +17,14 @@
Name: scrypt
-Version: 1.3.1
+Version: 1.3.2
Release: 0
Summary: Password-based encryption utility using the scrypt key derivation function
License: BSD-3-Clause
Group: Productivity/Networking/Security
URL: https://www.tarsnap.com/scrypt.html
Source0: https://www.tarsnap.com/scrypt/scrypt-%{version}.tgz
-Source1: https://www.tarsnap.com/scrypt/scrypt-sigs-%{version}.asc#/scrypt-%{version…
+Source1: https://www.tarsnap.com/scrypt/scrypt-sigs-%{version}.asc
Source3: %name.keyring
BuildRequires: openssl-devel
++++++ scrypt-1.3.1.tgz -> scrypt-1.3.2.tgz ++++++
++++ 22724 lines of diff (skipped)
++++++ scrypt-sigs-1.3.2.asc ++++++
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
SHA256 (scrypt-1.3.2.tgz) = d632c1193420ac6faebf9482e65e33d3a5664eccd643b09a509d21d1c1f29be2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJlGfKwAAoJEJOdiDtqV7fy8h4QAJpEo42gnMq4ZeQo9PscDKb9
rfTnUqHTqpGLXv9GhZpURkS8AIVgL2F/MvZqIaDD9KtNxXMHDBjUmDTzuAtZKlv+
hufsCimKhdf2D4NKRuDguClABkoy4RlsX9dBIavBvmzV0Pr9rGOipYRwCpp2+IWZ
SaKn+5UuPDaY6fpHyfxcY781piWszR/gM0pBfBxDczNXsH4gB1G3eSYwvK0CK0w/
GC4Lq40YWXkBbdRXkAfSrn5Fjzm1vpPIhG354GrjgbAYgUhqStLEbxa0IZG6p7rw
dI8LlM7Ybf1DgYuERtxao6QHWwZj2Sb98PIQLGr3+BOXVAFuFkWZxf+Fyj2dSKKy
95EzAaaUlJvoBoX1U6MfzuuDv2DhYLR7BsO/SLFl9rwBUiubPvuXC7Cb1k3VBhYv
3D5xzCTJCHFkZ1JnwZXl1sacNl43NeWPuWUC3NZngLQnO0HI8x4/BiDHzPxsMKU6
uBfjDFtDfIWvw8q/1c7mHYHTUwQeJbaTKHM1+SFHmfvXEaHUv5gc0xNEinpfXTK5
Cw74mn0m+OFPtd33t7PWO9AhQDyjlMwRlWDaC8nPx1123g35obMC7fwRSIZvuy0W
mr0oYEi1tWlfR1l+ROdMzPQVRWVYW83fe/1jhASHnDCVeVACMPbsdFbPy0ESIEP8
7JUJcil8IM7qiHGXoQ3C
=cYcG
-----END PGP SIGNATURE-----
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package osinfo-db-tools for openSUSE:Factory checked in at 2023-12-12 19:32:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/osinfo-db-tools (Old)
and /work/SRC/openSUSE:Factory/.osinfo-db-tools.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osinfo-db-tools"
Tue Dec 12 19:32:20 2023 rev:14 rq:1131675 version:1.11.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/osinfo-db-tools/osinfo-db-tools.changes 2023-11-15 21:06:36.967888667 +0100
+++ /work/SRC/openSUSE:Factory/.osinfo-db-tools.new.25432/osinfo-db-tools.changes 2023-12-12 19:32:46.689674392 +0100
@@ -4 +4 @@
-- Update to version 1.11.0 (jsc#PED-2104)
+- Update to version 1.11.0 (jsc#PED-6305)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package osinfo-db for openSUSE:Factory checked in at 2023-12-12 19:32:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/osinfo-db (Old)
and /work/SRC/openSUSE:Factory/.osinfo-db.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osinfo-db"
Tue Dec 12 19:32:19 2023 rev:68 rq:1131674 version:20231027
Changes:
--------
--- /work/SRC/openSUSE:Factory/osinfo-db/osinfo-db.changes 2023-11-15 21:06:37.971925712 +0100
+++ /work/SRC/openSUSE:Factory/.osinfo-db.new.25432/osinfo-db.changes 2023-12-12 19:32:45.893645021 +0100
@@ -4 +4 @@
-- Update to database version 20231027 (jsc#PED-2104)
+- Update to database version 20231027 (jsc#PED-6305)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
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-12 19:32:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/praat (Old)
and /work/SRC/openSUSE:Factory/.praat.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "praat"
Tue Dec 12 19:32:18 2023 rev:43 rq:1132623 version:6.4.01
Changes:
--------
--- /work/SRC/openSUSE:Factory/praat/praat.changes 2023-12-03 20:50:08.572706403 +0100
+++ /work/SRC/openSUSE:Factory/.praat.new.25432/praat.changes 2023-12-12 19:32:44.269585100 +0100
@@ -1,0 +2,19 @@
+Sat Dec 9 16:20:10 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 6.4.01:
+ * Removed some visible percent signs before variable names from
+ the scripting tutorial.
+ * SoundEditor/TextGridEditor logging: when logging 'f0', Praat
+ now correctly reports values in Hz (rather than logarithms) if
+ Unit is set to “Hertz (logarithmic)”. This bug had existed
+ since Praat version 4.3.16 (June 2005).
+ * SoundEditor/TextGridEditor scripting compatibility: made old
+ versions of “Pitch settings...” and “Advanced pitch
+ settings...” available to scripts again, made the old
+ denominations “autocorrelation” and “cross-correlation” (as
+ pitch analysis methods) available to scripts again, and made
+ obsolete versions of pitch analysis settings (such as “Pitch
+ silence threshold”) available again, now under the
+ COMPATIBILITY section of the output of “Editor info”.
+
+-------------------------------------------------------------------
Old:
----
praat-6.4.tar.gz
New:
----
praat-6.4.01.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ praat.spec ++++++
--- /var/tmp/diff_new_pack.T6HqVM/_old 2023-12-12 19:32:45.653636166 +0100
+++ /var/tmp/diff_new_pack.T6HqVM/_new 2023-12-12 19:32:45.657636314 +0100
@@ -17,7 +17,7 @@
Name: praat
-Version: 6.4
+Version: 6.4.01
Release: 0
Summary: Phonetics by computer
License: GPL-3.0-or-later
++++++ praat-6.4.tar.gz -> praat-6.4.01.tar.gz ++++++
/work/SRC/openSUSE:Factory/praat/praat-6.4.tar.gz /work/SRC/openSUSE:Factory/.praat.new.25432/praat-6.4.01.tar.gz differ: char 18, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ocaml-dune for openSUSE:Factory checked in at 2023-12-12 19:32:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml-dune (Old)
and /work/SRC/openSUSE:Factory/.ocaml-dune.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml-dune"
Tue Dec 12 19:32:16 2023 rev:39 rq:1132612 version:3.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml-dune/ocaml-dune.changes 2023-10-17 20:24:56.207152718 +0200
+++ /work/SRC/openSUSE:Factory/.ocaml-dune.new.25432/ocaml-dune.changes 2023-12-12 19:32:38.501372276 +0100
@@ -1,0 +2,6 @@
+Tue Dec 12 12:12:12 UTC 2023 - ohering(a)suse.de
+
+- Update to version 3.12.1
+ see included CHANGES.md file for details
+
+-------------------------------------------------------------------
Old:
----
ocaml-dune-3.11.1.tar.xz
New:
----
ocaml-dune-3.12.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ocaml-dune.spec ++++++
--- /var/tmp/diff_new_pack.TWjhyV/_old 2023-12-12 19:32:39.069393234 +0100
+++ /var/tmp/diff_new_pack.TWjhyV/_new 2023-12-12 19:32:39.073393381 +0100
@@ -25,7 +25,7 @@
%define pkg ocaml-dune
%global _buildshell /bin/bash
Name: %pkg%nsuffix
-Version: 3.11.1
+Version: 3.12.1
Release: 0
%{?ocaml_preserve_bytecode}
License: MIT
@@ -34,7 +34,7 @@
URL: https://opam.ocaml.org/packages/dune
Source0: %pkg-%version.tar.xz
Requires: ocamlfind(compiler-libs)
-BuildRequires: ocaml-rpm-macros >= 20230101
+BuildRequires: ocaml-rpm-macros >= 20231101
BuildRequires: ocaml(ocaml_base_version) >= 4.08
%if "%build_flavor" == ""
Provides: %name-bootstrap = %version-%release
++++++ _service ++++++
--- /var/tmp/diff_new_pack.TWjhyV/_old 2023-12-12 19:32:39.113394857 +0100
+++ /var/tmp/diff_new_pack.TWjhyV/_new 2023-12-12 19:32:39.117395005 +0100
@@ -1,7 +1,7 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="filename">ocaml-dune</param>
- <param name="revision">7cbb0e7277c6cacd1ccf7941cac5a03c25fc63cf</param>
+ <param name="revision">2e4994f005e9a94993150601bdb60759d9de5ab6</param>
<param name="scm">git</param>
<param name="submodules">disable</param>
<param name="url">https://github.com/ocaml/dune.git</param>
++++++ ocaml-dune-3.11.1.tar.xz -> ocaml-dune-3.12.1.tar.xz ++++++
++++ 53348 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2023-12-12 19:32:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crmsh (Old)
and /work/SRC/openSUSE:Factory/.crmsh.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crmsh"
Tue Dec 12 19:32:14 2023 rev:315 rq:1132598 version:4.6.0+20231212.54751d3f
Changes:
--------
--- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes 2023-12-11 21:51:15.809111225 +0100
+++ /work/SRC/openSUSE:Factory/.crmsh.new.25432/crmsh.changes 2023-12-12 19:32:36.897313091 +0100
@@ -1,0 +2,8 @@
+Tue Dec 12 03:10:42 UTC 2023 - XLiang(a)suse.com
+
+- Update to version 4.6.0+20231212.54751d3f:
+ * Dev: unittest: Adjust unit test for previous change
+ * Dev: behave: Add functional test for previous change
+ * Fix: ui_cluster: Improve the process of 'crm cluster stop' (bsc#1213889)
+
+-------------------------------------------------------------------
Old:
----
crmsh-4.6.0+20231211.4b74412a.tar.bz2
New:
----
crmsh-4.6.0+20231212.54751d3f.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crmsh.spec ++++++
--- /var/tmp/diff_new_pack.nBsgRl/_old 2023-12-12 19:32:37.505335526 +0100
+++ /var/tmp/diff_new_pack.nBsgRl/_new 2023-12-12 19:32:37.505335526 +0100
@@ -36,7 +36,7 @@
Summary: High Availability cluster command-line interface
License: GPL-2.0-or-later
Group: %{pkg_group}
-Version: 4.6.0+20231211.4b74412a
+Version: 4.6.0+20231212.54751d3f
Release: 0
URL: http://crmsh.github.io
Source0: %{name}-%{version}.tar.bz2
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.nBsgRl/_old 2023-12-12 19:32:37.545337002 +0100
+++ /var/tmp/diff_new_pack.nBsgRl/_new 2023-12-12 19:32:37.549337150 +0100
@@ -9,7 +9,7 @@
</service>
<service name="tar_scm">
<param name="url">https://github.com/ClusterLabs/crmsh.git</param>
- <param name="changesrevision">a23bea64548038b55b3650ae73cb3b88f025ad68</param>
+ <param name="changesrevision">db02a38df79fc1e1ee20c9dc4d1c39028e2c3c11</param>
</service>
</servicedata>
(No newline at EOF)
++++++ crmsh-4.6.0+20231211.4b74412a.tar.bz2 -> crmsh-4.6.0+20231212.54751d3f.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231211.4b74412a/crmsh/ui_cluster.py new/crmsh-4.6.0+20231212.54751d3f/crmsh/ui_cluster.py
--- old/crmsh-4.6.0+20231211.4b74412a/crmsh/ui_cluster.py 2023-12-11 03:36:33.000000000 +0100
+++ new/crmsh-4.6.0+20231212.54751d3f/crmsh/ui_cluster.py 2023-12-12 03:47:05.000000000 +0100
@@ -193,42 +193,77 @@
for node in node_list:
logger.info("The cluster stack started on {}".format(node))
- @command.skill_level('administrator')
- def do_stop(self, context, *args):
- '''
- Stops the cluster stack on all nodes or specific node(s)
- '''
+ @staticmethod
+ def _node_ready_to_stop_cluster_service(node):
+ """
+ Check if the specific node is ready to stop cluster service
+
+ If both corosync.service and pacemaker.service is active, return True
+ If some services started, stop them first and return False
+ """
service_manager = ServiceManager()
- node_list = parse_option_for_nodes(context, *args)
- for node in node_list[:]:
- if not service_manager.service_is_active("corosync.service", remote_addr=node):
- if service_manager.service_is_active("sbd.service", remote_addr=node):
- service_manager.stop_service("corosync", remote_addr=node)
- logger.info("The cluster stack stopped on {}".format(node))
- else:
- logger.info("The cluster stack already stopped on {}".format(node))
- node_list.remove(node)
- elif not service_manager.service_is_active("pacemaker.service", remote_addr=node):
+
+ corosync_active = service_manager.service_is_active("corosync.service", remote_addr=node)
+ sbd_active = service_manager.service_is_active("sbd.service", remote_addr=node)
+ pacemaker_active = service_manager.service_is_active("pacemaker.service", remote_addr=node)
+
+ if not corosync_active:
+ if sbd_active:
service_manager.stop_service("corosync", remote_addr=node)
- logger.info("The cluster stack stopped on {}".format(node))
- node_list.remove(node)
- if not node_list:
+ logger.info(f"The cluster stack stopped on {node}")
+ else:
+ logger.info(f"The cluster stack already stopped on {node}")
+ return False
+
+ elif not pacemaker_active:
+ service_manager.stop_service("corosync", remote_addr=node)
+ logger.info("The cluster stack stopped on {}".format(node))
+ return False
+
+ return True
+
+ @staticmethod
+ def _wait_for_dc(node=None):
+ """
+ Wait for the cluster's DC to become available
+ """
+ if not ServiceManager().service_is_active("pacemaker.service", remote_addr=node):
return
- dc_deadtime = utils.get_property("dc-deadtime") or str(constants.DC_DEADTIME_DEFAULT)
+ dc_deadtime = utils.get_property("dc-deadtime", peer=node) or str(constants.DC_DEADTIME_DEFAULT)
dc_timeout = int(dc_deadtime.strip('s')) + 5
try:
- utils.check_function_with_timeout(utils.get_dc, wait_timeout=dc_timeout)
+ utils.check_function_with_timeout(utils.get_dc, wait_timeout=dc_timeout, peer=node)
except TimeoutError:
logger.error("No DC found currently, please wait if the cluster is still starting")
- return False
+ raise utils.TerminateSubCommand
- # When dlm running and quorum is lost, before stop cluster service, should set
- # enable_quorum_fencing=0, enable_quorum_lockspace=0 for dlm config option
- if utils.is_dlm_running() and not utils.is_quorate():
+ @staticmethod
+ def _set_dlm(node=None):
+ """
+ When dlm running and quorum is lost, before stop cluster service, should set
+ enable_quorum_fencing=0, enable_quorum_lockspace=0 for dlm config option
+ """
+ if utils.is_dlm_running(node) and not utils.is_quorate(node):
logger.debug("Quorum is lost; Set enable_quorum_fencing=0 and enable_quorum_lockspace=0 for dlm")
- utils.set_dlm_option(enable_quorum_fencing=0, enable_quorum_lockspace=0)
+ utils.set_dlm_option(peer=node, enable_quorum_fencing=0, enable_quorum_lockspace=0)
+
+ @command.skill_level('administrator')
+ def do_stop(self, context, *args):
+ '''
+ Stops the cluster stack on all nodes or specific node(s)
+ '''
+ node_list = parse_option_for_nodes(context, *args)
+ node_list = [n for n in node_list if self._node_ready_to_stop_cluster_service(n)]
+ if not node_list:
+ return
+ logger.debug(f"stop node list: {node_list}")
+ self._wait_for_dc(node_list[0])
+
+ self._set_dlm(node_list[0])
+
+ service_manager = ServiceManager()
# Stop pacemaker since it can make sure cluster has quorum until stop corosync
node_list = service_manager.stop_service("pacemaker", node_list=node_list)
# Then, stop qdevice if is active
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231211.4b74412a/crmsh/utils.py new/crmsh-4.6.0+20231212.54751d3f/crmsh/utils.py
--- old/crmsh-4.6.0+20231211.4b74412a/crmsh/utils.py 2023-12-11 03:36:33.000000000 +0100
+++ new/crmsh-4.6.0+20231212.54751d3f/crmsh/utils.py 2023-12-12 03:47:05.000000000 +0100
@@ -957,14 +957,14 @@
return False
-def get_dc():
+def get_dc(peer=None):
cmd = "crmadmin -D -t 1"
- rc, s, _ = ShellUtils().get_stdout_stderr(add_sudo(cmd))
- if rc != 0:
+ _, out, _ = sh.cluster_shell().get_rc_stdout_stderr_without_input(peer, cmd)
+ if not out:
return None
- if not s.startswith("Designated"):
+ if not out.startswith("Designated"):
return None
- return s.split()[-1]
+ return out.split()[-1]
def wait4dc(what="", show_progress=True):
@@ -2741,48 +2741,63 @@
return re.search(r'Node\s+{}:\s+standby'.format(node), out) is not None
-def get_dlm_option_dict():
+def get_dlm_option_dict(peer=None):
"""
Get dlm config option dictionary
"""
- out = sh.cluster_shell().get_stdout_or_raise_error("dlm_tool dump_config")
+ out = sh.cluster_shell().get_stdout_or_raise_error("dlm_tool dump_config", peer)
return dict(re.findall("(\w+)=(\w+)", out))
-def set_dlm_option(**kargs):
+def set_dlm_option(peer=None, **kargs):
"""
Set dlm option
"""
shell = sh.cluster_shell()
- dlm_option_dict = get_dlm_option_dict()
+ dlm_option_dict = get_dlm_option_dict(peer=peer)
for option, value in kargs.items():
if option not in dlm_option_dict:
- raise ValueError('"{}" is not dlm config option'.format(option))
+ raise ValueError(f'"{option}" is not dlm config option')
if dlm_option_dict[option] != value:
- shell.get_stdout_or_raise_error('dlm_tool set_config "{}={}"'.format(option, value))
+ shell.get_stdout_or_raise_error(f'dlm_tool set_config "{option}={value}"', peer)
-def is_dlm_running():
+def is_dlm_running(peer=None):
"""
Check if dlm ra controld is running
"""
- from . import xmlutil
- return xmlutil.CrmMonXmlParser().is_resource_started(constants.DLM_CONTROLD_RA)
+ return is_resource_running(constants.DLM_CONTROLD_RA, peer=peer)
+
+
+def has_resource_configured(ra_type, peer=None):
+ """
+ Check if the RA configured
+ """
+ out = sh.cluster_shell().get_stdout_or_raise_error("crm_mon -1rR", peer)
+ return re.search(ra_type, out) is not None
-def is_dlm_configured():
+def is_resource_running(ra_type, peer=None):
+ """
+ Check if the RA running
+ """
+ out = sh.cluster_shell().get_stdout_or_raise_error("crm_mon -1rR", peer)
+ patt = f"\({ra_type}\):\s*Started"
+ return re.search(patt, out) is not None
+
+
+def is_dlm_configured(peer=None):
"""
Check if dlm configured
"""
- from . import xmlutil
- return xmlutil.CrmMonXmlParser().is_resource_configured(constants.DLM_CONTROLD_RA)
+ return has_resource_configured(constants.DLM_CONTROLD_RA, peer=peer)
-def is_quorate():
+def is_quorate(peer=None):
"""
Check if cluster is quorated
"""
- out = sh.cluster_shell().get_stdout_or_raise_error("corosync-quorumtool -s", success_exit_status={0, 2})
+ out = sh.cluster_shell().get_stdout_or_raise_error("corosync-quorumtool -s", peer, success_exit_status={0, 2})
res = re.search(r'Quorate:\s+(.*)', out)
if res:
return res.group(1) == "Yes"
@@ -2808,7 +2823,7 @@
return 0
-def get_property(name, property_type="crm_config"):
+def get_property(name, property_type="crm_config", peer=None):
"""
Get cluster properties
@@ -2819,7 +2834,7 @@
cmd = "CIB_file={} sudo --preserve-env=CIB_file crm configure get_property {}".format(cib_path, name)
else:
cmd = "sudo crm_attribute -t {} -n {} -Gq".format(property_type, name)
- rc, stdout, _ = ShellUtils().get_stdout_stderr(cmd)
+ rc, stdout, _ = sh.cluster_shell().get_rc_stdout_stderr_without_input(peer, cmd)
return stdout if rc == 0 else None
@@ -2952,7 +2967,7 @@
return rc
-def check_function_with_timeout(check_function, wait_timeout=30, interval=1):
+def check_function_with_timeout(check_function, wait_timeout=30, interval=1, *args, **kwargs):
"""
Run check_function in a loop
Return when check_function is true
@@ -2961,7 +2976,7 @@
current_time = int(time.time())
timeout = current_time + wait_timeout
while current_time <= timeout:
- if check_function():
+ if check_function(*args, **kwargs):
return
time.sleep(interval)
current_time = int(time.time())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231211.4b74412a/test/features/bootstrap_bugs.feature new/crmsh-4.6.0+20231212.54751d3f/test/features/bootstrap_bugs.feature
--- old/crmsh-4.6.0+20231211.4b74412a/test/features/bootstrap_bugs.feature 2023-12-11 03:36:33.000000000 +0100
+++ new/crmsh-4.6.0+20231212.54751d3f/test/features/bootstrap_bugs.feature 2023-12-12 03:47:05.000000000 +0100
@@ -132,6 +132,20 @@
When Run "crm cluster stop" on "hanode1"
Then Service "corosync" is "stopped" on "hanode1"
+ @clean
+ Scenario: Can't stop all nodes' cluster service when local node's service is down(bsc#1213889)
+ Given Cluster service is "stopped" on "hanode1"
+ And Cluster service is "stopped" on "hanode2"
+ When Run "crm cluster init -y" on "hanode1"
+ Then Cluster service is "started" on "hanode1"
+ When Run "crm cluster join -c hanode1 -y" on "hanode2"
+ Then Cluster service is "started" on "hanode2"
+ When Wait for DC
+ And Run "crm cluster stop" on "hanode1"
+ And Run "crm cluster stop --all" on "hanode1"
+ Then Cluster service is "stopped" on "hanode1"
+ And Cluster service is "stopped" on "hanode2"
+
@skip_non_root
@clean
Scenario: crm cluster join default behavior change in ssh key handling (bsc#1210693)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_ui_cluster.py new/crmsh-4.6.0+20231212.54751d3f/test/unittests/test_ui_cluster.py
--- old/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_ui_cluster.py 2023-12-11 03:36:33.000000000 +0100
+++ new/crmsh-4.6.0+20231212.54751d3f/test/unittests/test_ui_cluster.py 2023-12-12 03:47:05.000000000 +0100
@@ -80,52 +80,94 @@
mock_qdevice_configured.assert_called_once_with()
mock_info.assert_called_once_with("The cluster stack started on node1")
- @mock.patch('logging.Logger.info')
- @mock.patch('crmsh.service_manager.ServiceManager.service_is_active')
+ @mock.patch('crmsh.ui_cluster.Cluster._wait_for_dc')
+ @mock.patch('crmsh.ui_cluster.Cluster._node_ready_to_stop_cluster_service')
@mock.patch('crmsh.ui_cluster.parse_option_for_nodes')
- def test_do_stop_already_stopped(self, mock_parse_nodes, mock_active, mock_info):
+ def test_do_stop_return(self, mock_parse_nodes, mock_node_ready_to_stop_cluster_service, mock_dc):
+ mock_parse_nodes.return_value = ["node1", "node2"]
+ mock_node_ready_to_stop_cluster_service.side_effect = [False, False]
+
context_inst = mock.Mock()
- mock_parse_nodes.return_value = ["node1"]
- mock_active.side_effect = [False, False]
- self.ui_cluster_inst.do_stop(context_inst, "node1")
- mock_active.assert_has_calls([
- mock.call("corosync.service", remote_addr="node1"),
- mock.call("sbd.service", remote_addr="node1")
- ])
- mock_info.assert_called_once_with("The cluster stack already stopped on node1")
+ self.ui_cluster_inst.do_stop(context_inst, "node1", "node2")
+
+ mock_parse_nodes.assert_called_once_with(context_inst, "node1", "node2")
+ mock_node_ready_to_stop_cluster_service.assert_has_calls([mock.call("node1"), mock.call("node2")])
+ mock_dc.assert_not_called()
@mock.patch('logging.Logger.debug')
@mock.patch('logging.Logger.info')
- @mock.patch('crmsh.service_manager.ServiceManager.stop_service')
- @mock.patch('crmsh.utils.set_dlm_option')
- @mock.patch('crmsh.utils.is_quorate')
- @mock.patch('crmsh.utils.is_dlm_running')
- @mock.patch('crmsh.utils.get_dc')
- @mock.patch('crmsh.utils.check_function_with_timeout')
- @mock.patch('crmsh.utils.get_property')
- @mock.patch('crmsh.service_manager.ServiceManager.service_is_active')
+ @mock.patch('crmsh.ui_cluster.ServiceManager')
+ @mock.patch('crmsh.ui_cluster.Cluster._set_dlm')
+ @mock.patch('crmsh.ui_cluster.Cluster._wait_for_dc')
+ @mock.patch('crmsh.ui_cluster.Cluster._node_ready_to_stop_cluster_service')
@mock.patch('crmsh.ui_cluster.parse_option_for_nodes')
- def test_do_stop(self, mock_parse_nodes, mock_active, mock_get_property, mock_check, mock_get_dc, mock_dlm_running, mock_is_quorate, mock_set_dlm, mock_stop, mock_info, mock_debug):
+ def test_do_stop(self, mock_parse_nodes, mock_node_ready_to_stop_cluster_service, mock_dc,
+ mock_set_dlm, mock_service_manager, mock_info, mock_debug):
+ mock_parse_nodes.return_value = ["node1", "node2"]
+ mock_node_ready_to_stop_cluster_service.side_effect = [True, False]
+ mock_service_manager_inst = mock.Mock()
+ mock_service_manager.return_value = mock_service_manager_inst
+ mock_service_manager_inst.stop_service.side_effect = [["node1"], ["node1"], ["node1"]]
+ mock_service_manager_inst.service_is_active.return_value = True
+
context_inst = mock.Mock()
- mock_stop.side_effect = [["node1"], ["ndoe1"], ["node1"]]
- mock_parse_nodes.return_value = ["node1"]
- mock_active.side_effect = [True, True, True]
- mock_dlm_running.return_value = True
- mock_is_quorate.return_value = False
- mock_get_property.return_value = "20s"
+ self.ui_cluster_inst.do_stop(context_inst, "node1", "node2")
- self.ui_cluster_inst.do_stop(context_inst, "node1")
+ mock_parse_nodes.assert_called_once_with(context_inst, "node1", "node2")
+ mock_node_ready_to_stop_cluster_service.assert_has_calls([mock.call("node1"), mock.call("node2")])
+ mock_debug.assert_called_once_with("stop node list: ['node1']")
+ mock_dc.assert_called_once_with("node1")
+ mock_set_dlm.assert_called_once_with("node1")
+ mock_service_manager_inst.stop_service.assert_has_calls([
+ mock.call("pacemaker", node_list=["node1"]),
+ mock.call("corosync-qdevice.service", node_list=["node1"]),
+ mock.call("corosync", node_list=["node1"]),
+ ])
+ mock_info.assert_called_once_with("The cluster stack stopped on node1")
- mock_active.assert_has_calls([
+ @mock.patch('logging.Logger.info')
+ @mock.patch('crmsh.ui_cluster.ServiceManager')
+ def test_node_ready_to_stop_cluster_service_corosync(self, mock_service_manager, mock_info):
+ mock_service_manager_inst = mock.Mock()
+ mock_service_manager.return_value = mock_service_manager_inst
+ mock_service_manager_inst.service_is_active.side_effect = [False, True, False]
+ res = self.ui_cluster_inst._node_ready_to_stop_cluster_service("node1")
+ assert res is False
+ mock_service_manager_inst.service_is_active.assert_has_calls([
mock.call("corosync.service", remote_addr="node1"),
+ mock.call("sbd.service", remote_addr="node1"),
mock.call("pacemaker.service", remote_addr="node1"),
- mock.call("corosync-qdevice.service")
])
- mock_stop.assert_has_calls([
- mock.call("pacemaker", node_list=["node1"]),
- mock.call("corosync-qdevice.service", node_list=["node1"]),
- mock.call("corosync", node_list=["node1"])
+ mock_service_manager_inst.stop_service.assert_called_once_with("corosync", remote_addr="node1")
+ mock_info.assert_called_once_with("The cluster stack stopped on node1")
+
+ @mock.patch('logging.Logger.info')
+ @mock.patch('crmsh.ui_cluster.ServiceManager')
+ def test_node_ready_to_stop_cluster_service_pacemaker(self, mock_service_manager, mock_info):
+ mock_service_manager_inst = mock.Mock()
+ mock_service_manager.return_value = mock_service_manager_inst
+ mock_service_manager_inst.service_is_active.side_effect = [True, True, False]
+ res = self.ui_cluster_inst._node_ready_to_stop_cluster_service("node1")
+ assert res is False
+ mock_service_manager_inst.service_is_active.assert_has_calls([
+ mock.call("corosync.service", remote_addr="node1"),
+ mock.call("sbd.service", remote_addr="node1"),
+ mock.call("pacemaker.service", remote_addr="node1"),
])
+ mock_service_manager_inst.stop_service.assert_called_once_with("corosync", remote_addr="node1")
mock_info.assert_called_once_with("The cluster stack stopped on node1")
- mock_debug.assert_called_once_with("Quorum is lost; Set enable_quorum_fencing=0 and enable_quorum_lockspace=0 for dlm")
- mock_check.assert_called_once_with(mock_get_dc, wait_timeout=25)
+
+ @mock.patch('logging.Logger.info')
+ @mock.patch('crmsh.ui_cluster.ServiceManager')
+ def test_node_ready_to_stop_cluster_service(self, mock_service_manager, mock_info):
+ mock_service_manager_inst = mock.Mock()
+ mock_service_manager.return_value = mock_service_manager_inst
+ mock_service_manager_inst.service_is_active.side_effect = [True, True, True]
+ res = self.ui_cluster_inst._node_ready_to_stop_cluster_service("node1")
+ assert res is True
+ mock_service_manager_inst.service_is_active.assert_has_calls([
+ mock.call("corosync.service", remote_addr="node1"),
+ mock.call("sbd.service", remote_addr="node1"),
+ mock.call("pacemaker.service", remote_addr="node1"),
+ ])
+ mock_info.assert_not_called()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_utils.py new/crmsh-4.6.0+20231212.54751d3f/test/unittests/test_utils.py
--- old/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_utils.py 2023-12-11 03:36:33.000000000 +0100
+++ new/crmsh-4.6.0+20231212.54751d3f/test/unittests/test_utils.py 2023-12-12 03:47:05.000000000 +0100
@@ -1162,9 +1162,11 @@
mock_run.assert_called_once_with("crm_mon -1")
-(a)mock.patch('crmsh.sh.ClusterShell.get_stdout_or_raise_error')
+(a)mock.patch('crmsh.sh.cluster_shell')
def test_get_dlm_option_dict(mock_run):
- mock_run.return_value = """
+ mock_run_inst = mock.Mock()
+ mock_run.return_value = mock_run_inst
+ mock_run_inst.get_stdout_or_raise_error.return_value = """
key1=value1
key2=value2
"""
@@ -1173,7 +1175,7 @@
"key1": "value1",
"key2": "value2"
}
- mock_run.assert_called_once_with("dlm_tool dump_config")
+ mock_run_inst.get_stdout_or_raise_error.assert_called_once_with("dlm_tool dump_config", None)
@mock.patch('crmsh.utils.get_dlm_option_dict')
@@ -1187,41 +1189,47 @@
assert str(err.value) == '"name" is not dlm config option'
-(a)mock.patch('crmsh.sh.ClusterShell.get_stdout_or_raise_error')
+(a)mock.patch('crmsh.sh.cluster_shell')
@mock.patch('crmsh.utils.get_dlm_option_dict')
def test_set_dlm_option(mock_get_dict, mock_run):
+ mock_run_inst = mock.Mock()
+ mock_run.return_value = mock_run_inst
mock_get_dict.return_value = {
"key1": "value1",
"key2": "value2"
}
utils.set_dlm_option(key2="test")
- mock_run.assert_called_once_with('dlm_tool set_config "key2=test"')
+ mock_run_inst.get_stdout_or_raise_error.assert_called_once_with('dlm_tool set_config "key2=test"', None)
-(a)mock.patch('crmsh.xmlutil.CrmMonXmlParser')
-def test_is_dlm_configured(mock_parser):
- mock_parser().is_resource_configured.return_value = True
+(a)mock.patch('crmsh.utils.has_resource_configured')
+def test_is_dlm_configured(mock_configured):
+ mock_configured.return_value = True
assert utils.is_dlm_configured() is True
- mock_parser().is_resource_configured.assert_called_once_with(constants.DLM_CONTROLD_RA)
+ mock_configured.assert_called_once_with(constants.DLM_CONTROLD_RA, peer=None)
-(a)mock.patch('crmsh.sh.ClusterShell.get_stdout_or_raise_error')
+(a)mock.patch('crmsh.sh.cluster_shell')
def test_is_quorate_exception(mock_run):
- mock_run.return_value = "data"
+ mock_run_inst = mock.Mock()
+ mock_run.return_value = mock_run_inst
+ mock_run_inst.get_stdout_or_raise_error.return_value = "data"
with pytest.raises(ValueError) as err:
utils.is_quorate()
assert str(err.value) == "Failed to get quorate status from corosync-quorumtool"
- mock_run.assert_called_once_with("corosync-quorumtool -s", success_exit_status={0, 2})
+ mock_run_inst.get_stdout_or_raise_error.assert_called_once_with("corosync-quorumtool -s", None, success_exit_status={0, 2})
-(a)mock.patch('crmsh.sh.ClusterShell.get_stdout_or_raise_error')
+(a)mock.patch('crmsh.sh.cluster_shell')
def test_is_quorate(mock_run):
- mock_run.return_value = """
+ mock_run_inst = mock.Mock()
+ mock_run.return_value = mock_run_inst
+ mock_run_inst.get_stdout_or_raise_error.return_value = """
Ring ID: 1084783297/440
Quorate: Yes
"""
assert utils.is_quorate() is True
- mock_run.assert_called_once_with("corosync-quorumtool -s", success_exit_status={0, 2})
+ mock_run_inst.get_stdout_or_raise_error.assert_called_once_with("corosync-quorumtool -s", None, success_exit_status={0, 2})
@mock.patch('crmsh.utils.etree.fromstring')
@@ -1290,12 +1298,14 @@
@mock.patch('os.getenv')
-(a)mock.patch('crmsh.sh.ShellUtils.get_stdout_stderr')
+(a)mock.patch('crmsh.sh.cluster_shell')
def test_get_property(mock_run, mock_env):
- mock_run.return_value = (0, "data", None)
+ mock_run_inst = mock.Mock()
+ mock_run.return_value = mock_run_inst
+ mock_run_inst.get_rc_stdout_stderr_without_input.return_value = (0, "data", "")
mock_env.return_value = "cib.xml"
assert utils.get_property("no-quorum-policy") == "data"
- mock_run.assert_called_once_with("CIB_file=cib.xml sudo --preserve-env=CIB_file crm configure get_property no-quorum-policy")
+ mock_run_inst.get_rc_stdout_stderr_without_input.assert_called_once_with(None, "CIB_file=cib.xml sudo --preserve-env=CIB_file crm configure get_property no-quorum-policy")
@mock.patch('logging.Logger.warning')
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gpxsee for openSUSE:Factory checked in at 2023-12-12 19:32:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpxsee (Old)
and /work/SRC/openSUSE:Factory/.gpxsee.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpxsee"
Tue Dec 12 19:32:11 2023 rev:115 rq:1132576 version:13.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/gpxsee/gpxsee.changes 2023-11-20 21:20:08.052098743 +0100
+++ /work/SRC/openSUSE:Factory/.gpxsee.new.25432/gpxsee.changes 2023-12-12 19:32:32.829162993 +0100
@@ -1,0 +2,9 @@
+Mon Dec 11 23:37:06 CET 2023 - tumic(a)cbox.cz
+
+- Update to version 13.12
+ * Added support for overzoom in MVT vector maps (MBTiles/online).
+ QtPBFImageplugin version 3 required.
+ * Vector (MVT) online maps now rendered asynchronous.
+ * Fixed vector MBTiles not loading in Qt6 builds issue.
+
+-------------------------------------------------------------------
Old:
----
GPXSee-13.11.tar.gz
New:
----
GPXSee-13.12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gpxsee.spec ++++++
--- /var/tmp/diff_new_pack.kSwvbQ/_old 2023-12-12 19:32:33.697195020 +0100
+++ /var/tmp/diff_new_pack.kSwvbQ/_new 2023-12-12 19:32:33.697195020 +0100
@@ -19,7 +19,7 @@
# See also http://en.opensuse.org/openSUSE:Specfile_guidelines
Name: gpxsee
-Version: 13.11
+Version: 13.12
Release: 1
Summary: GPS log file visualization and analysis tool
License: GPL-3.0-only
++++++ GPXSee-13.11.tar.gz -> GPXSee-13.12.tar.gz ++++++
++++ 1802 lines of diff (skipped)
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.kSwvbQ/_old 2023-12-12 19:32:34.265215978 +0100
+++ /var/tmp/diff_new_pack.kSwvbQ/_new 2023-12-12 19:32:34.265215978 +0100
@@ -1,5 +1,5 @@
pkgname=gpxsee
-pkgver=13.11
+pkgver=13.12
pkgrel=1
pkgdesc='GPS log files visualizing and analyzing tool'
arch=('i686' 'x86_64')
++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.kSwvbQ/_old 2023-12-12 19:32:34.289216863 +0100
+++ /var/tmp/diff_new_pack.kSwvbQ/_new 2023-12-12 19:32:34.289216863 +0100
@@ -1,3 +1,12 @@
+gpxsee (13.12) stable; urgency=low
+
+ * Added support for overzoom in MVT vector maps (MBTiles/online).
+ QtPBFImageplugin version 3 required.
+ * Vector (MVT) online maps now rendered asynchronous.
+ * Fixed vector MBTiles not loading in Qt6 builds issue.
+
+ -- Martin Tuma <tumic(a)cbox.cz> Mon, 11 Dec 2023 23:51:19 +0100
+
gpxsee (13.11) stable; urgency=low
* Added support for GPSDump WPT files.
++++++ gpxsee.dsc ++++++
--- /var/tmp/diff_new_pack.kSwvbQ/_old 2023-12-12 19:32:34.345218929 +0100
+++ /var/tmp/diff_new_pack.kSwvbQ/_new 2023-12-12 19:32:34.353219224 +0100
@@ -1,10 +1,10 @@
Format: 1.0
Source: gpxsee
-Version: 13.11-1
+Version: 13.12-1
Binary: gpxsee
Maintainer: Martin Tuma <tumic(a)cbox.cz>
Architecture: any
Build-Depends: debhelper (>= 9), qtbase5-dev, qtbase5-private-dev, qtbase5-dev-tools, qt5-qmake, qttools5-dev-tools, libqt5opengl5-dev, qtpositioning5-dev, libqt5svg5-dev, libqt5serialport5-dev
Files:
- 00000000000000000000000000000000 0 GPXSee-13.11.tar.gz
+ 00000000000000000000000000000000 0 GPXSee-13.12.tar.gz
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package arpack-ng for openSUSE:Factory checked in at 2023-12-12 19:32:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arpack-ng (Old)
and /work/SRC/openSUSE:Factory/.arpack-ng.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arpack-ng"
Tue Dec 12 19:32:07 2023 rev:29 rq:1132568 version:3.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/arpack-ng/arpack-ng.changes 2023-10-25 18:03:17.367384895 +0200
+++ /work/SRC/openSUSE:Factory/.arpack-ng.new.25432/arpack-ng.changes 2023-12-12 19:32:28.961020274 +0100
@@ -1,0 +2,28 @@
+Wed Dec 6 06:33:31 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 3.9.1:
+ * pyarpack: Ensure that the matrix properties
+ (symmetric/hermitian) fit the solver (CG/LDL) with which they
+ are used in the tests
+ * [BUG FIX] Tests for PARPACK with C/C++ bindings icb_parpack_c
+ and icb_parpack_cpp are now really parallel and split the
+ problem across MPI processes.
+ * Update arpackmm test suite: enable solving non-symmetric tests
+ with BiCG solver
+ * README: Add details on Windows installation.
+ * [BUG FIX] Fix install: headers in
+ /path/to/local/include/arpack for ICB samples
+ * [BUG FIX] Fix install: headers in
+ /path/to/local/include/arpack
+ * arpackmm: allow for using LA/SA magnitudes.
+ * Rename icbexmm option into eigen option.
+ * README: document how to use ICB.
+ * [BUG FIX] arpackmm: fix restart.
+ * README: document where to find arpack user's guide.
+- Make tests run with '-j1' for serial flavour
+ (gh#opencollab/arpack-ng#439).
+- Update includedir location: arpack-ng now installs headers to
+ %{_includedir}/arpack/ instead of %{_includedir}/arpack-ng/ used
+ previously.
+
+-------------------------------------------------------------------
Old:
----
arpack-ng-3.9.0.tar.gz
New:
----
arpack-ng-3.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ arpack-ng.spec ++++++
--- /var/tmp/diff_new_pack.wsHaUy/_old 2023-12-12 19:32:29.933056138 +0100
+++ /var/tmp/diff_new_pack.wsHaUy/_new 2023-12-12 19:32:29.945056581 +0100
@@ -1,5 +1,5 @@
#
-# spec file
+# spec file for package arpack-ng
#
# Copyright (c) 2023 SUSE LLC
#
@@ -91,7 +91,7 @@
# /3
Name: %{pkgname}
-Version: 3.9.0
+Version: 3.9.1
Release: 0
Summary: Fortran77 subroutines for solving large scale eigenvalue problems
License: BSD-3-Clause
@@ -232,6 +232,9 @@
%check
%if %{with mpi}
source %{my_prefix}/bin/mpivars.sh
+%else
+# Need to run with -j1, see https://github.com/opencollab/arpack-ng/issues/439
+%define _smp_mflags -j1
%endif
%ctest
@@ -246,7 +249,7 @@
%doc examples
%doc CHANGES README.md
%{my_libdir}/*.so
-%{my_incdir}/arpack-ng
+%{my_incdir}/arpack/
%if %{without mpi}
%{_libdir}/pkgconfig/*.pc
%else
++++++ arpack-ng-3.9.0.tar.gz -> arpack-ng-3.9.1.tar.gz ++++++
++++ 2466 lines of diff (skipped)
++++++ arpack-ng-python-module-installdir.patch ++++++
--- /var/tmp/diff_new_pack.wsHaUy/_old 2023-12-12 19:32:30.841089641 +0100
+++ /var/tmp/diff_new_pack.wsHaUy/_new 2023-12-12 19:32:30.849089936 +0100
@@ -1,7 +1,8 @@
-diff -Nur arpack-ng-3.9.0/CMakeLists.txt new/CMakeLists.txt
---- arpack-ng-3.9.0/CMakeLists.txt 2023-02-11 13:56:54.000000000 +0100
-+++ new/CMakeLists.txt 2023-02-15 14:42:17.792356901 +0100
-@@ -719,8 +719,8 @@
+Index: arpack-ng-3.9.1/CMakeLists.txt
+===================================================================
+--- arpack-ng-3.9.1.orig/CMakeLists.txt
++++ arpack-ng-3.9.1/CMakeLists.txt
+@@ -728,8 +728,8 @@ function(build_tests)
target_link_libraries(pyarpack
BLAS::BLAS LAPACK::LAPACK ${Boost_LIBRARIES} ${PYTHON_LIBRARIES})
install(TARGETS pyarpack
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package guestfs-tools for openSUSE:Factory checked in at 2023-12-12 19:32:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/guestfs-tools (Old)
and /work/SRC/openSUSE:Factory/.guestfs-tools.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "guestfs-tools"
Tue Dec 12 19:32:06 2023 rev:12 rq:1132566 version:1.51.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/guestfs-tools/guestfs-tools.changes 2023-12-01 21:26:19.207975593 +0100
+++ /work/SRC/openSUSE:Factory/.guestfs-tools.new.25432/guestfs-tools.changes 2023-12-12 19:32:25.664898660 +0100
@@ -1,0 +2,7 @@
+Mon Dec 11 12:45:24 MST 2023 - carnold(a)suse.com
+
+- Update to version 1.51.6
+ * Include <libxml/parser.h> for xmlReadMemory
+ * Test new --key all:SELECTOR option
+
+-------------------------------------------------------------------
Old:
----
guestfs-tools-1.51.5.tar.gz
guestfs-tools-1.51.5.tar.gz.sig
New:
----
guestfs-tools-1.51.6.tar.gz
guestfs-tools-1.51.6.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ guestfs-tools.spec ++++++
--- /var/tmp/diff_new_pack.ZAIc0T/_old 2023-12-12 19:32:27.480965666 +0100
+++ /var/tmp/diff_new_pack.ZAIc0T/_new 2023-12-12 19:32:27.492966109 +0100
@@ -30,7 +30,7 @@
Summary: Tools to access and modify virtual machine disk images
Name: guestfs-tools
-Version: 1.51.5
+Version: 1.51.6
Release: 0
License: GPL-2.0-or-later
@@ -63,7 +63,6 @@
BuildRequires: libxml2-devel
BuildRequires: make
BuildRequires: ncurses-devel
-BuildRequires: ocaml(ocaml_base_version) >= 4.07
BuildRequires: ocaml-findlib-devel
BuildRequires: ocaml-gettext-devel
BuildRequires: ocaml-libguestfs-devel
@@ -76,6 +75,7 @@
BuildRequires: xorriso
BuildRequires: xz-devel
BuildRequires: zip
+BuildRequires: ocaml(ocaml_base_version) >= 4.07
BuildRequires: perl(Expect)
BuildRequires: perl(Locale::TextDomain)
BuildRequires: perl(Module::Build)
++++++ guestfs-tools-1.51.5.tar.gz -> guestfs-tools-1.51.6.tar.gz ++++++
/work/SRC/openSUSE:Factory/guestfs-tools/guestfs-tools-1.51.5.tar.gz /work/SRC/openSUSE:Factory/.guestfs-tools.new.25432/guestfs-tools-1.51.6.tar.gz differ: char 13, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libguestfs for openSUSE:Factory checked in at 2023-12-12 19:32:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libguestfs (Old)
and /work/SRC/openSUSE:Factory/.libguestfs.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libguestfs"
Tue Dec 12 19:32:04 2023 rev:97 rq:1132565 version:1.51.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/libguestfs/libguestfs.changes 2023-12-04 23:02:52.774637283 +0100
+++ /work/SRC/openSUSE:Factory/.libguestfs.new.25432/libguestfs.changes 2023-12-12 19:32:23.736827522 +0100
@@ -1,0 +2,7 @@
+Mon Dec 11 12:39:30 MST 2023 - carnold(a)suse.com
+
+- Update to version 1.51.9
+ * Include <libxml/parser.h> for xmlReadMemory
+ * Language translations
+
+-------------------------------------------------------------------
Old:
----
libguestfs-1.51.8.tar.gz
libguestfs-1.51.8.tar.gz.sig
New:
----
libguestfs-1.51.9.tar.gz
libguestfs-1.51.9.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libguestfs.spec ++++++
--- /var/tmp/diff_new_pack.6V5eu6/_old 2023-12-12 19:32:24.492855416 +0100
+++ /var/tmp/diff_new_pack.6V5eu6/_new 2023-12-12 19:32:24.496855564 +0100
@@ -18,7 +18,7 @@
Name: libguestfs
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64 riscv64
-Version: 1.51.8
+Version: 1.51.9
Release: 0
Summary: Access and modify virtual machine disk images
License: GPL-2.0-or-later
@@ -41,13 +41,13 @@
BuildRequires: gobject-introspection-devel
BuildRequires: gperf
BuildRequires: libtool
-BuildRequires: ocaml(ocaml_base_version) >= 4.07
BuildRequires: ocaml-augeas-devel
BuildRequires: ocaml-hivex-devel
BuildRequires: po4a
BuildRequires: readline-devel
BuildRequires: supermin >= 5.1.18
BuildRequires: zstd
+BuildRequires: ocaml(ocaml_base_version) >= 4.07
BuildRequires: ocamlfind(findlib)
BuildRequires: perl(Getopt::Long)
BuildRequires: perl(Locale::TextDomain)
++++++ libguestfs-1.51.8.tar.gz -> libguestfs-1.51.9.tar.gz ++++++
/work/SRC/openSUSE:Factory/libguestfs/libguestfs-1.51.8.tar.gz /work/SRC/openSUSE:Factory/.libguestfs.new.25432/libguestfs-1.51.9.tar.gz differ: char 29, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package telegraf for openSUSE:Factory checked in at 2023-12-12 19:32:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/telegraf (Old)
and /work/SRC/openSUSE:Factory/.telegraf.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "telegraf"
Tue Dec 12 19:32:02 2023 rev:27 rq:1132562 version:1.29.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/telegraf/telegraf.changes 2023-10-24 20:08:24.388632035 +0200
+++ /work/SRC/openSUSE:Factory/.telegraf.new.25432/telegraf.changes 2023-12-12 19:32:18.952651005 +0100
@@ -1,0 +2,392 @@
+Mon Dec 11 19:35:38 UTC 2023 - Jeff Kowalczyk <jkowalczyk(a)suse.com>
+
+- Update to version 1.29.0:
+ * Telegraf v1.29.0
+ * Update changelog for v1.29.0
+ * fix(outputs.bigquery): Correct use of auto-detected project ID (#14416)
+ * docs(Changelog): Fix reference to python-syntax removal #14427 (#14429)
+ * fix(inputs.intel_powerstat): Unit tests should work on every CPU/platform (#14420)
+ * fix(license): Correct spelling of jmhodges/clock license (#14419)
+ * feat(common.opcua): Add option to include OPC-UA DataType as a Field (#14345)
+ * feat(migrations): Add migration for fieldpass/fielddrop (#14401)
+ * feat(inputs.intel_powerstat): Extract business logic to external library (#14363)
+ * fix(processors.starlark): Avoid negative refcounts for tracking metrics (#14395)
+ * chore(linters): Remove blank identifiers and errors which are not needed to handle (#14399)
+ * docs(outputs.dynatrace) Update links to documentation (#14400)
+ * feat(outputs.stackdriver): Enable histogram support (#14275)
+ * fix(inputs.s7comm): Reconnect if query fails (#14394)
+ * chore: Add .uuid to gitignore (#14393)
+ * fix(inputs.modbus): Split large request correctly at field borders (#14388)
+ * chore: Update go1.21.5 (#14391)
+ * chore(inputs.rabbitmq): Remove useless comment (#14389)
+ * chore(inputs.statsd): Do not deprecate convert_names as there is no replacement (#14390)
+ * chore(deps): Bump github.com/influxdata/tail from 1.0.1-0.20210707231403-b283181d1fa7 to 1.0.1-0.20221130111531-19b97bffd978 (#14384)
+ * chore(deps): Bump github.com/golang-jwt/jwt/v5 from 5.0.0 to 5.2.0 (#14382)
+ * chore(deps): Bump github.com/IBM/sarama from 1.41.3 to 1.42.1 (#14385)
+ * chore(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.23 to 2.10.6 (#14386)
+ * chore(deps): Bump github.com/jackc/pgconn from 1.14.0 to 1.14.1 (#14383)
+ * test: Update lxc images (#14380)
+ * feat(inputs.nats_consumer): Add nkey-seed-file authentication (#14375)
+ * feat(inputs.dpdk): Add options to customize error-behavior and metric layout (#14308)
+ * feat(secrets): Add unprotected secret implementation (#13998)
+ * feat(config): Deprecate `fieldpass` and `fielddrop` modifiers (#14012)
+ * fix(inputs.netflow): Handle malformed inputs gracefully (#14373)
+ * feat(outputs.bigquery): Allow to add metrics in one compact table (#14342)
+ * docs(inputs.fireboard): Revert typo fix as the typo is returned in the actual code too (#14379)
+ * chore(inputs.procstat): Convert bool tagging settings to a list (#14333)
+ * feat(agent): Allow separators for namepass and namedrop filters (#14361)
+ * fix(inputs.tail): Retry opening file after permission denied (#14357)
+ * fix(parsers.json_v2): Reset state before parsing (#14344)
+ * test(inputs.vault): Remove metric comparison in integration test (#14369)
+ * docs(inputs.mqtt_consumer): Clarify persistent session and topic refresh (#14366)
+ * fix(outputs.prometheus_client): Ensure v1 collector data expires promptly (#14232)
+ * docs: Fix typos (#14359)
+ * chore(inputs.procstat): Use plural for supervisor_units option (#14329)
+ * docs(parsers.json_v2): Add links to testdata folder (#14358)
+ * docs: Update PR checklist, make clear AI generated code not accepted (#14362)
+ * fix(parsers.json v2): Correct wrong name of config option (#14351)
+ * chore(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources from 1.1.1 to 1.2.0 (#14355)
+ * chore(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor (#14354)
+ * chore(deps): Bump golang.org/x/text from 0.13.0 to 0.14.0 (#14353)
+ * chore(deps): Bump cloud.google.com/go/bigquery from 1.56.0 to 1.57.1 (#14352)
+ * feat(secretstores): Add systemd-credentials plugin (#13657)
+ * chore(inputs.procstat): Cleanup code (#14326)
+ * feat(processors.filter): Convert noop processor to filter processor (#14330)
+ * fix(inputs.http): Use correct token variable (#14350)
+ * chore(deps): Point kafka dependency to IBM organization (#14349)
+ * chore(deps): Bump github.com/prometheus/prometheus from 0.46.0 to 0.48.0 (#14321)
+ * fix(outputs.opensearch): Expose TLS setting correctly (#14340)
+ * feat(migrations): Add option migration for outputs.influxdb (#14341)
+ * docs(inputs.kafka_consumer): Remove whitespace (#14348)
+ * chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.26.0 to 1.27.2 (#14324)
+ * docs: Fix typos (#14339)
+ * fix(common.oauth): Initialize 'EndpointParams' to avoid panic with 'audience' settings (#14331)
+ * test(inputs.netstat): Move tests from inputs.net (#14328)
+ * feat(inputs.kafka_consumer): Add option to set metric name from message header (#14320)
+ * chore(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor from 0.10.1 to 0.10.2 (#14323)
+ * chore(deps): Bump k8s.io/api from 0.28.3 to 0.28.4 (#14322)
+ * chore(deps): Bump github.com/vmware/govmomi from 0.32.0 to 0.33.1 (#14325)
+ * test(kafka): Use dynamic ports with integration tests (#14301)
+ * chore(parsers.influx): Add benchmark (#14315)
+ * chore(parsers.xpath): Add benchmark for CBOR format (#14314)
+ * chore(parsers.xpath): Add benchmark for msgpack format (#14313)
+ * chore(parsers.xpath): Add benchmark for protocol-buffer format (#14312)
+ * test(inputs.vault): Wait for minimum number of metrics (#14302)
+ * chore(parsers.avro): Add benchmark for binary format (#14311)
+ * chore(parsers.binary): Add benchmark (#14310)
+ * chore: Add benchmark tests for XML and JSON xpath (#14304)
+ * feat(inputs.sql): Add support for IBM Netezza (#14200)
+ * chore(parsers): Add benchmarks for avro, collectd, prometheus remote write (#14303)
+ * chore: Enable bad regex gocritic linter (#14295)
+ * fix(processors.starlark): Maintain tracking information post-apply (#14137)
+ * Update changelog for v1.28.5
+ * feat(processors.noop): Noop processor (#14297)
+ * fix(parsers.json_v2): Log inner errors (#14296)
+ * fix(inputs.ecs): Correct v4 metadata URLs (#14294)
+ * fix(inputs.intel_rdt): Do not fail on missing PIDs (#14274)
+ * chore: Fix lint in changelog (#14298)
+ * feat(inputs.procstat): Obtain process information through supervisor (#13417)
+ * feat: Use HTTPClientConfig struct in elastic stack plugins (#14207)
+ * fix(inputs.s7comm): Truncate strings to reported length (#14283)
+ * chore(deps): Bump github.com/Masterminds/semver/v3 from 3.2.0 to 3.2.1 (#14286)
+ * chore(deps): Bump github.com/gosnmp/gosnmp from 1.35.1-0.20230602062452-f30602b8dad6 to 1.36.1 (#14287)
+ * chore(deps): Bump google.golang.org/api from 0.149.0 to 0.150.0 (#14288)
+ * chore(deps): Bump golang.org/x/mod from 0.13.0 to 0.14.0 (#14289)
+ * chore(deps): Bump golang.org/x/sync from 0.4.0 to 0.5.0 (#14285)
+ * Update changelog for v1.28.4
+ * test(parsers): Sort metrics to avoid flaky tests (#14284)
+ * fix(inputs.zfs): Support gathering metrics on zfs 2.2.0 and later (#14280)
+ * fix(inputs.s7comm): Fix bit queries (#14068)
+ * feat(inputs.snmp): Hint to use source tag (#14111)
+ * chore(parsers): Add additional parser benchmarks (#14276)
+ * chore: Add metric and batch benchmark to serializers (#14277)
+ * fix(inputs.disk): Add inodes_used_percent field (#14267)
+ * chore(parsers.csv): Add benchmark test (#14257)
+ * docs(inputs.intel_powerstat): Add notes about hw/sw dependencies (#14263)
+ * fix(inputs.ipset): Parse lines with timeout (#14262)
+ * chore(deps): Bump github.com/showwin/speedtest-go from 1.6.6 to 1.6.7 (#14250)
+ * chore: Update to go1.21.4 (#14268)
+ * docs(inputs.powerdns): Document additonal permissions (#14256)
+ * docs(inputs.temp): Add additional troubleshooting steps (#14255)
+ * fix(inputs.win_perf_counter): Do not rely on returned buffer size (#14241)
+ * feat(inputs.modbus): Add support for string-fields (#14145)
+ * chore(deps): Bump cloud.google.com/go/storage from 1.30.1 to 1.34.1 (#14253)
+ * chore(deps): Bump github.com/rabbitmq/amqp091-go from 1.8.1 to 1.9.0 (#14252)
+ * chore(deps): Bump github.com/hashicorp/consul/api from 1.25.1 to 1.26.1 (#14251)
+ * chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.23.5 to 1.26.0 (#14249)
+ * fix(config): Fix comment removal in TOML files (#14240)
+ * feat(outputs.prometheus_client): Support listen on vsock (#14108)
+ * fix(inputs.mqtt_consumer): Resolve could not mark message delivered (#14243)
+ * chore(linters): Fix findings found by testifylint for Windows and enable it. (#14238)
+ * feat(migrations): Add option migration for inputs.nats_consumer (#14234)
+ * feat(migrations): Add option migration for inputs.mqtt_consumer (#14233)
+ * test(inputs.jolokia2_agent): Sort metrics as order is not consistent (#14227)
+ * chore(linters): Fix findings found by testifylint: expected-actual (#14229)
+ * chore(deps): Bump github.com/nats-io/nkeys from 0.4.5 to 0.4.6 (#14225)
+ * feat(inputs.procstat)!: Remove useless zero cpu_times (#14224)
+ * feat(inputs.gnmi): Rework plugin (#14091)
+ * fix(outputs.timestream): Clip uint64 values (#14213)
+ * fix(inputs.cgroup): Escape backslashes (#14187)
+ * test(outputs.kafka): Use private network for testing (#14220)
+ * test(inputs.vault): Fix integration test by only testing for subset (#14222)
+ * fix(outputs.elasticsearch): Print error status value (#14115)
+ * feat(inputs.openweathermap): Add per-city query scheme for current weather (#14214)
+ * docs(inputs.cpu): Clarify 'time_active' contains 'iowait' (#14215)
+ * chore(deps): Bump github.com/benbjohnson/clock from 1.3.3 to 1.3.5 (#14219)
+ * chore(deps): Bump github.com/antchfx/xpath from 1.2.5-0.20230505064641-588960cceeac to 1.2.5 (#14217)
+ * chore(deps): Bump github.com/aws/aws-sdk-go-v2/config from 1.18.42 to 1.19.1 (#14218)
+ * chore(deps): Bump github.com/compose-spec/compose-go from 1.16.0 to 1.20.0 (#14216)
+ * chore(linters): Fix findings found by testifylint: len (#14203)
+ * chore(deps): Bump github.com/docker/docker from 24.0.6 to 24.0.7 (#14211)
+ * chore(inputs.openweathermap): Convert unit-tests to test-cases (#14210)
+ * fix(inputs.ecs): Fix cgroupv2 CPU metrics (#14197)
+ * chore(linters): Enable perfsprint linter and fix all findings. (#14208)
+ * fix(inputs.netflow): Fix sFlow metric timestamp (#14195)
+ * fix(inputs.ecs): Test for v4 metadata endpoint (#14194)
+ * fix(input.prometheus): Read bearer token from file every time (#14191)
+ * feat(inputs.http_response): Add body form option (#14189)
+ * fix(parsers.json_v2): Prevent race condition in parse function (#14149)
+ * docs(outputs.cratedb): Correct required SQL table schema (#13934)
+ * chore: Bump github.com/google/gnxi from 20221016143401 to 20231026134436 (#14201)
+ * chore(linters): Fix findings found by testifylint: error-nil (#14198)
+ * test(parsers): Add benchmarks (#14148)
+ * chore(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#14192)
+ * fix(inputs.zfs): Parse metrics correctly on FreeBSD 14 (#14176)
+ * feat(socket_listener): Add vsock support to socket listener and writer (#14172)
+ * chore(linters): Fix findings found by testifylint: empty (#14179)
+ * chore(linters): Fix findings found by testifylint: require-error (#14181)
+ * chore(linters): Fix findings found by testifylint: error-is-as (#14180)
+ * test(opensearch): Disable perf analyzer in test images (#14178)
+ * chore(linters): Fix findings found by testifylint: compares (#14177)
+ * chore(linters): Fix findings found by testifylint: bool-compare (#14163)
+ * test(inputs.zfs): Rework and fix unit-tests for FreeBSD (#14175)
+ * chore(deps): Bump k8s.io/client-go from 0.28.2 to 0.28.3 (#14165)
+ * chore(deps): Bump github.com/hashicorp/consul/api from 1.24.0 to 1.25.1 (#14164)
+ * chore(deps): Bump github.com/antchfx/xmlquery from 1.3.17 to 1.3.18 (#14166)
+ * chore(deps): Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.40 to 1.13.43 (#14167)
+ * chore(deps): Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 (#14168)
+ * chore(tools): Cache rework for CircleCI (#14156)
+ * docs(openstack): Update examples with quote around time intervals (#14174)
+ * docs(inputs.swap): Add message about plugin limitation (#14139)
+ * test(outputs.kafka): Rework integration test to use bitnami/kafka (#14161)
+ * Update changelog for v1.28.3
+ * chore(tools): Bump golangci-lint from v1.54.2 to v1.55.0 (#14155)
+ * feat(outputs.wavefront): Use common/http to configure http client (#14136)
+ * fix(inputs.vault): Use http client to handle redirects correctly (#14153)
+ * fix(outputs.kafka): Simplify send-error handling (#14154)
+ * feat(migrations): Add option migration for inputs.disk (#14141)
+ * fix(serializers.json): Append newline for batch-serialization (#14150)
+ * fix(outputs.nebius_cloud_monitoring): Use correct endpoint (#14135)
+ * chore(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.9 to 2.9.23 (#14146)
+ * fix(inputs.jenkins): Filter after searching sub-folders (#14105)
+ * feat(inputs.redfish): Allow specifying with metrics to collect (#14143)
+ * feat(common.http): Add support for connecting over unix-socket (#14103)
+ * fix(inputs.jolokia2_agent): Trim quotes around tags (#14132)
+ * docs(processors.ifname): Document better agent tag name (#14117)
+ * fix(metricpass): Use correct logic expression in benchmark (#14131)
+ * chore(deps): Bump github.com/nats-io/nats.go from 1.28.0 to 1.31.0 (#14124)
+ * chore(deps): Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 (#14127)
+ * chore(deps): Bump google.golang.org/api from 0.139.0 to 0.147.0 (#14126)
+ * chore(deps): Bump github.com/google/cel-go from 0.14.1-git to 0.18.1 (#14125)
+ * chore(packaging): Remove unnecessary service file removal (#14106)
+ * feat(migrations): Add migration for inputs.jolokia (#14114)
+ * feat(migrations): Add migration for inputs.kafka_consumer_legacy (#14122)
+ * feat(migrations): Add migration for inputs.snmp_legacy (#14123)
+ * feat(migrations): Add migration for outputs.riemann_legacy (#14121)
+ * feat(migrations): Add migration for inputs.udp_listener (#14120)
+ * feat(migrations): Add migration for inputs.tcp_listener (#14119)
+ * chore(deps): Remove replacement for gos7 (#14032)
+ * feat(outputs.bigquery): Project is no longer a required field (#14086)
+ * feat(inputs.win_service): Reduce required rights to GENERIC_READ (#14073)
+ * chore(processors.regex): Inform and warn user on operation modus (#14084)
+ * fix(inputs.postgresql_extensible): Restore default db name (#14010)
+ * feat(processors.dedup): Add state persistence between runs (#14065)
+ * fix(outputs.exec): Resolve lint issues with tests (#14101)
+ * fix(outputs.redistimeseries): Handle string fields correctly (#14060)
+ * feat(outputs.exec): Add ability to exec command once per metric (#13672)
+ * feat(aggregators.final): Allow to specify output strategy (#14062)
+ * chore(deps): Bump golang.org/x/mod from 0.12.0 to 0.13.0 (#14075)
+ * chore(deps): Bump gonum.org/v1/gonum from 0.13.0 to 0.14.0 (#14078)
+ * docs(outputs.influxdb): Add help message about multiple influxdb (#14053)
+ * docs(outputs.mqtt): Correct typo in protocol config parameter (#14071)
+ * docs(processors.split): Fix example (#14087)
+ * chore(deps): Bump golang.org/x/net from 0.15.0 to 0.17.0 (#14095)
+ * chore: Update go to 1.21.3 (#14093)
+ * feat(inputs.ldap): Collect additional fields (#14092)
+ * docs(inputs.docker): Add help message about permissions for container (#14094)
+ * chore(deps): Bump github.com/jhump/protoreflect from 1.15.1 to 1.15.3 (#14085)
+ * chore(deps): Bump github.com/miekg/dns from 1.1.55 to 1.1.56 (#14077)
+ * chore(deps): Bump github.com/testcontainers/testcontainers-go from 0.22.0 to 0.25.0 (#14076)
+ * chore(deps): Bump golang.org/x/oauth2 from 0.11.0 to 0.13.0 (#14074)
+ * feat(inputs.ldap): Add LDAP input plugin supporting OpenLDAP and 389ds (#13995)
+ * feat(inputs.opcua_listener): Add monitoring params (#13923)
+ * chore(CI): Add 'test' as bugfix label and remove 'dependencies' (#14061)
+ * feat(inputs.sql): Add oracle driver (#13978)
+ * test(inputs.redis_sentinel): Resolve timeout looking for port (#14051)
+ * feat(inputs.kube_inventory): Support using kubelet to get pods data (#13996)
+ * feat(inputs.kube_inventory): Support filtering pods and nodes by node name (#13993)
+ * chore: Add build tags to buildbin Makefile target (#14034)
+ * fix(inputs.mqtt): Reference correct password variable (#14041)
+ * chore(deps): Bump github.com/signalfx/golib/v3 from 3.3.50 to 3.3.53 (#14040)
+ * chore(deps): Bump github.com/klauspost/compress from 1.16.7 to 1.17.0 (#14039)
+ * chore(deps): Bump github.com/netsampler/goflow2 from 1.3.3 to 1.3.6 (#14037)
+ * chore(deps): Bump github.com/yuin/goldmark from 1.5.4 to 1.5.6 (#14038)
+ * chore(deps): Bump github.com/apache/arrow/go/v13 from 13.0.0-git to 13.0.0 (#14036)
+ * fix(inputs.s7comm): Allow PDU-size to be set as config option (#14045)
+ * feat(outputs.azure_data_explorer): Set user agent string (#14047)
+ * fix(inputs.infiniband): Handle devices without counters (#14049)
+ * feat(input.intel_pmt): Add pci_bdf tag to uniquely identify GPUs and other peripherals (#14004)
+ * Update changelog for v1.28.2
+ * chore: Restore log directory behavior (#14026)
+ * fix(inputs.openstack): Handle dependencies between enabled services and available endpoints (#14011)
+ * chore(deps): Bump github.com/vmware/govmomi from v0.28.0 to v0.32.0 (#14022)
+ * chore(inputs.modbus): Deprecate aggressive optimization (#14030)
+ * chore: Force previous version of mingw (#14035)
+ * feat(outputs.stackdriver): Add metric type config options (#14017)
+ * fix(parsers.json_v2): Properly handle optional fields (#14008)
+ * fix(outputs.opensearch): Migrate to new secrets API (#14021)
+ * feat(outputs.opensearch): Add OpenSearch output plugin (#11958)
+ * docs(outputs.http): Document proxy settings (#14016)
+ * docs(apparmor): Add page explaining apparmor denials (#14014)
+ * chore: Update Windows zip archive creation (#14015)
+ * feat(processors.regex): Allow batch transforms using named groups (#13971)
+ * docs(outputs.prometheus_client): Fix metric-type parameter naming (#14013)
+ * feat(parsers.avro): Support multiple modes for union handling (#13945)
+ * feat(inputs.docker): Add disk usage (#13894)
+ * feat(inputs.rabbitmq): Add secretstore support for username and password (#13991)
+ * fix(outputs.stackdriver): Do not shallow copy map (#14009)
+ * feat(inputs.amqp_consumer): Add secretstore support for username and password (#14001)
+ * fix(inputs.postgresql_extensible): Restore outputaddress behavior (#13972)
+ * fix(inputs.mock): Plugin not aligned with documentation (#13997)
+ * feat(parsers/json_v2): Improve json path log messages (#13994)
+ * fix(inputs.jti_openconfig_telemetry): Do not block GRPC dial (#13958)
+ * chore(deps): Bump github.com/aws/aws-sdk-go-v2/config from 1.18.27 to 1.18.42 (#13988)
+ * fix(input.intel_pmt): Handle telem devices without numa_node attribute (#13977)
+ * chore(deps): Bump github.com/google/uuid from 1.3.0 to 1.3.1 (#13989)
+ * chore(deps): Bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.13.8 to 1.13.11 (#13987)
+ * chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.80.1 to 1.120.0 (#13986)
+ * chore(deps): Bump github.com/eclipse/paho.mqtt.golang (#13985)
+ * chore(secrets): Abstract secret implementation (#13953)
+ * chore(processors.starlark): Add benchmark for field-value filter (#13983)
+ * fix(inputs.nfsclient): Avoid panics, better error messages (#13982)
+ * fix(outputs.stackdriver): Drop metrics on InvalidArgument gRPC error (#13931)
+ * fix(inputs.exec): Clean up grandchildren processes (#13937)
+ * docs(processors.lookup): Fix wrong word usage (#13970)
+ * fix(inputs.cisco_telemetry_mdt): Print string message on decode failure (#13963)
+ * fix(inputs.nvidia_smi): Add legacy power readings to v12 schema (#13962)
+ * chore(deps): Bump golang.org/x/net from 0.14.0 to 0.15.0 (#13940)
+ * chore: Update macOS CircleCI runner (#13932)
+ * fix(parsers.avro): Clean up Warnf error wrapping error (#13961)
+ * feat(parsers.avro): Get metric name from the message field (#13914)
+ * chore: Remove whitespace, update variable naming (#13952)
+ * fix(processors.template): Handle tracking metrics correctly (#13947)
+ * chore(deps): Bump github.com/aliyun/alibaba-cloud-sdk-go from 1.62.470 to 1.62.563 (#13941)
+ * chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.20.9 to 1.23.5 (#13943)
+ * chore(deps): Bump github.com/shirou/gopsutil/v3 from 3.23.6 to 3.23.8 (#13942)
+ * chore(deps): Bump k8s.io/api from 0.28.1 to 0.28.2 (#13944)
+ * feat(inputs.kafka_consumer): Add message headers as metric tags. (#13924)
+ * fix(parsers.avro): Only attempt to read CA cert file if filename is not empty string (#13939)
+ * fix(outputs.cloudwatch): Increase number of metrics per write (#13930)
+ * fix(inputs.smart): Remove parsing error message (#13927)
+ * docs(inputs.procstat): Add docs on permissions and metric details (#13921)
+ * test(outputs.sql): Fix clean up of sql database file (#13918)
+ * chore: Clean up results from make check-deps (#13919)
+ * fix(inputs.systemd_units): Add missing upstream states (#13915)
+ * Update changelog for v1.28.1
+ * fix(packaging): Revert permission change on configs (#13909)
+ * docs(inputs.vsphere): fix config name typo in example (#13907)
++++ 95 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/telegraf/telegraf.changes
++++ and /work/SRC/openSUSE:Factory/.telegraf.new.25432/telegraf.changes
Old:
----
telegraf-1.28.3.tar.xz
New:
----
telegraf-1.29.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ telegraf.spec ++++++
--- /var/tmp/diff_new_pack.3pLl2b/_old 2023-12-12 19:32:20.596711664 +0100
+++ /var/tmp/diff_new_pack.3pLl2b/_new 2023-12-12 19:32:20.596711664 +0100
@@ -18,7 +18,7 @@
%define _config_dir %{_sysconfdir}/%{name}
Name: telegraf
-Version: 1.28.3
+Version: 1.29.0
Release: 0
Summary: The plugin-driven server agent for collecting & reporting metrics
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.3pLl2b/_old 2023-12-12 19:32:20.632712993 +0100
+++ /var/tmp/diff_new_pack.3pLl2b/_new 2023-12-12 19:32:20.636713141 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/influxdata/telegraf</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v1.28.3</param>
+ <param name="revision">v1.29.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.3pLl2b/_old 2023-12-12 19:32:20.656713878 +0100
+++ /var/tmp/diff_new_pack.3pLl2b/_new 2023-12-12 19:32:20.656713878 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/influxdata/telegraf</param>
- <param name="changesrevision">a72550a02094baf939b1881a225af9763ff2cc3d</param></service></servicedata>
+ <param name="changesrevision">f7f976ec37fc3d9f96aec30cd96cee965f232568</param></service></servicedata>
(No newline at EOF)
++++++ telegraf-1.28.3.tar.xz -> telegraf-1.29.0.tar.xz ++++++
++++ 65221 lines of diff (skipped)
++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/telegraf/vendor.tar.xz /work/SRC/openSUSE:Factory/.telegraf.new.25432/vendor.tar.xz differ: char 25, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-osc-tiny for openSUSE:Factory checked in at 2023-12-12 19:31:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-osc-tiny (Old)
and /work/SRC/openSUSE:Factory/.python-osc-tiny.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-osc-tiny"
Tue Dec 12 19:31:58 2023 rev:30 rq:1132553 version:0.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-osc-tiny/python-osc-tiny.changes 2023-11-30 22:05:16.573981173 +0100
+++ /work/SRC/openSUSE:Factory/.python-osc-tiny.new.25432/python-osc-tiny.changes 2023-12-12 19:32:11.236366305 +0100
@@ -1,0 +2,6 @@
+Mon Dec 11 15:55:04 UTC 2023 - Andreas Hasenkopf <ahasenkopf(a)suse.com>
+
+- Release 0.8.1
+ * Support for new OSC config
+
+-------------------------------------------------------------------
Old:
----
osc-tiny-0.8.0.tar.gz
New:
----
osc-tiny-0.8.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-osc-tiny.spec ++++++
--- /var/tmp/diff_new_pack.LQ49uM/_old 2023-12-12 19:32:11.788386673 +0100
+++ /var/tmp/diff_new_pack.LQ49uM/_new 2023-12-12 19:32:11.792386820 +0100
@@ -18,7 +18,7 @@
%define skip_python2 1
Name: python-osc-tiny
-Version: 0.8.0
+Version: 0.8.1
Release: 0
Summary: Client API for openSUSE BuildService
License: MIT
++++++ osc-tiny-0.8.0.tar.gz -> osc-tiny-0.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-tiny-0.8.0/PKG-INFO new/osc-tiny-0.8.1/PKG-INFO
--- old/osc-tiny-0.8.0/PKG-INFO 2023-11-29 15:48:58.173556800 +0100
+++ new/osc-tiny-0.8.1/PKG-INFO 2023-12-11 16:50:12.841865500 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: osc-tiny
-Version: 0.8.0
+Version: 0.8.1
Summary: Client API for openSUSE BuildService
Home-page: https://github.com/SUSE/osc-tiny
Author: Andreas Hasenkopf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-tiny-0.8.0/osc_tiny.egg-info/PKG-INFO new/osc-tiny-0.8.1/osc_tiny.egg-info/PKG-INFO
--- old/osc-tiny-0.8.0/osc_tiny.egg-info/PKG-INFO 2023-11-29 15:48:58.000000000 +0100
+++ new/osc-tiny-0.8.1/osc_tiny.egg-info/PKG-INFO 2023-12-11 16:50:12.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: osc-tiny
-Version: 0.8.0
+Version: 0.8.1
Summary: Client API for openSUSE BuildService
Home-page: https://github.com/SUSE/osc-tiny
Author: Andreas Hasenkopf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-tiny-0.8.0/osctiny/__init__.py new/osc-tiny-0.8.1/osctiny/__init__.py
--- old/osc-tiny-0.8.0/osctiny/__init__.py 2023-11-29 15:48:50.000000000 +0100
+++ new/osc-tiny-0.8.1/osctiny/__init__.py 2023-12-11 16:50:05.000000000 +0100
@@ -6,4 +6,4 @@
__all__ = ['Osc', 'bs_requests', 'buildresults', 'comments', 'packages',
'projects', 'search', 'users']
-__version__ = "0.8.0"
+__version__ = "0.8.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-tiny-0.8.0/osctiny/utils/conf.py new/osc-tiny-0.8.1/osctiny/utils/conf.py
--- old/osc-tiny-0.8.0/osctiny/utils/conf.py 2023-11-29 15:48:50.000000000 +0100
+++ new/osc-tiny-0.8.1/osctiny/utils/conf.py 2023-12-11 16:50:05.000000000 +0100
@@ -199,7 +199,12 @@
.. versionadded:: 0.8.0
"""
if _conf is not None:
- path = _conf._identify_osccookiejar() # pylint: disable=protected-access
+ try:
+ # New OSC config
+ path = _conf.config.cookiejar
+ except AttributeError:
+ # Backward compatibility to old OSC config style
+ path = _conf._identify_osccookiejar() # pylint: disable=protected-access
if os.path.isfile(path):
return LWPCookieJar(filename=path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-tiny-0.8.0/setup.py new/osc-tiny-0.8.1/setup.py
--- old/osc-tiny-0.8.0/setup.py 2023-11-29 15:48:50.000000000 +0100
+++ new/osc-tiny-0.8.1/setup.py 2023-12-11 16:50:05.000000000 +0100
@@ -26,7 +26,7 @@
setup(
name='osc-tiny',
- version='0.8.0',
+ version='0.8.1',
description='Client API for openSUSE BuildService',
long_description=long_description,
long_description_content_type="text/markdown",
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nyxt for openSUSE:Factory checked in at 2023-12-12 19:31:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nyxt (Old)
and /work/SRC/openSUSE:Factory/.nyxt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nyxt"
Tue Dec 12 19:31:52 2023 rev:13 rq:1132534 version:3.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nyxt/nyxt.changes 2023-11-15 21:14:51.114120457 +0100
+++ /work/SRC/openSUSE:Factory/.nyxt.new.25432/nyxt.changes 2023-12-12 19:32:06.280183442 +0100
@@ -1,0 +2,14 @@
+Mon Dec 11 15:54:29 UTC 2023 - Michael Pujos <pujos.michael(a)gmail.com>
+
+- Update to version 3.10.0:
+ * UI/UX
+ - Improve source heading buttons, layout and interactions in the prompt-buffer
+ - Add checkboxes for suggestions within the prompt-buffer
+ * Bug fixes
+ - Fix command show-annotations-for-current-url (unbound)
+ - Command nyxt/renderer/gtk:make-buffer-with-context now lists
+ previously defined contexts
+ - Improve architecture of hint-mode as to ensure that hints are
+ shown for arbitrary URLs
+
+-------------------------------------------------------------------
Old:
----
nyxt-3.9.2-source-with-submodules.tar.xz
New:
----
nyxt-3.10.0-source-with-submodules.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nyxt.spec ++++++
--- /var/tmp/diff_new_pack.BLsm9P/_old 2023-12-12 19:32:06.948208089 +0100
+++ /var/tmp/diff_new_pack.BLsm9P/_new 2023-12-12 19:32:06.952208237 +0100
@@ -20,7 +20,7 @@
# and possibly prone to security issues.
%bcond_with webextensions
Name: nyxt
-Version: 3.9.2
+Version: 3.10.0
Release: 0
Summary: Keyboard-oriented, Common Lisp extensible web-browser
License: BSD-3-Clause
++++++ nyxt-3.9.2-source-with-submodules.tar.xz -> nyxt-3.10.0-source-with-submodules.tar.xz ++++++
/work/SRC/openSUSE:Factory/nyxt/nyxt-3.9.2-source-with-submodules.tar.xz /work/SRC/openSUSE:Factory/.nyxt.new.25432/nyxt-3.10.0-source-with-submodules.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 kernel-source for openSUSE:Factory checked in at 2023-12-12 19:31:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Tue Dec 12 19:31:51 2023 rev:712 rq:1132469 version:6.6.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes 2023-11-30 21:59:02.088006020 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new.25432/dtb-aarch64.changes 2023-12-12 19:31:55.967802956 +0100
@@ -1,0 +2,492 @@
+Mon Dec 11 10:46:37 CET 2023 - jslaby(a)suse.cz
+
+- Linux 6.6.6 (bsc#1012628).
+- Revert "wifi: cfg80211: fix CQM for non-range use"
+ (bsc#1012628).
+- commit a946a9f
+
+-------------------------------------------------------------------
+Fri Dec 8 09:27:12 CET 2023 - jslaby(a)suse.cz
+
+- parisc: Fix asm operand number out of range build error in
+ bug table (git-fixes).
+- commit 7675861
+
+-------------------------------------------------------------------
+Fri Dec 8 08:58:51 CET 2023 - jslaby(a)suse.cz
+
+- Linux 6.6.5 (bsc#1012628).
+- cifs: Fix FALLOC_FL_ZERO_RANGE by setting i_size if EOF moved
+ (bsc#1012628).
+- cifs: Fix FALLOC_FL_INSERT_RANGE by setting i_size after EOF
+ moved (bsc#1012628).
+- smb: client: fix missing mode bits for SMB symlinks
+ (bsc#1012628).
+- smb: client: report correct st_size for SMB and NFS symlinks
+ (bsc#1012628).
+- ksmbd: fix possible deadlock in smb2_open (bsc#1012628).
+- pinctrl: avoid reload of p state in list iteration
+ (bsc#1012628).
+- firewire: core: fix possible memory leak in create_units()
+ (bsc#1012628).
+- mmc: sdhci-pci-gli: Disable LPM during initialization
+ (bsc#1012628).
+- mmc: sdhci-sprd: Fix vqmmc not shutting down after the card
+ was pulled (bsc#1012628).
+- mmc: cqhci: Increase recovery halt timeout (bsc#1012628).
+- mmc: cqhci: Warn of halt or task clear failure (bsc#1012628).
+- mmc: cqhci: Fix task clearing in CQE error recovery
+ (bsc#1012628).
+- mmc: block: Retry commands in CQE error recovery (bsc#1012628).
+- mmc: block: Do not lose cache flush during CQE error recovery
+ (bsc#1012628).
+- mmc: block: Be sure to wait while busy in CQE error recovery
+ (bsc#1012628).
+- ALSA: hda: Disable power-save on KONTRON SinglePC (bsc#1012628).
+- ALSA: hda/realtek: Headset Mic VREF to 100% (bsc#1012628).
+- ALSA: hda/realtek: Add supported ALC257 for ChromeOS
+ (bsc#1012628).
+- net: libwx: fix memory leak on msix entry (bsc#1012628).
+- dm-verity: align struct dm_verity_fec_io properly (bsc#1012628).
+- scsi: Change SCSI device boolean fields to single bit flags
+ (bsc#1012628).
+- scsi: sd: Fix system start for ATA devices (bsc#1012628).
+- scsi: ufs: core: Clear cmd if abort succeeds in MCQ mode
+ (bsc#1012628).
+- drm/amd: Enable PCIe PME from D3 (bsc#1012628).
+- drm/amdgpu: correct the amdgpu runtime dereference usage count
+ (bsc#1012628).
+- drm/amdgpu: Force order between a read and write to the same
+ address (bsc#1012628).
+- drm/amdgpu: fix memory overflow in the IB test (bsc#1012628).
+- drm/amdgpu: Update EEPROM I2C address for smu v13_0_0
+ (bsc#1012628).
+- drm/amd/display: Include udelay when waiting for INBOX0 ACK
+ (bsc#1012628).
+- drm/amd/display: Remove min_dst_y_next_start check for Z8
+ (bsc#1012628).
+- drm/amd/display: Use DRAM speed from validation for dummy
+ p-state (bsc#1012628).
+- drm/amd/display: Update min Z8 residency time to 2100 for DCN314
+ (bsc#1012628).
+- drm/amd/display: fix ABM disablement (bsc#1012628).
+- drm/amd/display: force toggle rate wa for first link training
+ for a retimer (bsc#1012628).
+- dm verity: initialize fec io before freeing it (bsc#1012628).
+- dm verity: don't perform FEC for failed readahead IO
+ (bsc#1012628).
+- nvme: check for valid nvme_identify_ns() before using it
+ (bsc#1012628).
+- r8169: fix deadlock on RTL8125 in jumbo mtu mode (bsc#1012628).
+- ACPI: video: Use acpi_video_device for cooling-dev driver data
+ (bsc#1012628).
+- io_uring: don't allow discontig pages for IORING_SETUP_NO_MMAP
+ (bsc#1012628).
+- iommu/vt-d: Fix incorrect cache invalidation for mm notification
+ (bsc#1012628).
+- io_uring: free io_buffer_list entries via RCU (bsc#1012628).
+- nouveau: find the smallest page allocation to cover a buffer
+ alloc (bsc#1012628).
+- powercap: DTPM: Fix unneeded conversions to micro-Watts
+ (bsc#1012628).
+- cpufreq/amd-pstate: Fix the return value of
+ amd_pstate_fast_switch() (bsc#1012628).
+- dma-buf: fix check in dma_resv_add_fence (bsc#1012628).
+- io_uring: don't guard IORING_OFF_PBUF_RING with SETUP_NO_MMAP
+ (bsc#1012628).
+- iommu: Avoid more races around device probe (bsc#1012628).
+- bcache: revert replacing IS_ERR_OR_NULL with IS_ERR
+ (bsc#1012628).
+- ext2: Fix ki_pos update for DIO buffered-io fallback case
+ (bsc#1012628).
+- iommu/vt-d: Add MTL to quirk list to skip TE disabling
+ (bsc#1012628).
+- KVM: PPC: Book3S HV: Fix KVM_RUN clobbering FP/VEC user
+ registers (bsc#1012628).
+- powerpc: Don't clobber f0/vs0 during fp|altivec register save
+ (bsc#1012628).
+- parisc: Mark ex_table entries 32-bit aligned in assembly.h
+ (bsc#1012628).
+- parisc: Mark ex_table entries 32-bit aligned in uaccess.h
+ (bsc#1012628).
+- parisc: Use natural CPU alignment for bug_table (bsc#1012628).
+- parisc: Mark lock_aligned variables 16-byte aligned on SMP
+ (bsc#1012628).
+- parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes
+ (bsc#1012628).
+- parisc: Mark jump_table naturally aligned (bsc#1012628).
+- parisc: Ensure 32-bit alignment on parisc unwind section
+ (bsc#1012628).
+- parisc: Mark altinstructions read-only and 32-bit aligned
+ (bsc#1012628).
+- btrfs: add dmesg output for first mount and last unmount of
+ a filesystem (bsc#1012628).
+- btrfs: ref-verify: fix memory leaks in btrfs_ref_tree_mod()
+ (bsc#1012628).
+- btrfs: fix off-by-one when checking chunk map includes logical
+ address (bsc#1012628).
+- btrfs: send: ensure send_fd is writable (bsc#1012628).
+- btrfs: make error messages more clear when getting a chunk map
+ (bsc#1012628).
+- btrfs: free the allocated memory if btrfs_alloc_page_array()
+ fails (bsc#1012628).
+- btrfs: fix 64bit compat send ioctl arguments not initializing
+ version member (bsc#1012628).
+- io_uring: enable io_mem_alloc/free to be used in other parts
+ (bsc#1012628).
+- io_uring/kbuf: defer release of mapped buffer rings
+ (bsc#1012628).
+- io_uring/kbuf: recycle freed mapped buffer ring entries
+ (bsc#1012628).
+- wifi: cfg80211: fix CQM for non-range use (bsc#1012628).
+- pinctrl: stm32: Add check for devm_kcalloc (bsc#1012628).
+- pinctrl: stm32: fix array read out of bound (bsc#1012628).
+- media: v4l2-subdev: Fix a 64bit bug (bsc#1012628).
+- netdevsim: Don't accept device bound programs (bsc#1012628).
+- net: rswitch: Fix type of ret in rswitch_start_xmit()
+ (bsc#1012628).
+- net: rswitch: Fix return value in rswitch_start_xmit()
+ (bsc#1012628).
+- net: rswitch: Fix missing dev_kfree_skb_any() in error path
+ (bsc#1012628).
+- ipv4: igmp: fix refcnt uaf issue when receiving igmp query
+ packet (bsc#1012628).
+- wifi: iwlwifi: mvm: fix an error code in iwl_mvm_mld_add_sta()
+ (bsc#1012628).
+- wifi: mac80211: do not pass AP_VLAN vif pointer to drivers
+ during flush (bsc#1012628).
+- net: dsa: mv88e6xxx: fix marvell 6350 switch probing
+ (bsc#1012628).
+- net: dsa: mv88e6xxx: fix marvell 6350 probe crash (bsc#1012628).
+- dpaa2-eth: increase the needed headroom to account for alignment
+ (bsc#1012628).
+- dpaa2-eth: recycle the RX buffer only after all processing done
+ (bsc#1012628).
+- bpf: Add missed allocation hint for bpf_mem_cache_alloc_flags()
+ (bsc#1012628).
+- uapi: propagate __struct_group() attributes to the container
+ union (bsc#1012628).
+- selftests/net: ipsec: fix constant out of range (bsc#1012628).
+- selftests/net: fix a char signedness issue (bsc#1012628).
+- selftests/net: unix: fix unused variable compiler warning
+ (bsc#1012628).
+- selftests/net: mptcp: fix uninitialized variable warnings
+ (bsc#1012628).
+- octeontx2-af: Fix possible buffer overflow (bsc#1012628).
+- net: stmmac: xgmac: Disable FPE MMC interrupts (bsc#1012628).
+- octeontx2-pf: Fix adding mbox work queue entry when num_vfs >
+ 64 (bsc#1012628).
+- octeontx2-pf: Restore TC ingress police rules when interface
+ is up (bsc#1012628).
+- neighbour: Fix __randomize_layout crash in struct neighbour
+ (bsc#1012628).
+- efi/unaccepted: Fix off-by-one when checking for overlapping
+ ranges (bsc#1012628).
+- r8169: prevent potential deadlock in rtl8169_close
+ (bsc#1012628).
+- ravb: Fix races between ravb_tx_timeout_work() and net related
+ ops (bsc#1012628).
+- ethtool: don't propagate EOPNOTSUPP from dumps (bsc#1012628).
+- bpf, sockmap: af_unix stream sockets need to hold ref for pair
+ sock (bsc#1012628).
+- ice: Fix VF Reset paths when interface in a failed over
+ aggregate (bsc#1012628).
+- net: ravb: Check return value of reset_control_deassert()
+ (bsc#1012628).
+- net: ravb: Use pm_runtime_resume_and_get() (bsc#1012628).
+- net: ravb: Make write access to CXR35 first before accessing
+ other EMAC registers (bsc#1012628).
+- net: ravb: Start TX queues after HW initialization succeeded
+ (bsc#1012628).
+- net: ravb: Stop DMA in case of failures on ravb_open()
+ (bsc#1012628).
+- net: ravb: Keep reverse order of operations in ravb_remove()
+ (bsc#1012628).
+- powerpc/pseries/iommu: enable_ddw incorrectly returns direct
+ mapping for SR-IOV device (bsc#1012628).
+- s390/cmma: fix handling of swapper_pg_dir and invalid_pg_dir
+ (bsc#1012628).
+- drm/amd/display: Refactor edp power control (bsc#1012628).
+- drm/amd/display: Remove power sequencing check (bsc#1012628).
+- cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily
+ (bsc#1012628).
+- iommu/vt-d: Omit devTLB invalidation requests when TES=0
+ (bsc#1012628).
+- iommu/vt-d: Disable PCI ATS in legacy passthrough mode
+ (bsc#1012628).
+- iommu/vt-d: Make context clearing consistent with context
+ mapping (bsc#1012628).
+- drm/i915/gsc: Mark internal GSC engine with reserved uabi class
+ (bsc#1012628).
+- drm/panel: starry-2081101qfh032011-53g: Fine tune the panel
+ power sequence (bsc#1012628).
+- drm/panel: nt36523: fix return value check in nt36523_probe()
+ (bsc#1012628).
+- cpufreq/amd-pstate: Fix scaling_min_freq and scaling_max_freq
+ update (bsc#1012628).
+- cpufreq/amd-pstate: Only print supported EPP values for
+ performance governor (bsc#1012628).
+- drm/amd/pm: fix a memleak in aldebaran_tables_init
+ (bsc#1012628).
+- iommu: Fix printk arg in of_iommu_get_resv_regions()
+ (bsc#1012628).
+- drm/amd/display: refactor ILR to make it work (bsc#1012628).
+- drm/amd/display: Reduce default backlight min from 5 nits to
+ 1 nits (bsc#1012628).
+- drm/amd/display: Simplify brightness initialization
+ (bsc#1012628).
+- drm/amd/display: Fix MPCC 1DLUT programming (bsc#1012628).
+- vfio/pds: Fix mutex lock->magic != lock warning (bsc#1012628).
+- vfio/pds: Fix possible sleep while in atomic context
+ (bsc#1012628).
+- x86/xen: fix percpu vcpu_info allocation (bsc#1012628).
+- vfio: Drop vfio_file_iommu_group() stub to fudge around a KVM
+ wart (bsc#1012628).
+- Rename to
+ patches.kernel.org/6.6.5-001-leds-class-Don-t-expose-color-sysfs-entry.patch.
+- Rename to
+ patches.kernel.org/6.6.5-017-drm-i915-Also-check-for-VGA-converter-in-eDP-p….
+- commit 30a850b
+
+-------------------------------------------------------------------
+Tue Dec 5 08:57:20 CET 2023 - jslaby(a)suse.cz
+
+- Refresh
+ patches.suse/drm-i915-Also-check-for-VGA-converter-in-eDP-probe.patch.
+- Refresh
+ patches.suse/leds-class-Don-t-expose-color-sysfs-entry.patch.
+ Update upstream status and move to sorted section.
+- commit a1661c2
+
+-------------------------------------------------------------------
+Sun Dec 3 14:14:27 CET 2023 - jslaby(a)suse.cz
+
+- Linux 6.6.4 (bsc#1012628).
+- USB: dwc3: qcom: fix wakeup after probe deferral (bsc#1012628).
+- USB: dwc3: qcom: fix software node leak on probe errors
+ (bsc#1012628).
+- usb: dwc3: set the dma max_seg_size (bsc#1012628).
+- usb: dwc3: Fix default mode initialization (bsc#1012628).
+- USB: dwc2: write HCINT with INTMASK applied (bsc#1012628).
+- usb: typec: tcpm: Skip hard reset when in error recovery
+ (bsc#1012628).
+- usb: typec: tcpm: Fix sink caps op current check (bsc#1012628).
+- USB: serial: option: don't claim interface 4 for ZTE MF290
+ (bsc#1012628).
+- USB: serial: option: fix FM101R-GL defines (bsc#1012628).
+- USB: serial: option: add Fibocom L7xx modules (bsc#1012628).
+- usb: cdnsp: Fix deadlock issue during using NCM gadget
+ (bsc#1012628).
+- usb: config: fix iteration issue in 'usb_get_bos_descriptor()'
+ (bsc#1012628).
+- USB: xhci-plat: fix legacy PHY double init (bsc#1012628).
+- bcache: fixup lock c->root error (bsc#1012628).
+- bcache: fixup init dirty data errors (bsc#1012628).
+- bcache: prevent potential division by zero error (bsc#1012628).
+- bcache: check return value from btree_node_alloc_replacement()
+ (bsc#1012628).
+- veth: Use tstats per-CPU traffic counters (bsc#1012628).
+- dm-delay: fix a race between delay_presuspend and delay_bio
+ (bsc#1012628).
+- ALSA: hda/realtek: Add quirks for ASUS 2024 Zenbooks
+ (bsc#1012628).
+- ALSA: hda: ASUS UM5302LA: Added quirks for cs35L41/10431A83
+ on i2c bus (bsc#1012628).
+- cifs: fix leak of iface for primary channel (bsc#1012628).
+- cifs: account for primary channel in the interface list
+ (bsc#1012628).
++++ 454 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.25432/dtb-aarch64.changes
dtb-armv6l.changes: same change
dtb-armv7l.changes: same change
dtb-riscv64.changes: same change
kernel-64kb.changes: same change
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-docs.changes: same change
kernel-kvmsmall.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-zfcpdump.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dtb-aarch64.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.544082490 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.544082490 +0100
@@ -17,7 +17,7 @@
%define srcversion 6.6
-%define patchversion 6.6.3
+%define patchversion 6.6.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -25,9 +25,9 @@
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-aarch64
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
dtb-armv6l.spec: same change
dtb-armv7l.spec: same change
dtb-riscv64.spec: same change
++++++ kernel-64kb.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.648086327 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.652086475 +0100
@@ -18,7 +18,8 @@
%define srcversion 6.6
-%define patchversion 6.6.3
+%define patchversion 6.6.6
+%define git_commit a946a9f9d865a849717a570675413f097b229184
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -112,9 +113,9 @@
Summary: Kernel with 64kb PAGE_SIZE
License: GPL-2.0-only
Group: System/Kernel
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -344,8 +345,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -385,10 +387,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
# END COMMON DEPS
-Provides: %name-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: %name-srchash-%git_commit
%obsolete_rebuilds %name
%define kmp_target_cpu %_target_cpu
@@ -1264,8 +1266,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -1305,8 +1308,8 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
%obsolete_rebuilds %name-base
%ifarch %ix86
kernel-debug.spec: same change
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.712088689 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.716088837 +0100
@@ -18,7 +18,8 @@
%define srcversion 6.6
-%define patchversion 6.6.3
+%define patchversion 6.6.6
+%define git_commit a946a9f9d865a849717a570675413f097b229184
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -112,9 +113,9 @@
Summary: The Standard Kernel
License: GPL-2.0-only
Group: System/Kernel
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -344,8 +345,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -385,10 +387,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
# END COMMON DEPS
-Provides: %name-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: %name-srchash-%git_commit
%ifarch %ix86
Provides: kernel-trace = 3.13
Obsoletes: kernel-trace <= 3.13
@@ -1301,8 +1303,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -1342,8 +1345,8 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
%ifarch %ix86
Provides: kernel-trace-base = 3.13
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.740089722 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.740089722 +0100
@@ -17,7 +17,8 @@
%define srcversion 6.6
-%define patchversion 6.6.3
+%define patchversion 6.6.6
+%define git_commit a946a9f9d865a849717a570675413f097b229184
%define variant %{nil}
%define build_html 1
%define build_pdf 0
@@ -30,9 +31,9 @@
Summary: Kernel Documentation
License: GPL-2.0-only
Group: Documentation/Man
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -83,7 +84,7 @@
%endif
URL: https://www.kernel.org/
Provides: %name = %version-%source_rel
-Provides: %name-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: %name-srchash-%git_commit
BuildArch: noarch
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
Source3: kernel-source.rpmlintrc
++++++ kernel-kvmsmall.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.768090756 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.772090903 +0100
@@ -18,7 +18,8 @@
%define srcversion 6.6
-%define patchversion 6.6.3
+%define patchversion 6.6.6
+%define git_commit a946a9f9d865a849717a570675413f097b229184
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -112,9 +113,9 @@
Summary: The Small Developer Kernel for KVM
License: GPL-2.0-only
Group: System/Kernel
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -344,8 +345,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -385,10 +387,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
# END COMMON DEPS
-Provides: %name-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: %name-srchash-%git_commit
%obsolete_rebuilds %name
%define kmp_target_cpu %_target_cpu
@@ -1268,8 +1270,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -1309,8 +1312,8 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
%obsolete_rebuilds %name-base
%ifarch %ix86
kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.828092970 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.828092970 +0100
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 6.6.3
+%define patchversion 6.6.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -44,7 +44,7 @@
%endif
%endif
%endif
-BuildRequires: kernel%kernel_flavor-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+BuildRequires: kernel%kernel_flavor-srchash-a946a9f9d865a849717a570675413f097b229184
%if 0%{?rhel_version}
BuildRequires: kernel
@@ -56,9 +56,9 @@
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0-only
Group: SLES
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -110,6 +110,7 @@
# we run with build as PID 1 (boo#965564)
echo "DefaultTasksMax=infinity" >> /etc/systemd/system.conf
echo "DefaultTasksAccounting=no" >> /etc/systemd/system.conf
+echo 127.0.0.1 localhost > /etc/hosts # omit build-machine host name (boo#1084909)
# a longer list to have them also available for qemu cross builds where x86_64 kernel runs in eg. arm env.
# this list of modules where available on build workers of build.opensuse.org, so we stay compatible.
@@ -155,7 +156,7 @@
cp -v /tmp/initrd.kvm %{buildroot}/.build.initrd.kvm
# inform worker kernel parameters to invoke
-CMDLINE="elevator=noop nmi_watchdog=0 rw"
+CMDLINE="elevator=noop nmi_watchdog=0 rw ia32_emulation=1"
echo "$CMDLINE" > %{buildroot}/.build.cmdline.kvm
# inform worker about availability of virtio-serial
++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.852093855 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.856094002 +0100
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 6.6.3
+%define patchversion 6.6.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -32,9 +32,9 @@
Summary: Basic QA tests for the kernel
License: GPL-2.0-only
Group: SLES
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.880094888 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.880094888 +0100
@@ -18,7 +18,8 @@
%define srcversion 6.6
-%define patchversion 6.6.3
+%define patchversion 6.6.6
+%define git_commit a946a9f9d865a849717a570675413f097b229184
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -112,9 +113,9 @@
Summary: Kernel with PAE Support
License: GPL-2.0-only
Group: System/Kernel
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -344,8 +345,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -385,10 +387,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
# END COMMON DEPS
-Provides: %name-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: %name-srchash-%git_commit
%ifarch %ix86
Provides: kernel-desktop = 4.3
Obsoletes: kernel-desktop <= 4.3
@@ -1284,8 +1286,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -1325,8 +1328,8 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
%ifarch %ix86
Provides: kernel-desktop-base = 4.3
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.904095774 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.908095921 +0100
@@ -17,7 +17,8 @@
%define srcversion 6.6
-%define patchversion 6.6.3
+%define patchversion 6.6.6
+%define git_commit a946a9f9d865a849717a570675413f097b229184
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -30,9 +31,9 @@
%endif
Name: kernel-source
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -48,10 +49,6 @@
BuildRequires: fdupes
BuildRequires: sed
Requires(post): coreutils sed
-Provides: %name = %version-%source_rel
-Provides: %name-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: linux
-Provides: multiversion(kernel)
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
%if "https://www.kernel.org/pub/linux/kernel/v6.x/" != ""
Source1: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.sign
@@ -129,6 +126,10 @@
Prefix: /usr/src
# Source is only complete with devel files.
Requires: kernel-devel%variant = %version-%source_rel
+Provides: %name = %version-%source_rel
+Provides: %name-srchash-%git_commit
+Provides: linux
+Provides: multiversion(kernel)
# extra packages needed for building a kernel from scratch
Recommends: bc
Recommends: bison
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.932096806 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.936096954 +0100
@@ -16,6 +16,7 @@
#
+%define git_commit a946a9f9d865a849717a570675413f097b229184
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -24,10 +25,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0-only
Group: Development/Sources
-Version: 6.6.3
+Version: 6.6.6
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -52,7 +53,7 @@
%endif
Requires: pesign-obs-integration
Provides: %name = %version-%source_rel
-Provides: %name-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: %name-srchash-%git_commit
Provides: multiversion(kernel)
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:03.964097987 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:03.968098135 +0100
@@ -18,7 +18,8 @@
%define srcversion 6.6
-%define patchversion 6.6.3
+%define patchversion 6.6.6
+%define git_commit a946a9f9d865a849717a570675413f097b229184
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -112,9 +113,9 @@
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0-only
Group: System/Kernel
-Version: 6.6.3
+Version: 6.6.6
%if 0%{?is_kotd}
-Release: <RELEASE>.gd766c57
+Release: <RELEASE>.ga946a9f
%else
Release: 0
%endif
@@ -344,8 +345,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -385,10 +387,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
# END COMMON DEPS
-Provides: %name-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: %name-srchash-%git_commit
%obsolete_rebuilds %name
%define kmp_target_cpu %_target_cpu
@@ -1261,8 +1263,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -1302,8 +1305,8 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
-Provides: kernel-srchash-d766c572a0364cdd25a29e4aea41104f5ffdbd17
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
%obsolete_rebuilds %name-base
%ifarch %ix86
kernel-zfcpdump.spec: same change
++++++ README.PATCH-POLICY.SUSE ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:04.072101972 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:04.076102120 +0100
@@ -1,148 +1,144 @@
SUSE Linux Enterprise Patch Policy
-----------------------------------
+==================================
+
Summary
-------
The SUSE Linux Enterprise (SLE) patch policy mirrors the mainline Linux
-community's policy for accepting changes. Each commit must contain a
-small and "obvious" change that can be reviewed individually and, once
-applied, be able to be used as a bisection point. The kernel should be
-able to build (and boot) between each applied patch. Since the SLE
-kernel is based on an official upstream kernel release and is followed by
-a hardening process, we expect that nearly all of the patches applied to the
-base release will be from subsequent official upstream releases indended to
-address specific issues or to allow for hardware/feature enablement.
+community's policy for accepting changes. Each commit must contain a small and
+"obvious" change that can be reviewed individually and, once applied, be able to
+be used as a bisection point. The kernel should be able to build and boot
+between each applied patch. Since the SLE kernel is based on an official
+upstream kernel release and is followed by a hardening process, we expect that
+nearly all of the patches applied to the base release will be from subsequent
+official upstream releases intended to address specific issues or to allow for
+hardware/feature enablement.
Background
----------
-Before covering the policy itself, we'll discuss a bit of background on
-how the source code tree is organized. If you've used the SLE kernel source
-(kernel-source.git[1]) tree before, you've probably noticed that, unlike
-the mainline Linux kernel, we don't use a source-level git repository as
-our "base." Instead, we use an official kernel.org Linux tar archive as
-the base and add a series of patches on top of it. This carries with it
-several benefits. The biggest is that we add metadata "tags" to our
-patches that allow us to easily associate patches with particular feature
-requests, bug reports, and/or the pedigree of the patch. Due to the nature
-of some of our feature requests, we also must occasionally carry patches
-that, for one reason or another, haven't been accepted into the mainline
-kernel repository yet. With a full (published[2]) git repository, it would
-be difficult to associate the initial commit for a particular feature with
-any subsequent changes to it. Another benefit is more superficial: with the
-use of separate patches, we (and our users) are able to tell, at a glance,
-which patches are in any given kernel release simply by looking at
-the source package. Patches are grouped into subsystems (including
-architecture, "core" vm/scheduler, VFS, individual file systems, driver
-core, networking core, block layer, and leaf drivers) so finding patches
-that affect a particular part of the kernel can be easily found. Patches
-are placed in directories such as patches.fixes, patches.suse, etc. When
-submitting patches for inclusion, it's not necessary to choose a directory.
-We'll put them in the appropriate place.
-
-Historically, this approach has worked well but has limited options for
-typical debugging techniques such as bisection. The application of the
-patch series results in our fully operational SLE kernel but stopping
-the patch series midway can result in an unbuildable source tree.
-Beginning with the SLE11 SP2 development cycle, we've published a fully
-expanded git repository (kernel.git[2]) that exactly represents the code
-as if it were originally used as a standard source code tree repository.
-This allows us to work with the individual patches *and* have the ability
-to bisect the tree as the changes are applied. It also makes it easier for
-partners unfamiliar with how our source tree works to make the transition.
+Before covering the policy itself, we'll discuss a bit of background on how the
+source code tree is organized. If you've used the SLE kernel source tree
+at <https://github.com/SUSE/kernel-source> before, you've probably noticed that,
+unlike the mainline Linux kernel, we don't use a source-level Git repository as
+our "base". Instead, we use an official kernel.org Linux tar archive as the base
+and add a series of patches on top of it. This carries with it several benefits.
+The biggest is that we add metadata "tags" to our patches that allow us to
+easily associate patches with particular feature requests, bug reports, and/or
+the pedigree of the patch. Due to the nature of some of our feature requests, we
+must also occasionally carry patches that, for one reason or another, haven't
+been accepted into the mainline kernel repository yet. With a full Git
+repository, it would be difficult to associate the initial commit for a
+particular feature with any subsequent changes to it. Another benefit is more
+superficial: with the use of separate patches, we and our users are able to
+tell, at a glance, which patches are in any given kernel release simply by
+looking at the source package.
+
+This approach works well but has limited options for typical debugging
+techniques such as bisection. The application of the patch series results in our
+fully operational SLE kernel but stopping the patch series midway can result in
+an unbuildable source tree. To help this and similar scenarios, we publish also
+a fully expanded Git repository at <https://github.com/SUSE/kernel> which
+exactly represents the code as if it were originally used as a standard source
+code tree repository. This allows us to work with the individual patches *and*
+have the ability to bisect the tree as the changes are applied. It also makes it
+easier for partners unfamiliar with how our source tree works to make the
+transition.
Format
------
-The SLE patch format follows very closely what you would see on any
-mailing list associated with Linux kernel development. A SLE patch is
-formatted like an RFC822 mbox-style mail message, with a few extensions.
-If the patch is coming from the mainline Linux repository or a subsystem
-maintainer repository, SUSE has tools published here[3] that can make
-adding these tags nearly painless.
-
-Each patch should contain the "From" and "Subject" headers found in any
-email message. The From should contain the name and email address of the
-patch author. The Subject should contain a short description of the
-patch, prefixed with the subsystem affected.
-
-e.g.
-From: Jeff Mahoney <jeffm(a)suse.com>
-Subject: init: print hello world at boot time
-
-Beyond that, we require several more headers, the full description of
-the patch, the certification tags used in the mainline kernel, and the patch
-contents.
-
-The headers we require are as follows:
-
-Git-commit: [a-f0-9]{40}
-- Contains the SHA-1 git commit ID of the patch in either the mainline
- kernel repository[4] or an official maintainer repository.
-
-Git-repo: URL-to-git-repo (starting with git://)
-- The URL to the git repository containing the commit. This tag can be
- omitted if the commit is from the mainline kernel repository.
-
-Patch-mainline: vMajor.Minor.Patch{-optional-rc}
-- The official kernel release that contains this patch. In the case of a
- patch accepted into a maintainer branch, "Queued in subsystem
- maintainer repo" can be used. If the patch has been submitted to a
- subsystem mailing list for review and is nearly certain to be accepted,
- "Submitted <date> <list(a)site.org>" can be used. Otherwise, if the
- patch will never be in the upstream kernel, e.g. in the case of
- vendor-specific
- version numbers, etc, then "No" followed by the reason why it will
- not be accepted (or submitted). Please note that the reason must be
- compelling for it to be allowed into our kernel repository.
-
-References: list of references
-- There must be a reason for each patch to be included into the kernel
- repository. It can be a fix in response to a bug report or a patch
- submitted as part of the feature development cycle for a release. We
- use a shorthand to indicate why a particular patch will be included
- and it's possible to use more than one.
-
- For Feature requests, the feature will have to have gone through our
- feature tracking tool, FATE. Each feature request will have an ID
- associated with it and it can be added to the References tag using
- FATE#number, e.g. FATE#12345.
-
- For fixes for bug reports (or patches for feature requests submitted
- via Bugzilla, the shorthand is bnc#number. bnc is shorthand for
- bugzilla.novell.com. There are others such as bko, for
- bugzilla.kernel.org.
-Next is the full description of the patch, which should explain why the
-patch is needed and an overview of what it does.
+The SLE patch format follows very closely what you would see on any mailing list
+associated with Linux kernel development. A SLE patch is formatted like an
+RFC822 mbox-style mail message, with a few extensions. If the patch is coming
+from the mainline Linux repository or a subsystem maintainer repository, SUSE
+has tools that can make adding these tags nearly painless.
-The last "header" portion of the patch contains the certification tags, which
-consist of "Signed-off-by" and "Acked-by." We, and the upstream Linux
-community depend on patch submitters to "own" their submission and certify
-they have the right to submit code to the kernel repository. For patches
-coming from the mainline Linux kernel repository, the certification tags
-are already in place and we only need the submitter's tag added (if not
-already part of the original patch). Likewise, the SUSE engineer who
-includes the submission in our kernel tree, will add their own "Acked-by"
-tag.
+Each patch should contain the "From" and "Subject" headers found in any email
+message. The From should contain the name and email address of the patch author.
+The Subject should contain a short description of the patch, prefixed with the
+subsystem affected.
+
+For instance:
+
+ From: Jeff Mahoney <jeffm(a)suse.com>
+ Subject: init: print hello world at boot time
+
+Beyond that, we require several more headers, the full description of the patch,
+the certification tags used in the mainline kernel, and the patch contents.
+
+The required headers are as follows:
+
+* Git-commit: [a-f0-9]{40}
+
+ Contains the SHA-1 Git commit ID of the patch in either the mainline kernel
+ repository or an official maintainer repository.
+
+* Git-repo: URL-to-git-repo (starting with `git://`)
+
+ The URL to the Git repository containing the commit. This tag can be omitted
+ if the commit is from the mainline kernel repository.
-There may be an optional diffstat -p1 output added before the patch content.
+* Patch-mainline: vMajor.Minor.Patch{-optional-rc}
-The patch content itself should be in "-ab" format where the patch header
-itself only contains the filename without any timestamps.
+ The official kernel release that contains this patch. In the case of a patch
+ accepted into a maintainer branch, "Queued in subsystem maintainer repo" can
+ be used. If the patch has been submitted to a subsystem mailing list for
+ review and is nearly certain to be accepted,
+ "Submitted <date> <list(a)site.org>" can be used. Otherwise, if the patch will
+ never be in the upstream kernel, e.g. in the case of vendor-specific version
+ numbers, etc., then "No" followed by the reason why it will not be accepted
+ (or submitted). Please note that the reason must be compelling for it to be
+ allowed into our kernel repository.
+
+* References: list of references
+
+ A specific reason must exist for each patch to be included into the kernel
+ repository. It can be a fix in response to a bug report or a patch submitted
+ as part of the feature development cycle for a release. We use a shorthand to
+ indicate why a particular patch will be included and it's possible to use more
+ than one.
+
+ For feature requests, the feature will have to have gone through our feature
+ tracking tool, a Jira instance at <https://jira.suse.com/>. Each feature
+ request will have an ID associated with it and it can be added to the
+ References tag using jsc#id, e.g. jsc#PED-12345.
+
+ For fixes to bug reports or patches for feature requests submitted via
+ Bugzilla at <https://bugzilla.suse.com/>, the shorthand is bsc#number. Other
+ shorthands referring to different Bugzilla instances are possible too, such as
+ bko, for <https://bugzilla.kernel.org/>.
+
+Next is the full description of the patch, which should explain why the patch is
+needed and an overview of what it does.
+
+The last "header" portion of the patch contains the certification tags, which
+consist of "Signed-off-by" and "Acked-by". We and the upstream Linux community
+depend on patch submitters to "own" their submission and certify they have the
+right to submit code to the kernel repository. For patches coming from the
+mainline Linux kernel repository, the certification tags are already in place
+and only the submitter's tag needs to be added, unless one is also already part
+of the original patch. Likewise, the SUSE engineer who includes the submission
+in our kernel tree will add their own "Acked-by" tag.
+
+The remaining part of the patch is the actual diff with changes. The patch
+content should be in the "-ab" format where the patch header itself only
+contains the filename without any timestamps. An optional `diffstat -p1` output
+may also be included.
Here's an example of a complete patch:
--------->8--------
+```
From: Upstream Committer <coder(a)somesite.com>
Subject: init: print hello world on boot
Patch-mainline: v3.8-rc1
Git-commit: deadbeefc0ffeeb1a4b1a4b1a4b1a4b1a4b1a4b1a4
-References: FATE#12134 bnc#23123
+References: jsc#PED-12134 bsc#23123
-The kernel started off like every other project. Let's add the hello
+The kernel started off like every other project. Let's add the hello
world message in honor of its roots.
Signed-off-by: Upstream Committer <coder(a)somesite.com>
@@ -157,98 +153,110 @@
@@ -807,6 +807,7 @@ static noinline int init_post(void)
system_state = SYSTEM_RUNNING;
numa_default_policy();
-
+
+ printk("Hello world!\n");
-
+
current->signal->flags |= SIGNAL_UNKILLABLE;
-
---------8<--------
+
+```
-Patch Inclusion Rules
+Patch inclusion rules
---------------------
-As mentioned in the summary, we expect that most patches to the SLE kernel
-will come from subsequent official upstream kernel releases or from subsystem
-maintainer repositories (which imply that the patch will ultimately be
-a part of an official upstream Linux release). The SLE kernel contains
-hardware enablement driver enhancement/backports for a wide range of devices
-offered by many vendors. In many cases, the drivers are self-contained
-but many others have shared dependencies on common infrastructure.
-
-The shared dependencies on common infrastructure combined with the need
-to be able to bisect the resulting kernel means that we must require
-all partners to submit patch series consisting of individual patches that
-match upstream commits. In the case where a commit affects multiple drivers,
-it is acceptable to only contain the portions that effect a particular
-driver as long as it is annotated by appending "(partial)" to the Git-commit
-line and documenting what is included or dropped. An example using the
-patch tools is included below.
+As mentioned in the summary, we expect that most patches to the SLE kernel will
+come from subsequent official upstream kernel releases, or from subsystem
+maintainer repositories where the patch is on its way to become a part of an
+official upstream Linux release. The SLE kernel contains hardware enablement
+driver enhancement/backports for a wide range of devices offered by many
+vendors. In many cases, the drivers are self-contained but many others have
+shared dependencies on common infrastructure.
+
+The shared dependencies on common infrastructure combined with the need to be
+able to bisect the resulting kernel means that we must require all partners to
+submit patch series consisting of individual patches that match upstream
+commits. In the case where a commit affects multiple drivers, it is acceptable
+to only include the portions that affect a particular driver as long as it is
+annotated by appending "(partial)" to the Git-commit line and documenting what
+is included or dropped. An example using the patch tools is included below.
Tools
-----
+
We understand that there are a bunch of rules to follow and that implementing
-them all can be tedious. We have a set of tools, published here[3], to make
-working with the patches a lot easier.
+them all can be tedious. SUSE has a set of tools to make working with the
+patches a lot easier. They are called patchtools and published at
+<https://download.opensuse.org/repositories/Kernel:/tools/>.
+
+Two important tools are included: fixpatch and exportpatch. Fixpatch adds
+missing headers and formatting to existing patches, assuming there's at least a
+Git-commit tag present. Exportpatch, given a list of commit IDs on the command
+line, searches for each commit in the configured repositories and exports the
+patches.
+
+Exportpatch has a number of options, the following list shows the most useful
+ones:
+
+* `-w` | `--write`
+
+ Write out each commit into a separate file. The filenames are based on the
+ subject of the header and they get output on stdout for use directly in a
+ series file.
+
+* `-d DIR` | `--dir=DIR`
+
+ Write out each commit into a designated directory. The default is to write
+ into the current directory.
-There are two tools: fixpatch and exportpatch. Fixpatch will add missing
-headers and formatting to existing patches, assuming there's at least a
-Git-commit tag present. Exportpatch, given a list of commit IDs on the
-commandline, will search for each commit in the configured repositories
-and export the patches.
-
-There are several command line options that are useful.
-
--w|--write -- will write out each commit into a separate file. The filenames
- are based on the subject of the header and the filenames will
- be output on stdout for use directly in a series file.
-
--d DIR|--dir=DIR -- will write out each commit into a designated directory.
- The default is to write into the current directory.
--f|--force -- By default exportpatch will not export commits that are local
- to the repository on disk. It will also refuse to overwrite
- existing patch files. This option overrides these checks.
--F REF|--reference=REFERENCE -- Adds References automatically and can be
- specified multiple times.
--x EXTRACT | --extract EXTRACT -- It it sometimes desirable to split out
- chunks of patches that affect only a
- particular section of the code. This option
- accepts pathnames to extract. Anything
- not specified will be skipped. Paths ending
- with / designate everything under that
- hierarchy. This also adds a (partial)
- notation to the Git-commit tag and adds
- a Patch-filtered: tag indicating which
- paths were used to extract.
-
-There are also two other features that are used automatically. The first is
-that 3-way merge diffs are handled automatically such that a new, exact
-two-way diff is generated. Note that both the -x option and the automatic
-handling of merge commits can generate empty patches -- empty patches are
-skipped entirely and no files are generated.
-
-A quick example for generating the patches necessary for a backport of the
-ixgbe driver against the 3.0 kernel. Please note that it (obviously) skips
-any infrastructure changes required for the patches to build. The Acked-by
-tags will automatically be added unless you were involved in the original
-upstream commit process.
-
-exportpatch -w -d ixgbe -x drivers/net/ixgbe/ \
- -x drivers/net/ethernet/intel/ixgbe/ \
- -F "FATE#12345" -F "bnc#12354" \
- $(git log v3.0.. --pretty=oneline -- drivers/net/ixgbe \
- drivers/net/ethernet/intel/ixgbe |cut -b 1-40) > ixgbe/series
+* `-F REF` | `--reference=REFERENCE`
-The first patch in that series looks like this:
---------8<--------
+ Add a References tag to the patch output using the specified reference, can be
+ repeated multiple times.
+
+* `-x EXTRACT` | `--extract=EXTRACT`
+
+ It it sometimes desirable to split out chunks of patches that affect only a
+ particular section of the code. This option accepts pathnames to extract.
+ Anything not specified will be skipped. Paths ending with `/` designate
+ everything under that hierarchy. This also adds the "(partial)" notation to
+ the Git-commit tag and adds a Patch-filtered tag indicating which paths were
+ used to extract.
+
+Refer to the exportpatch(1) manual page for more details and a complete list of
+all options.
+
+One useful feature of exportpatch is that 3-way merge diffs are handled
+automatically such that a new, exact 2-way diff is generated. Note that both the
+`-x` option and the automatic handling of merge commits can generate empty
+patches. Such patches are skipped entirely and no files are generated.
+
+As a quick example, the following invocation would generate patches necessary
+for a backport of the ixgbe driver from v3.2 against the v3.0 kernel:
+
+ $ exportpatch -w -d ixgbe \
+ -x drivers/net/ixgbe/ -x drivers/net/ethernet/intel/ixgbe/ \
+ -F "jsc#PED-12345" -F "bsc#12354" \
+ $(git log v3.0..v3.2 --pretty=oneline -- \
+ drivers/net/ixgbe drivers/net/ethernet/intel/ixgbe | \
+ cut -b 1-40) \
+ > ixgbe/series
+
+The tool automatically adds an Acked-by tag to the created patches unless you
+were involved in the original upstream commit process. Be aware that the
+produced result (obviously) doesn't include any infrastructure changes that
+might be needed for the patches to build.
+
+The first patch in the series looks like this:
+
+```
From 6403eab143205a45a5493166ff8bf7e3646f4a77 Mon Sep 17 00:00:00 2001
From: Joe Perches <joe(a)perches.com>
Date: Fri, 3 Jun 2011 11:51:20 +0000
Subject: drivers/net: Remove unnecessary semicolons
Git-commit: 6403eab143205a45a5493166ff8bf7e3646f4a77 (partial)
Patch-mainline: v3.1-rc1
-References: FATE#12345 bnc#12354
+References: jsc#PED-12345 bsc#12354
Patch-filtered: drivers/net/ixgbe/ drivers/net/ethernet/intel/ixgbe/
Semicolons are not necessary after switch/while/for/if braces
@@ -305,11 +313,5 @@
/* We leave the "DI" bit set to "0" when we leave this routine. */
eec &= ~IXGBE_EEC_DI;
--------->8--------
-
-Links:
-[1]: http://kernel.suse.com/cgit/kernel-source/log/?h=SLE12
-[2]: http://kernel.suse.com/cgit/kernel/log/?h=SLE12
-[3]: http://download.opensuse.org/repositories/Kernel:/tools/
-[4]: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
+```
++++++ README.SUSE ++++++
++++ 780 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/README.SUSE
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.25432/README.SUSE
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:04.308110680 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:04.312110827 +0100
@@ -19,6 +19,7 @@
%define srcversion @SRCVERSION@
%define patchversion @PATCHVERSION@
+%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%define compress_modules @COMPRESS_MODULES@
%define compress_vmlinux @COMPRESS_VMLINUX@
@@ -206,8 +207,9 @@
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
-# For /usr/lib/module-init-tools/weak-modules2
+# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
+Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
@@ -247,10 +249,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-@COMMIT_FULL@
-Provides: kernel-srchash-@COMMIT_FULL@
+Provides: kernel-%build_flavor-base-srchash-%git_commit
+Provides: kernel-srchash-%git_commit
# END COMMON DEPS
-Provides: %name-srchash-@COMMIT_FULL@
+Provides: %name-srchash-%git_commit
@PROVIDES_OBSOLETES@
@PROVIDES_OBSOLETES_BASE@
%obsolete_rebuilds %name
++++++ kernel-docs.spec.in ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:04.372113041 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:04.376113189 +0100
@@ -18,6 +18,7 @@
%define srcversion @SRCVERSION@
%define patchversion @PATCHVERSION@
+%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%define build_html @BUILD_HTML@
%define build_pdf @BUILD_PDF@
@@ -83,7 +84,7 @@
%endif
URL: https://www.kernel.org/
Provides: %name = %version-%source_rel
-Provides: %name-srchash-@COMMIT_FULL@
+Provides: %name-srchash-%git_commit
BuildArch: noarch
@SOURCES@
++++++ kernel-obs-build.spec.in ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:04.416114665 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:04.420114812 +0100
@@ -110,6 +110,7 @@
# we run with build as PID 1 (boo#965564)
echo "DefaultTasksMax=infinity" >> /etc/systemd/system.conf
echo "DefaultTasksAccounting=no" >> /etc/systemd/system.conf
+echo 127.0.0.1 localhost > /etc/hosts # omit build-machine host name (boo#1084909)
# a longer list to have them also available for qemu cross builds where x86_64 kernel runs in eg. arm env.
# this list of modules where available on build workers of build.opensuse.org, so we stay compatible.
@@ -155,7 +156,7 @@
cp -v /tmp/initrd.kvm %{buildroot}/.build.initrd.kvm
# inform worker kernel parameters to invoke
-CMDLINE="elevator=noop nmi_watchdog=0 rw"
+CMDLINE="elevator=noop nmi_watchdog=0 rw ia32_emulation=1"
echo "$CMDLINE" > %{buildroot}/.build.cmdline.kvm
# inform worker about availability of virtio-serial
++++++ kernel-source.spec.in ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:04.468116584 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:04.472116731 +0100
@@ -18,6 +18,7 @@
%define srcversion @SRCVERSION@
%define patchversion @PATCHVERSION@
+%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%include %_sourcedir/kernel-spec-macros
@@ -48,10 +49,6 @@
BuildRequires: fdupes
BuildRequires: sed
Requires(post): coreutils sed
-Provides: %name = %version-%source_rel
-Provides: %name-srchash-@COMMIT_FULL@
-Provides: linux
-Provides: multiversion(kernel)
Source0: @TARBALL_URL@linux-%srcversion.tar.xz
%if "@TARBALL_URL@" != ""
Source1: @TARBALL_URL@linux-%srcversion.tar.sign
@@ -129,6 +126,10 @@
Prefix: /usr/src
# Source is only complete with devel files.
Requires: kernel-devel%variant = %version-%source_rel
+Provides: %name = %version-%source_rel
+Provides: %name-srchash-%git_commit
+Provides: linux
+Provides: multiversion(kernel)
# extra packages needed for building a kernel from scratch
Recommends: bc
Recommends: bison
++++++ kernel-syms.spec.in ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:04.524118650 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:04.528118797 +0100
@@ -16,6 +16,7 @@
#
+%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%include %_sourcedir/kernel-spec-macros
@@ -41,7 +42,7 @@
@REQUIRES@
Requires: pesign-obs-integration
Provides: %name = %version-%source_rel
-Provides: %name-srchash-@COMMIT_FULL@
+Provides: %name-srchash-%git_commit
Provides: multiversion(kernel)
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 23194 lines of diff (skipped)
++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/bus-mhi-host-add-mhi_power_down_no_destroy.patch new/patches.suse/bus-mhi-host-add-mhi_power_down_no_destroy.patch
--- old/patches.suse/bus-mhi-host-add-mhi_power_down_no_destroy.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/bus-mhi-host-add-mhi_power_down_no_destroy.patch 2023-12-08 09:27:12.000000000 +0100
@@ -1,9 +1,9 @@
-From 2f2ef2c4470f83f4a9e4178070925eb250d2e9e7 Mon Sep 17 00:00:00 2001
+From 730baa7fe99f0b035836949a82f80ad45df86212 Mon Sep 17 00:00:00 2001
From: Baochen Qiang <quic_bqiang(a)quicinc.com>
Date: Thu, 27 Jul 2023 13:11:42 +0300
Subject: [PATCH 1/8] bus: mhi: host: add mhi_power_down_no_destroy()
References: bsc#1207948
-Git-commit: 2f2ef2c4470f83f4a9e4178070925eb250d2e9e7
+Git-commit: 730baa7fe99f0b035836949a82f80ad45df86212
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Patch-mainline: Queued in subsystem maintainer repository
@@ -53,13 +53,26 @@
Acked-by: Takashi Iwai <tiwai(a)suse.de>
---
+ drivers/bus/mhi/host/init.c | 1 +
drivers/bus/mhi/host/internal.h | 1 +
drivers/bus/mhi/host/pm.c | 26 +++++++++++++++++++-------
include/linux/mhi.h | 29 +++++++++++++++++++++++++++--
- 3 files changed, 47 insertions(+), 9 deletions(-)
+ 4 files changed, 48 insertions(+), 9 deletions(-)
+diff --git a/drivers/bus/mhi/host/init.c b/drivers/bus/mhi/host/init.c
+index 65ceac1837f9..e626b03ffafa 100644
+--- a/drivers/bus/mhi/host/init.c
++++ b/drivers/bus/mhi/host/init.c
+@@ -43,6 +43,7 @@ const char * const dev_state_tran_str[DEV_ST_TRANSITION_MAX] = {
+ [DEV_ST_TRANSITION_FP] = "FLASH PROGRAMMER",
+ [DEV_ST_TRANSITION_SYS_ERR] = "SYS ERROR",
+ [DEV_ST_TRANSITION_DISABLE] = "DISABLE",
++ [DEV_ST_TRANSITION_DISABLE_DESTROY_DEVICE] = "DISABLE (DESTROY DEVICE)",
+ };
+
+ const char * const mhi_ch_state_type_str[MHI_CH_STATE_TYPE_MAX] = {
diff --git a/drivers/bus/mhi/host/internal.h b/drivers/bus/mhi/host/internal.h
-index 2e139e76de4c..d1033af285e2 100644
+index 30ac415a3000..3f45c9c447bd 100644
--- a/drivers/bus/mhi/host/internal.h
+++ b/drivers/bus/mhi/host/internal.h
@@ -69,6 +69,7 @@ enum dev_st_transition {
@@ -71,10 +84,10 @@
};
diff --git a/drivers/bus/mhi/host/pm.c b/drivers/bus/mhi/host/pm.c
-index 8a4362d75fc4..e0e429adbda6 100644
+index a2f2feef1476..8833b0248393 100644
--- a/drivers/bus/mhi/host/pm.c
+++ b/drivers/bus/mhi/host/pm.c
-@@ -453,7 +453,8 @@ static int mhi_pm_mission_mode_transition(struct mhi_controller *mhi_cntrl)
+@@ -458,7 +458,8 @@ static int mhi_pm_mission_mode_transition(struct mhi_controller *mhi_cntrl)
}
/* Handle shutdown transitions */
@@ -84,7 +97,7 @@
{
enum mhi_pm_state cur_state;
struct mhi_event *mhi_event;
-@@ -515,8 +516,10 @@ static void mhi_pm_disable_transition(struct mhi_controller *mhi_cntrl)
+@@ -520,8 +521,10 @@ static void mhi_pm_disable_transition(struct mhi_controller *mhi_cntrl)
dev_dbg(dev, "Waiting for all pending threads to complete\n");
wake_up_all(&mhi_cntrl->state_event);
@@ -97,7 +110,7 @@
mutex_lock(&mhi_cntrl->pm_mutex);
-@@ -801,7 +804,10 @@ void mhi_pm_st_worker(struct work_struct *work)
+@@ -806,7 +809,10 @@ void mhi_pm_st_worker(struct work_struct *work)
mhi_pm_sys_error_transition(mhi_cntrl);
break;
case DEV_ST_TRANSITION_DISABLE:
@@ -109,7 +122,7 @@
break;
default:
break;
-@@ -1154,7 +1160,8 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl)
+@@ -1160,7 +1166,8 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl)
}
EXPORT_SYMBOL_GPL(mhi_async_power_up);
@@ -119,7 +132,7 @@
{
enum mhi_pm_state cur_state, transition_state;
struct device *dev = &mhi_cntrl->mhi_dev->dev;
-@@ -1190,14 +1197,19 @@ void mhi_power_down(struct mhi_controller *mhi_cntrl, bool graceful)
+@@ -1196,14 +1203,19 @@ void mhi_power_down(struct mhi_controller *mhi_cntrl, bool graceful)
write_unlock_irq(&mhi_cntrl->pm_lock);
mutex_unlock(&mhi_cntrl->pm_mutex);
@@ -142,10 +155,10 @@
int mhi_sync_power_up(struct mhi_controller *mhi_cntrl)
{
diff --git a/include/linux/mhi.h b/include/linux/mhi.h
-index 039943ec4d4e..85edc9c5df88 100644
+index d0f9b522f328..ae092bc8b97e 100644
--- a/include/linux/mhi.h
+++ b/include/linux/mhi.h
-@@ -644,12 +644,37 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl);
+@@ -648,12 +648,37 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl);
*/
int mhi_sync_power_up(struct mhi_controller *mhi_cntrl);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/bus-mhi-host-add-new-interfaces-to-handle-MHI-channe.patch new/patches.suse/bus-mhi-host-add-new-interfaces-to-handle-MHI-channe.patch
--- old/patches.suse/bus-mhi-host-add-new-interfaces-to-handle-MHI-channe.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/bus-mhi-host-add-new-interfaces-to-handle-MHI-channe.patch 2023-12-08 09:27:12.000000000 +0100
@@ -1,10 +1,10 @@
-From d105b77dc5a0c570fcc7434c3c53a9e619e5f1f3 Mon Sep 17 00:00:00 2001
+From b83e44bc5465ea33c2b29558ce38a5e17d2e2ed7 Mon Sep 17 00:00:00 2001
From: Baochen Qiang <quic_bqiang(a)quicinc.com>
Date: Thu, 27 Jul 2023 13:11:43 +0300
Subject: [PATCH 2/8] bus: mhi: host: add new interfaces to handle MHI channels
directly
References: bsc#1207948
-Git-commit: d105b77dc5a0c570fcc7434c3c53a9e619e5f1f3
+Git-commit: b83e44bc5465ea33c2b29558ce38a5e17d2e2ed7
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Patch-mainline: Queued in subsystem maintainer repository
@@ -20,19 +20,19 @@
Acked-by: Takashi Iwai <tiwai(a)suse.de>
---
- drivers/bus/mhi/host/main.c | 92 +++++++++++++++++++++++++++++++++++++
- include/linux/mhi.h | 18 ++++++++
- 2 files changed, 110 insertions(+)
+ drivers/bus/mhi/host/main.c | 107 ++++++++++++++++++++++++++++++++++++
+ include/linux/mhi.h | 20 ++++++-
+ 2 files changed, 126 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c
-index dcf627b36e82..26070bdd9e8d 100644
+index d80975f4bba8..3f677fc628ad 100644
--- a/drivers/bus/mhi/host/main.c
+++ b/drivers/bus/mhi/host/main.c
-@@ -1667,6 +1667,49 @@ int mhi_prepare_for_transfer_autoqueue(struct mhi_device *mhi_dev)
+@@ -1669,6 +1669,58 @@ int mhi_prepare_for_transfer_autoqueue(struct mhi_device *mhi_dev)
}
EXPORT_SYMBOL_GPL(mhi_prepare_for_transfer_autoqueue);
-+static int __mhi_prepare_for_transfer_autoqueue(struct device *dev, void *data)
++static int ____mhi_prepare_for_transfer(struct device *dev, void *data)
+{
+ struct mhi_device *mhi_dev;
+ struct mhi_chan *ul_chan, *dl_chan;
@@ -43,10 +43,16 @@
+
+ mhi_dev = to_mhi_device(dev);
+
-+ /* Only prepare virtual devices thats attached to bus */
++ /* Only prepare virtual devices that are attached to bus */
+ if (mhi_dev->dev_type == MHI_DEVICE_CONTROLLER)
+ return 0;
+
++ /* There are cases where there is no MHI client driver matches
++ * this device, we are not allowed to do prepare for it.
++ */
++ if (!mhi_dev->id)
++ return 0;
++
+ ul_chan = mhi_dev->ul_chan;
+ dl_chan = mhi_dev->dl_chan;
+
@@ -65,25 +71,28 @@
+ if (dl_chan && ee != MHI_EE_MAX && !(dl_chan->ee_mask & BIT(ee)))
+ return 0;
+
-+ return mhi_prepare_for_transfer_autoqueue(mhi_dev);
++ if (dl_chan->pre_alloc)
++ return mhi_prepare_for_transfer_autoqueue(mhi_dev);
++ else
++ return mhi_prepare_for_transfer(mhi_dev);
+}
+
-+int mhi_prepare_all_for_transfer_autoqueue(struct mhi_controller *mhi_cntrl)
++int mhi_prepare_all_for_transfer(struct mhi_controller *mhi_cntrl)
+{
+ return device_for_each_child(&mhi_cntrl->mhi_dev->dev, NULL,
-+ __mhi_prepare_for_transfer_autoqueue);
++ ____mhi_prepare_for_transfer);
+}
-+EXPORT_SYMBOL_GPL(mhi_prepare_all_for_transfer_autoqueue);
++EXPORT_SYMBOL_GPL(mhi_prepare_all_for_transfer);
+
void mhi_unprepare_from_transfer(struct mhi_device *mhi_dev)
{
struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
-@@ -1682,3 +1725,52 @@ void mhi_unprepare_from_transfer(struct mhi_device *mhi_dev)
+@@ -1684,3 +1736,58 @@ void mhi_unprepare_from_transfer(struct mhi_device *mhi_dev)
}
}
EXPORT_SYMBOL_GPL(mhi_unprepare_from_transfer);
+
-+static int __mhi_unprepare_from_transfer(struct device *dev, void *data)
++static int ____mhi_unprepare_from_transfer(struct device *dev, void *data)
+{
+ struct mhi_device *mhi_dev;
+ struct mhi_chan *ul_chan, *dl_chan;
@@ -94,10 +103,17 @@
+
+ mhi_dev = to_mhi_device(dev);
+
-+ /* Only unprepare virtual devices thats attached to bus */
++ /* Only unprepare virtual devices that are attached to bus */
+ if (mhi_dev->dev_type == MHI_DEVICE_CONTROLLER)
+ return 0;
+
++ /* There are cases where there is no MHI client driver matches
++ * this device, so it is not probed or prepared, no need to
++ * do unprepare for it.
++ */
++ if (!mhi_dev->id)
++ return 0;
++
+ ul_chan = mhi_dev->ul_chan;
+ dl_chan = mhi_dev->dl_chan;
+
@@ -127,26 +143,34 @@
+int mhi_unprepare_all_from_transfer(struct mhi_controller *mhi_cntrl)
+{
+ return device_for_each_child(&mhi_cntrl->mhi_dev->dev, NULL,
-+ __mhi_unprepare_from_transfer);
++ ____mhi_unprepare_from_transfer);
+}
+EXPORT_SYMBOL_GPL(mhi_unprepare_all_from_transfer);
-+
diff --git a/include/linux/mhi.h b/include/linux/mhi.h
-index 85edc9c5df88..c15f4c44029d 100644
+index ae092bc8b97e..dcf62a57056a 100644
--- a/include/linux/mhi.h
+++ b/include/linux/mhi.h
-@@ -838,4 +838,22 @@ int mhi_queue_skb(struct mhi_device *mhi_dev, enum dma_data_direction dir,
+@@ -668,7 +668,7 @@ static inline void mhi_power_down(struct mhi_controller *mhi_cntrl, bool gracefu
+ * destroy struct devices. This is a variant for mhi_power_down() and is a
+ * workaround to make it possible to use mhi_power_up() in a resume
+ * handler. When using this variant the caller must also call
+- * mhi_prepare_all_for_transfer_autoqueue() and
++ * mhi_prepare_all_for_transfer() and
+ * mhi_unprepare_all_from_transfer().
+ *
+ * @mhi_cntrl: MHI controller
+@@ -842,4 +842,22 @@ int mhi_queue_skb(struct mhi_device *mhi_dev, enum dma_data_direction dir,
*/
bool mhi_queue_is_full(struct mhi_device *mhi_dev, enum dma_data_direction dir);
+/**
-+ * mhi_prepare_all_for_transfer_autoqueue - if you are using
++ * mhi_prepare_all_for_transfer - if you are using
+ * mhi_power_down_no_destroy() variant this needs to be called after
+ * calling mhi_power_up().
+ *
+ * @mhi_cntrl: MHI controller
+ */
-+int mhi_prepare_all_for_transfer_autoqueue(struct mhi_controller *mhi_cntrl);
++int mhi_prepare_all_for_transfer(struct mhi_controller *mhi_cntrl);
+
+/**
+ * mhi_unprepare_all_from_transfer - if you are using
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/drm-i915-Also-check-for-VGA-converter-in-eDP-probe.patch new/patches.suse/drm-i915-Also-check-for-VGA-converter-in-eDP-probe.patch
--- old/patches.suse/drm-i915-Also-check-for-VGA-converter-in-eDP-probe.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/drm-i915-Also-check-for-VGA-converter-in-eDP-probe.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,80 +0,0 @@
-From: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
-Date: Tue, 14 Nov 2023 16:23:33 +0200
-Message-id: <20231114142333.15799-1-ville.syrjala(a)linux.intel.com>
-Subject: [PATCH] drm/i915: Also check for VGA converter in eDP probe
-Patch-mainline: Submitted, intel-gfx ML
-References: bsc#1217282
-
-Unfortunately even the HPD based detection added in
-commit cfe5bdfb27fa ("drm/i915: Check HPD live state during eDP probe")
-fails to detect that the VBT's eDP/DDI-A is a ghost on
-Asus B360M-A (CFL+CNP). On that board eDP/DDI-A has its HPD
-asserted despite nothing being actually connected there :(
-The straps/fuses also indicate that the eDP port is present.
-
-So if one boots with a VGA monitor connected the eDP probe will
-mistake the DP->VGA converter hooked to DDI-E for an eDP panel
-on DDI-A.
-
-As a last resort check what kind of DP device we've detected,
-and if it looks like a DP->VGA converter then conclude that
-the eDP port should be ignored.
-
-Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9636
-Fixes: cfe5bdfb27fa ("drm/i915: Check HPD live state during eDP probe")
-Signed-off-by: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
-Acked-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/gpu/drm/i915/display/intel_dp.c | 28 +++++++++++++++++++------
- 1 file changed, 22 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
-index 54bd0bffa9f0..14ee05fabd05 100644
---- a/drivers/gpu/drm/i915/display/intel_dp.c
-+++ b/drivers/gpu/drm/i915/display/intel_dp.c
-@@ -6277,8 +6277,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
- * (eg. Acer Chromebook C710), so we'll check it only if multiple
- * ports are attempting to use the same AUX CH, according to VBT.
- */
-- if (intel_bios_dp_has_shared_aux_ch(encoder->devdata) &&
-- !intel_digital_port_connected(encoder)) {
-+ if (intel_bios_dp_has_shared_aux_ch(encoder->devdata)) {
- /*
- * If this fails, presume the DPCD answer came
- * from some other port using the same AUX CH.
-@@ -6286,10 +6285,27 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
- * FIXME maybe cleaner to check this before the
- * DPCD read? Would need sort out the VDD handling...
- */
-- drm_info(&dev_priv->drm,
-- "[ENCODER:%d:%s] HPD is down, disabling eDP\n",
-- encoder->base.base.id, encoder->base.name);
-- goto out_vdd_off;
-+ if (!intel_digital_port_connected(encoder)) {
-+ drm_info(&dev_priv->drm,
-+ "[ENCODER:%d:%s] HPD is down, disabling eDP\n",
-+ encoder->base.base.id, encoder->base.name);
-+ goto out_vdd_off;
-+ }
-+
-+ /*
-+ * Unfortunately even the HPD based detection fails on
-+ * eg. Asus B360M-A (CFL+CNP), so as a last resort fall
-+ * back to checking for a VGA branch device. Only do this
-+ * on known affected platforms to minimize false positives.
-+ */
-+ if (DISPLAY_VER(dev_priv) == 9 && drm_dp_is_branch(intel_dp->dpcd) &&
-+ (intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_TYPE_MASK) ==
-+ DP_DWN_STRM_PORT_TYPE_ANALOG) {
-+ drm_info(&dev_priv->drm,
-+ "[ENCODER:%d:%s] VGA converter detected, disabling eDP\n",
-+ encoder->base.base.id, encoder->base.name);
-+ goto out_vdd_off;
-+ }
- }
-
- mutex_lock(&dev_priv->drm.mode_config.mutex);
---
-2.41.0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/leds-class-Don-t-expose-color-sysfs-entry.patch new/patches.suse/leds-class-Don-t-expose-color-sysfs-entry.patch
--- old/patches.suse/leds-class-Don-t-expose-color-sysfs-entry.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/leds-class-Don-t-expose-color-sysfs-entry.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,81 +0,0 @@
-From: Takashi Iwai <tiwai(a)suse.de>
-Subject: [PATCH] leds: class: Don't expose color sysfs entry
-Date: Tue, 21 Nov 2023 17:23:59 +0100
-Message-id: <20231121162359.9332-1-tiwai(a)suse.de>
-Patch-mainline: Submitted, linux-leds ML
-References: bsc#1217172
-
-The commit c7d80059b086 ("leds: class: Store the color index in struct
-led_classdev") introduced a new sysfs entry "color" that is commonly
-created for the led classdev. Unfortunately, this conflicts with the
-"color" sysfs entry of already existing drivers such as Logitech HID
-or System76 ACPI drivers. The driver probe fails due to the conflict,
-hence it leads to a severe regression with the missing keyboard, for
-example.
-
-This patch reverts partially the change in the commit above for
-removing the led class color sysfs entries again for addressing the
-regressions. The newly introduced led_classdev.color field is kept as
-it's already used by other driver.
-
-Fixes: c7d80059b086 ("leds: class: Store the color index in struct led_classdev")
-Reported-by: Johannes Penßel <johannes.penssel(a)gmail.com>
-Closes: https://lore.kernel.org/r/b5646db3-acff-45aa-baef-df3f660486fb@gmail.com
-Link: https://bugzilla.kernel.org/show_bug.cgi?id=218045
-Link: https://bugzilla.kernel.org/show_bug.cgi?id=218155
-Link: https://bugzilla.suse.com/show_bug.cgi?id=1217172
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- Documentation/ABI/testing/sysfs-class-led | 9 ---------
- drivers/leds/led-class.c | 14 --------------
- 2 files changed, 23 deletions(-)
-
---- a/Documentation/ABI/testing/sysfs-class-led
-+++ b/Documentation/ABI/testing/sysfs-class-led
-@@ -59,15 +59,6 @@ Description:
- brightness. Reading this file when no hw brightness change
- event has happened will return an ENODATA error.
-
--What: /sys/class/leds/<led>/color
--Date: June 2023
--KernelVersion: 6.5
--Description:
-- Color of the LED.
--
-- This is a read-only file. Reading this file returns the color
-- of the LED as a string (e.g: "red", "green", "multicolor").
--
- What: /sys/class/leds/<led>/trigger
- Date: March 2006
- KernelVersion: 2.6.17
---- a/drivers/leds/led-class.c
-+++ b/drivers/leds/led-class.c
-@@ -75,19 +75,6 @@ static ssize_t max_brightness_show(struc
- }
- static DEVICE_ATTR_RO(max_brightness);
-
--static ssize_t color_show(struct device *dev,
-- struct device_attribute *attr, char *buf)
--{
-- const char *color_text = "invalid";
-- struct led_classdev *led_cdev = dev_get_drvdata(dev);
--
-- if (led_cdev->color < LED_COLOR_ID_MAX)
-- color_text = led_colors[led_cdev->color];
--
-- return sysfs_emit(buf, "%s\n", color_text);
--}
--static DEVICE_ATTR_RO(color);
--
- #ifdef CONFIG_LEDS_TRIGGERS
- static BIN_ATTR(trigger, 0644, led_trigger_read, led_trigger_write, 0);
- static struct bin_attribute *led_trigger_bin_attrs[] = {
-@@ -102,7 +89,6 @@ static const struct attribute_group led_
- static struct attribute *led_class_attrs[] = {
- &dev_attr_brightness.attr,
- &dev_attr_max_brightness.attr,
-- &dev_attr_color.attr,
- NULL,
- };
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/parisc-Fix-asm-operand-number-out-of-range-build-err.patch new/patches.suse/parisc-Fix-asm-operand-number-out-of-range-build-err.patch
--- old/patches.suse/parisc-Fix-asm-operand-number-out-of-range-build-err.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/parisc-Fix-asm-operand-number-out-of-range-build-err.patch 2023-12-08 09:27:12.000000000 +0100
@@ -0,0 +1,30 @@
+From: Helge Deller <deller(a)gmx.de>
+Date: Mon, 27 Nov 2023 10:39:26 +0100
+Subject: parisc: Fix asm operand number out of range build error in bug table
+Git-commit: 487635756198cad563feb47539c6a37ea57f1dae
+Patch-mainline: v6.7-rc5
+References: git-fixes
+
+Build is broken if CONFIG_DEBUG_BUGVERBOSE=n.
+Fix it be using the correct asm operand number.
+
+Signed-off-by: Helge Deller <deller(a)gmx.de>
+Reported-by: Linux Kernel Functional Testing <lkft(a)linaro.org>
+Fixes: fe76a1349f23 ("parisc: Use natural CPU alignment for bug_table")
+Cc: stable(a)vger.kernel.org # v6.0+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ arch/parisc/include/asm/bug.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/parisc/include/asm/bug.h
++++ b/arch/parisc/include/asm/bug.h
+@@ -70,7 +70,7 @@
+ asm volatile("\n" \
+ "1:\t" PARISC_BUG_BREAK_ASM "\n" \
+ "\t.pushsection __bug_table,\"a\"\n" \
+- "\t.align %2\n" \
++ "\t.align 4\n" \
+ "2:\t" ASM_WORD_INSN "1b\n" \
+ "\t.short %0\n" \
+ "\t.blockz %1-%2-2\n" \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/wifi-ath11k-do-not-dump-SRNG-statistics-during-resum.patch new/patches.suse/wifi-ath11k-do-not-dump-SRNG-statistics-during-resum.patch
--- old/patches.suse/wifi-ath11k-do-not-dump-SRNG-statistics-during-resum.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/wifi-ath11k-do-not-dump-SRNG-statistics-during-resum.patch 2023-12-08 09:27:12.000000000 +0100
@@ -1,9 +1,9 @@
-From 3b0506dc24516d9d7324a38ba87f82746ead9ba7 Mon Sep 17 00:00:00 2001
+From 3fa91a66169c58828c2e0da23b27e2a9e186197e Mon Sep 17 00:00:00 2001
From: Baochen Qiang <quic_bqiang(a)quicinc.com>
Date: Thu, 21 Sep 2023 16:23:04 +0800
Subject: [PATCH 5/8] wifi: ath11k: do not dump SRNG statistics during resume
References: bsc#1207948
-Git-commit: 3b0506dc24516d9d7324a38ba87f82746ead9ba7
+Git-commit: 3fa91a66169c58828c2e0da23b27e2a9e186197e
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Patch-mainline: Queued in subsystem maintainer repository
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/wifi-ath11k-fix-warning-on-DMA-ring-capabilities-eve.patch new/patches.suse/wifi-ath11k-fix-warning-on-DMA-ring-capabilities-eve.patch
--- old/patches.suse/wifi-ath11k-fix-warning-on-DMA-ring-capabilities-eve.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/wifi-ath11k-fix-warning-on-DMA-ring-capabilities-eve.patch 2023-12-08 09:27:12.000000000 +0100
@@ -1,9 +1,9 @@
-From fa496d606e6d4757280af0550d6aad9eea247cc6 Mon Sep 17 00:00:00 2001
+From 5e29921a0d14671be7d3454bb63b2c5a327a5432 Mon Sep 17 00:00:00 2001
From: Baochen Qiang <quic_bqiang(a)quicinc.com>
Date: Mon, 6 Nov 2023 16:12:45 +0200
Subject: [PATCH 6/8] wifi: ath11k: fix warning on DMA ring capabilities event
References: bsc#1207948
-Git-commit: fa496d606e6d4757280af0550d6aad9eea247cc6
+Git-commit: 5e29921a0d14671be7d3454bb63b2c5a327a5432
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Patch-mainline: Queued in subsystem maintainer repository
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/wifi-ath11k-handle-irq-enable-disable-in-several-cod.patch new/patches.suse/wifi-ath11k-handle-irq-enable-disable-in-several-cod.patch
--- old/patches.suse/wifi-ath11k-handle-irq-enable-disable-in-several-cod.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/wifi-ath11k-handle-irq-enable-disable-in-several-cod.patch 2023-12-08 09:27:12.000000000 +0100
@@ -1,10 +1,10 @@
-From d7b2d119a9bb73044e8044a138c677a59299e5fd Mon Sep 17 00:00:00 2001
+From 8085c0077e4e95c0c0a7fd502135ffc0133430c3 Mon Sep 17 00:00:00 2001
From: Baochen Qiang <quic_bqiang(a)quicinc.com>
Date: Thu, 27 Jul 2023 13:11:43 +0300
Subject: [PATCH 3/8] wifi: ath11k: handle irq enable/disable in several code
path
References: bsc#1207948
-Git-commit: d7b2d119a9bb73044e8044a138c677a59299e5fd
+Git-commit: 8085c0077e4e95c0c0a7fd502135ffc0133430c3
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Patch-mainline: Queued in subsystem maintainer repository
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/wifi-ath11k-remove-MHI-LOOPBACK-channels.patch new/patches.suse/wifi-ath11k-remove-MHI-LOOPBACK-channels.patch
--- old/patches.suse/wifi-ath11k-remove-MHI-LOOPBACK-channels.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/wifi-ath11k-remove-MHI-LOOPBACK-channels.patch 2023-12-08 09:27:12.000000000 +0100
@@ -1,9 +1,9 @@
-From c9698bf46f3a7cdb4164e6ec7d0b092f8d195699 Mon Sep 17 00:00:00 2001
+From 9cb4bb236195ab860946fc8cb42616f86b1e8b07 Mon Sep 17 00:00:00 2001
From: Baochen Qiang <quic_bqiang(a)quicinc.com>
Date: Thu, 27 Jul 2023 13:11:44 +0300
Subject: [PATCH 4/8] wifi: ath11k: remove MHI LOOPBACK channels
References: bsc#1207948
-Git-commit: c9698bf46f3a7cdb4164e6ec7d0b092f8d195699
+Git-commit: 9cb4bb236195ab860946fc8cb42616f86b1e8b07
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Patch-mainline: Queued in subsystem maintainer repository
@@ -20,11 +20,11 @@
Acked-by: Takashi Iwai <tiwai(a)suse.de>
---
- drivers/net/wireless/ath/ath11k/mhi.c | 28 ---------------------------
- 1 file changed, 28 deletions(-)
+ drivers/net/wireless/ath/ath11k/mhi.c | 56 ---------------------------
+ 1 file changed, 56 deletions(-)
diff --git a/drivers/net/wireless/ath/ath11k/mhi.c b/drivers/net/wireless/ath/ath11k/mhi.c
-index afeabd6ecc67..d4fe1d1c86e4 100644
+index afeabd6ecc67..579af57f7377 100644
--- a/drivers/net/wireless/ath/ath11k/mhi.c
+++ b/drivers/net/wireless/ath/ath11k/mhi.c
@@ -21,34 +21,6 @@
@@ -55,6 +55,41 @@
- .pollcfg = 0,
- .doorbell = MHI_DB_BRST_DISABLE,
- .lpm_notify = false,
+- .offload_channel = false,
+- .doorbell_mode_switch = false,
+- .auto_queue = false,
+- },
+ {
+ .num = 20,
+ .name = "IPCR",
+@@ -114,34 +86,6 @@ static struct mhi_controller_config ath11k_mhi_config_qca6390 = {
+ };
+
+ static struct mhi_channel_config ath11k_mhi_channels_qcn9074[] = {
+- {
+- .num = 0,
+- .name = "LOOPBACK",
+- .num_elements = 32,
+- .event_ring = 1,
+- .dir = DMA_TO_DEVICE,
+- .ee_mask = 0x14,
+- .pollcfg = 0,
+- .doorbell = MHI_DB_BRST_DISABLE,
+- .lpm_notify = false,
+- .offload_channel = false,
+- .doorbell_mode_switch = false,
+- .auto_queue = false,
+- },
+- {
+- .num = 1,
+- .name = "LOOPBACK",
+- .num_elements = 32,
+- .event_ring = 1,
+- .dir = DMA_FROM_DEVICE,
+- .ee_mask = 0x14,
+- .pollcfg = 0,
+- .doorbell = MHI_DB_BRST_DISABLE,
+- .lpm_notify = false,
- .offload_channel = false,
- .doorbell_mode_switch = false,
- .auto_queue = false,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/wifi-ath11k-support-hibernation.patch new/patches.suse/wifi-ath11k-support-hibernation.patch
--- old/patches.suse/wifi-ath11k-support-hibernation.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/wifi-ath11k-support-hibernation.patch 2023-12-08 09:27:12.000000000 +0100
@@ -1,9 +1,9 @@
-From e905ecda215f11d341630df92644ea347b7c455b Mon Sep 17 00:00:00 2001
+From fe753e96aa2e1822a1739bb3b972e8ce3a125f25 Mon Sep 17 00:00:00 2001
From: Baochen Qiang <quic_bqiang(a)quicinc.com>
Date: Thu, 27 Jul 2023 13:11:43 +0300
Subject: [PATCH 8/8] wifi: ath11k: support hibernation
References: bsc#1207948
-Git-commit: e905ecda215f11d341630df92644ea347b7c455b
+Git-commit: fe753e96aa2e1822a1739bb3b972e8ce3a125f25
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Patch-mainline: Queued in subsystem maintainer repository
@@ -16,22 +16,20 @@
in suspend callback and to use ath11k_hif_power_up() instead of
ath11k_hif_resume() in resume callback.
-In ath11k_hif_power_down(), we first save PCI states for the purpose
-of restore when resume, then reset MHI channels to keep from
-unexpected activities, and last we go PCI power down path to completely
-reset whole hardware. Most importantly in power down path, we tell
-mhi_power_down() to not to destroy MHI devices, making us get rid
-of the probe-defer issue when resume.
+In ath11k_hif_power_down(), we reset MHI channels to keep from unexpected
+activities, and last we go PCI power down path to completely reset whole
+hardware. Most importantly in power down path, we tell mhi_power_down() to not
+to destroy MHI devices, making us get rid of the probe-defer issue when resume.
-In ath11k_hif_power_up(), we first restore PCI states which are saved
-when suspend, then go normal PCI power up path to download firmware
-etc. Since MHI channels are not activated automatically, we do it
-manually at the last part.
+In ath11k_hif_power_up(), we go normal PCI power up path to download firmware
+etc. Since MHI channels are not activated automatically, we do it manually as
+the last part.
Also change related code due to interface changes.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
+Tested-by: Takashi Iwai <tiwai(a)suse.de>
Signed-off-by: Baochen Qiang <quic_bqiang(a)quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo(a)quicinc.com>
Acked-by: Takashi Iwai <tiwai(a)suse.de>
@@ -236,7 +234,7 @@
static inline int ath11k_hif_suspend(struct ath11k_base *ab)
--- a/drivers/net/wireless/ath/ath11k/mhi.c
+++ b/drivers/net/wireless/ath/ath11k/mhi.c
-@@ -460,9 +460,16 @@ int ath11k_mhi_start(struct ath11k_pci *
+@@ -432,9 +432,16 @@ int ath11k_mhi_start(struct ath11k_pci *
return 0;
}
@@ -255,14 +253,14 @@
mhi_unprepare_after_power_down(ab_pci->mhi_ctrl);
}
-@@ -497,3 +504,13 @@ int ath11k_mhi_resume(struct ath11k_pci
+@@ -469,3 +476,13 @@ int ath11k_mhi_resume(struct ath11k_pci
return 0;
}
+
+int ath11k_mhi_prepare_for_transfer(struct ath11k_pci *ab_pci)
+{
-+ return mhi_prepare_all_for_transfer_autoqueue(ab_pci->mhi_ctrl);
++ return mhi_prepare_all_for_transfer(ab_pci->mhi_ctrl);
+}
+
+int ath11k_mhi_unprepare_from_transfer(struct ath11k_pci *ab_pci)
@@ -339,7 +337,7 @@
+
+ if (is_resume) {
+ /* sleep for 500ms to let mhi_pm_mission_mode_transition()
-+ * finishes, or we may be wake up imediatly afetr mission
++ * finishes, or we may be wake up immediately after mission
+ * mode event received and call
+ * ath11k_mhi_prepare_for_transfer(), while bottom half of
+ * mhi_pm_mission_mode_transition() does not finish.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/wifi-ath11k-thermal-don-t-try-to-register-multiple-t.patch new/patches.suse/wifi-ath11k-thermal-don-t-try-to-register-multiple-t.patch
--- old/patches.suse/wifi-ath11k-thermal-don-t-try-to-register-multiple-t.patch 2023-11-29 06:06:07.000000000 +0100
+++ new/patches.suse/wifi-ath11k-thermal-don-t-try-to-register-multiple-t.patch 2023-12-08 09:27:12.000000000 +0100
@@ -1,10 +1,10 @@
-From f23daa7892c146bc0d921ec1cee7978a18100e73 Mon Sep 17 00:00:00 2001
+From f99e716a852fbf942061c11c660f8e942a1060a2 Mon Sep 17 00:00:00 2001
From: Kalle Valo <quic_kvalo(a)quicinc.com>
Date: Thu, 9 Nov 2023 14:41:32 +0200
Subject: [PATCH 7/8] wifi: ath11k: thermal: don't try to register multiple
times
References: bsc#1207948
-Git-commit: f23daa7892c146bc0d921ec1cee7978a18100e73
+Git-commit: f99e716a852fbf942061c11c660f8e942a1060a2
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Patch-mainline: Queued in subsystem maintainer repository
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:05.528155695 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:05.532155842 +0100
@@ -1187,6 +1187,256 @@
patches.kernel.org/6.6.3-524-drm-amd-display-Clear-dpcd_sink_ext_caps-if-no…
patches.kernel.org/6.6.3-525-drm-amd-display-Change-the-DMCUB-mailbox-memor…
patches.kernel.org/6.6.3-526-Linux-6.6.3.patch
+ patches.kernel.org/6.6.4-001-NFSD-Fix-start-of-NFS-reply-pointer-passed-to-…
+ patches.kernel.org/6.6.4-002-NFSD-Fix-checksum-mismatches-in-the-duplicate-…
+ patches.kernel.org/6.6.4-003-irqchip-gic-v3-its-Flush-ITS-tables-correctly-…
+ patches.kernel.org/6.6.4-004-hv-hv_kvp_daemon-Some-small-fixes-for-handling…
+ patches.kernel.org/6.6.4-005-sched-eevdf-Fix-vruntime-adjustment-on-reweigh…
+ patches.kernel.org/6.6.4-006-sched-fair-Fix-the-decision-for-load-balance.p…
+ patches.kernel.org/6.6.4-007-drm-msm-dsi-use-the-correct-VREG_CTRL_1-value-…
+ patches.kernel.org/6.6.4-008-s390-ism-ism-driver-implies-smc-protocol.patch
+ patches.kernel.org/6.6.4-009-rxrpc-Fix-RTT-determination-to-use-any-ACK-as-…
+ patches.kernel.org/6.6.4-010-rxrpc-Defer-the-response-to-a-PING-ACK-until-w…
+ patches.kernel.org/6.6.4-011-afs-Fix-afs_server_list-to-be-cleaned-up-with-…
+ patches.kernel.org/6.6.4-012-afs-Make-error-on-cell-lookup-failure-consiste…
+ patches.kernel.org/6.6.4-013-blk-cgroup-avoid-to-warn-rcu_read_lock_held-in…
+ patches.kernel.org/6.6.4-014-drm-panel-auo-b101uan08.3-Fine-tune-the-panel-…
+ patches.kernel.org/6.6.4-015-fs-Pass-AT_GETATTR_NOSEC-flag-to-getattr-inter…
+ patches.kernel.org/6.6.4-016-drm-panel-simple-Fix-Innolux-G101ICE-L01-bus-f…
+ patches.kernel.org/6.6.4-017-drm-panel-simple-Fix-Innolux-G101ICE-L01-timin…
+ patches.kernel.org/6.6.4-018-net-wangxun-fix-kernel-panic-due-to-null-point…
+ patches.kernel.org/6.6.4-019-wireguard-use-DEV_STATS_INC.patch
+ patches.kernel.org/6.6.4-020-octeontx2-pf-Fix-memory-leak-during-interface-…
+ patches.kernel.org/6.6.4-021-ata-pata_isapnp-Add-missing-error-check-for-de…
+ patches.kernel.org/6.6.4-022-drm-i915-do-not-clean-GT-table-on-error-path.p…
+ patches.kernel.org/6.6.4-023-filemap-add-a-per-mapping-stable-writes-flag.p…
+ patches.kernel.org/6.6.4-024-block-update-the-stable_writes-flag-in-bdev_ad…
+ patches.kernel.org/6.6.4-025-libfs-getdents-should-return-0-after-reaching-…
+ patches.kernel.org/6.6.4-026-drm-rockchip-vop-Fix-color-for-RGB888-BGR888-f…
+ patches.kernel.org/6.6.4-027-PM-tools-Fix-sleepgraph-syntax-error.patch
+ patches.kernel.org/6.6.4-028-net-vrf-Move-dstats-structure-to-core.patch
+ patches.kernel.org/6.6.4-029-net-Move-l-t-d-stats-allocation-to-core-and-co…
+ patches.kernel.org/6.6.4-030-bpf-Fix-dev-s-rx-stats-for-bpf_redirect_peer-t…
+ patches.kernel.org/6.6.4-031-accel-ivpu-Do-not-initialize-parameters-on-pow…
+ patches.kernel.org/6.6.4-032-accel-ivpu-37xx-Fix-hangs-related-to-MMIO-rese…
+ patches.kernel.org/6.6.4-033-HID-fix-HID-device-resource-race-between-HID-c…
+ patches.kernel.org/6.6.4-034-ipv4-Correct-silence-an-endian-warning-in-__ip…
+ patches.kernel.org/6.6.4-035-drm-panel-boe-tv101wum-nl6-Fine-tune-Himax8310…
+ patches.kernel.org/6.6.4-036-net-usb-ax88179_178a-fix-failed-operations-dur…
+ patches.kernel.org/6.6.4-037-net-smc-avoid-data-corruption-caused-by-declin…
+ patches.kernel.org/6.6.4-038-s390-ipl-add-missing-IPL_TYPE_ECKD_DUMP-case-t…
+ patches.kernel.org/6.6.4-039-arm64-mm-Fix-rodata-on-when-CONFIG_RODATA_FULL…
+ patches.kernel.org/6.6.4-040-arm-xen-fix-xen_vcpu_info-allocation-alignment…
+ patches.kernel.org/6.6.4-041-octeontx2-pf-Fix-ntuple-rule-creation-to-direc…
+ patches.kernel.org/6.6.4-042-net-veth-fix-ethtool-stats-reporting.patch
+ patches.kernel.org/6.6.4-043-amd-xgbe-handle-corner-case-during-sfp-hotplug…
+ patches.kernel.org/6.6.4-044-amd-xgbe-handle-the-corner-case-during-tx-comp…
+ patches.kernel.org/6.6.4-045-amd-xgbe-propagate-the-correct-speed-and-duple…
+ patches.kernel.org/6.6.4-046-i40e-Fix-adding-unsupported-cloud-filters.patch
+ patches.kernel.org/6.6.4-047-vsock-test-fix-SEQPACKET-message-bounds-test.p…
+ patches.kernel.org/6.6.4-048-net-axienet-Fix-check-for-partial-TX-checksum.…
+ patches.kernel.org/6.6.4-049-net-ipa-fix-one-GSI-register-field-width.patch
+ patches.kernel.org/6.6.4-050-afs-Return-ENOENT-if-no-cell-DNS-record-can-be…
+ patches.kernel.org/6.6.4-051-afs-Fix-file-locking-on-R-O-volumes-to-operate…
+ patches.kernel.org/6.6.4-052-nvme-blank-out-authentication-fabrics-options-…
+ patches.kernel.org/6.6.4-053-nvmet-nul-terminate-the-NQNs-passed-in-the-con…
+ patches.kernel.org/6.6.4-054-USB-dwc3-qcom-fix-resource-leaks-on-probe-defe…
+ patches.kernel.org/6.6.4-055-USB-dwc3-qcom-fix-ACPI-platform-device-leak.pa…
+ patches.kernel.org/6.6.4-056-lockdep-Fix-block-chain-corruption.patch
+ patches.kernel.org/6.6.4-057-mm-add-a-NO_INHERIT-flag-to-the-PR_SET_MDWE-pr…
+ patches.kernel.org/6.6.4-058-prctl-Disable-prctl-PR_SET_MDWE-on-parisc.patch
+ patches.kernel.org/6.6.4-059-kselftest-arm64-Fix-output-formatting-for-za-f…
+ patches.kernel.org/6.6.4-060-drm-msm-dpu-Add-missing-safe_lut_tbl-in-sc8280…
+ patches.kernel.org/6.6.4-061-drm-ast-Disconnect-BMC-if-physical-connector-i…
+ patches.kernel.org/6.6.4-062-thunderbolt-Set-lane-bonding-bit-only-for-down…
+ patches.kernel.org/6.6.4-063-ACPI-video-Use-acpi_device_fix_up_power_childr…
+ patches.kernel.org/6.6.4-064-ACPI-processor_idle-use-raw_safe_halt-in-acpi_…
+ patches.kernel.org/6.6.4-065-ACPI-resource-Skip-IRQ-override-on-ASUS-Expert…
+ patches.kernel.org/6.6.4-066-ACPI-PM-Add-acpi_device_fix_up_power_children-…
+ patches.kernel.org/6.6.4-067-swiotlb-xen-provide-the-max_mapping_size-metho…
+ patches.kernel.org/6.6.4-068-tls-fix-NULL-deref-on-tls_sw_splice_eof-with-e…
+ patches.kernel.org/6.6.4-069-io_uring-fix-off-by-one-bvec-index.patch
+ patches.kernel.org/6.6.4-070-bcache-replace-a-mistaken-IS_ERR-by-IS_ERR_OR_…
+ patches.kernel.org/6.6.4-071-md-fix-bi_status-reporting-in-md_end_clone_io.…
+ patches.kernel.org/6.6.4-072-bcache-fixup-multi-threaded-bch_sectors_dirty_…
+ patches.kernel.org/6.6.4-073-io_uring-fs-consider-link-flags-when-getting-p…
+ patches.kernel.org/6.6.4-074-s390-dasd-protect-device-queue-against-concurr…
+ patches.kernel.org/6.6.4-075-platform-x86-hp-bioscfg-Simplify-return-check-…
+ patches.kernel.org/6.6.4-076-platform-x86-hp-bioscfg-move-mutex_lock-down-i…
+ patches.kernel.org/6.6.4-077-platform-x86-hp-bioscfg-Fix-error-handling-in-…
+ patches.kernel.org/6.6.4-078-dt-bindings-usb-microchip-usb5744-Add-second-s…
+ patches.kernel.org/6.6.4-079-usb-misc-onboard-hub-add-support-for-Microchip…
+ patches.kernel.org/6.6.4-080-USB-serial-option-add-Luat-Air72-U-series-prod…
+ patches.kernel.org/6.6.4-081-platform-x86-amd-pmc-adjust-getting-DRAM-size-…
+ patches.kernel.org/6.6.4-082-platform-x86-ideapad-laptop-Set-max_brightness…
+ patches.kernel.org/6.6.4-083-hv_netvsc-fix-race-of-netvsc-and-VF-register_n…
+ patches.kernel.org/6.6.4-084-hv_netvsc-Fix-race-of-register_netdevice_notif…
+ patches.kernel.org/6.6.4-085-hv_netvsc-Mark-VF-as-slave-before-exposing-it-…
+ patches.kernel.org/6.6.4-086-Revert-usb-phy-add-usb-phy-notify-port-status-…
+ patches.kernel.org/6.6.4-087-Revert-phy-realtek-usb-Add-driver-for-the-Real…
+ patches.kernel.org/6.6.4-088-Revert-phy-realtek-usb-Add-driver-for-the-Real…
+ patches.kernel.org/6.6.4-089-cifs-distribute-channels-across-interfaces-bas…
+ patches.kernel.org/6.6.4-090-cifs-account-for-primary-channel-in-the-interf…
+ patches.kernel.org/6.6.4-091-cifs-fix-leak-of-iface-for-primary-channel.pat…
+ patches.kernel.org/6.6.4-092-ALSA-hda-ASUS-UM5302LA-Added-quirks-for-cs35L4…
+ patches.kernel.org/6.6.4-093-ALSA-hda-realtek-Add-quirks-for-ASUS-2024-Zenb…
+ patches.kernel.org/6.6.4-094-dm-delay-fix-a-race-between-delay_presuspend-a…
+ patches.kernel.org/6.6.4-095-veth-Use-tstats-per-CPU-traffic-counters.patch
+ patches.kernel.org/6.6.4-096-bcache-check-return-value-from-btree_node_allo…
+ patches.kernel.org/6.6.4-097-bcache-prevent-potential-division-by-zero-erro…
+ patches.kernel.org/6.6.4-098-bcache-fixup-init-dirty-data-errors.patch
+ patches.kernel.org/6.6.4-099-bcache-fixup-lock-c-root-error.patch
+ patches.kernel.org/6.6.4-100-USB-xhci-plat-fix-legacy-PHY-double-init.patch
+ patches.kernel.org/6.6.4-101-usb-config-fix-iteration-issue-in-usb_get_bos_…
+ patches.kernel.org/6.6.4-102-usb-cdnsp-Fix-deadlock-issue-during-using-NCM-…
+ patches.kernel.org/6.6.4-103-USB-serial-option-add-Fibocom-L7xx-modules.pat…
+ patches.kernel.org/6.6.4-104-USB-serial-option-fix-FM101R-GL-defines.patch
+ patches.kernel.org/6.6.4-105-USB-serial-option-don-t-claim-interface-4-for-…
+ patches.kernel.org/6.6.4-106-usb-typec-tcpm-Fix-sink-caps-op-current-check.…
+ patches.kernel.org/6.6.4-107-usb-typec-tcpm-Skip-hard-reset-when-in-error-r…
+ patches.kernel.org/6.6.4-108-USB-dwc2-write-HCINT-with-INTMASK-applied.patch
+ patches.kernel.org/6.6.4-109-usb-dwc3-Fix-default-mode-initialization.patch
+ patches.kernel.org/6.6.4-110-usb-dwc3-set-the-dma-max_seg_size.patch
+ patches.kernel.org/6.6.4-111-USB-dwc3-qcom-fix-software-node-leak-on-probe-…
+ patches.kernel.org/6.6.4-112-USB-dwc3-qcom-fix-wakeup-after-probe-deferral.…
+ patches.kernel.org/6.6.4-113-Linux-6.6.4.patch
+ patches.kernel.org/6.6.5-001-leds-class-Don-t-expose-color-sysfs-entry.patch
+ patches.kernel.org/6.6.5-002-cifs-Fix-FALLOC_FL_ZERO_RANGE-by-setting-i_siz…
+ patches.kernel.org/6.6.5-003-cifs-Fix-FALLOC_FL_INSERT_RANGE-by-setting-i_s…
+ patches.kernel.org/6.6.5-004-smb-client-fix-missing-mode-bits-for-SMB-symli…
+ patches.kernel.org/6.6.5-005-smb-client-report-correct-st_size-for-SMB-and-…
+ patches.kernel.org/6.6.5-006-ksmbd-fix-possible-deadlock-in-smb2_open.patch
+ patches.kernel.org/6.6.5-007-pinctrl-avoid-reload-of-p-state-in-list-iterat…
+ patches.kernel.org/6.6.5-008-firewire-core-fix-possible-memory-leak-in-crea…
+ patches.kernel.org/6.6.5-009-mmc-sdhci-pci-gli-Disable-LPM-during-initializ…
+ patches.kernel.org/6.6.5-010-mmc-sdhci-sprd-Fix-vqmmc-not-shutting-down-aft…
+ patches.kernel.org/6.6.5-011-mmc-cqhci-Increase-recovery-halt-timeout.patch
+ patches.kernel.org/6.6.5-012-mmc-cqhci-Warn-of-halt-or-task-clear-failure.p…
+ patches.kernel.org/6.6.5-013-mmc-cqhci-Fix-task-clearing-in-CQE-error-recov…
+ patches.kernel.org/6.6.5-014-mmc-block-Retry-commands-in-CQE-error-recovery…
+ patches.kernel.org/6.6.5-015-mmc-block-Do-not-lose-cache-flush-during-CQE-e…
+ patches.kernel.org/6.6.5-016-mmc-block-Be-sure-to-wait-while-busy-in-CQE-er…
+ patches.kernel.org/6.6.5-017-drm-i915-Also-check-for-VGA-converter-in-eDP-p…
+ patches.kernel.org/6.6.5-018-ALSA-hda-Disable-power-save-on-KONTRON-SingleP…
+ patches.kernel.org/6.6.5-019-ALSA-hda-realtek-Headset-Mic-VREF-to-100.patch
+ patches.kernel.org/6.6.5-020-ALSA-hda-realtek-Add-supported-ALC257-for-Chro…
+ patches.kernel.org/6.6.5-021-net-libwx-fix-memory-leak-on-msix-entry.patch
+ patches.kernel.org/6.6.5-022-dm-verity-align-struct-dm_verity_fec_io-proper…
+ patches.kernel.org/6.6.5-023-scsi-Change-SCSI-device-boolean-fields-to-sing…
+ patches.kernel.org/6.6.5-024-scsi-sd-Fix-system-start-for-ATA-devices.patch
+ patches.kernel.org/6.6.5-025-scsi-ufs-core-Clear-cmd-if-abort-succeeds-in-M…
+ patches.kernel.org/6.6.5-026-drm-amd-Enable-PCIe-PME-from-D3.patch
+ patches.kernel.org/6.6.5-027-drm-amdgpu-correct-the-amdgpu-runtime-derefere…
+ patches.kernel.org/6.6.5-028-drm-amdgpu-Force-order-between-a-read-and-writ…
+ patches.kernel.org/6.6.5-029-drm-amdgpu-fix-memory-overflow-in-the-IB-test.…
+ patches.kernel.org/6.6.5-030-drm-amdgpu-Update-EEPROM-I2C-address-for-smu-v…
+ patches.kernel.org/6.6.5-031-drm-amd-display-Include-udelay-when-waiting-fo…
+ patches.kernel.org/6.6.5-032-drm-amd-display-Remove-min_dst_y_next_start-ch…
+ patches.kernel.org/6.6.5-033-drm-amd-display-Use-DRAM-speed-from-validation…
+ patches.kernel.org/6.6.5-034-drm-amd-display-Update-min-Z8-residency-time-t…
+ patches.kernel.org/6.6.5-035-drm-amd-display-fix-ABM-disablement.patch
+ patches.kernel.org/6.6.5-036-drm-amd-display-force-toggle-rate-wa-for-first…
+ patches.kernel.org/6.6.5-037-dm-verity-initialize-fec-io-before-freeing-it.…
+ patches.kernel.org/6.6.5-038-dm-verity-don-t-perform-FEC-for-failed-readahe…
+ patches.kernel.org/6.6.5-039-nvme-check-for-valid-nvme_identify_ns-before-u…
+ patches.kernel.org/6.6.5-040-r8169-fix-deadlock-on-RTL8125-in-jumbo-mtu-mod…
+ patches.kernel.org/6.6.5-041-ACPI-video-Use-acpi_video_device-for-cooling-d…
+ patches.kernel.org/6.6.5-042-io_uring-don-t-allow-discontig-pages-for-IORIN…
+ patches.kernel.org/6.6.5-043-iommu-vt-d-Fix-incorrect-cache-invalidation-fo…
+ patches.kernel.org/6.6.5-044-io_uring-free-io_buffer_list-entries-via-RCU.p…
+ patches.kernel.org/6.6.5-045-nouveau-find-the-smallest-page-allocation-to-c…
+ patches.kernel.org/6.6.5-046-powercap-DTPM-Fix-unneeded-conversions-to-micr…
+ patches.kernel.org/6.6.5-047-cpufreq-amd-pstate-Fix-the-return-value-of-amd…
+ patches.kernel.org/6.6.5-048-dma-buf-fix-check-in-dma_resv_add_fence.patch
+ patches.kernel.org/6.6.5-049-io_uring-don-t-guard-IORING_OFF_PBUF_RING-with…
+ patches.kernel.org/6.6.5-050-iommu-Avoid-more-races-around-device-probe.pat…
+ patches.kernel.org/6.6.5-051-bcache-revert-replacing-IS_ERR_OR_NULL-with-IS…
+ patches.kernel.org/6.6.5-052-ext2-Fix-ki_pos-update-for-DIO-buffered-io-fal…
+ patches.kernel.org/6.6.5-053-iommu-vt-d-Add-MTL-to-quirk-list-to-skip-TE-di…
+ patches.kernel.org/6.6.5-054-KVM-PPC-Book3S-HV-Fix-KVM_RUN-clobbering-FP-VE…
+ patches.kernel.org/6.6.5-055-powerpc-Don-t-clobber-f0-vs0-during-fp-altivec…
+ patches.kernel.org/6.6.5-056-parisc-Mark-ex_table-entries-32-bit-aligned-in…
+ patches.kernel.org/6.6.5-057-parisc-Mark-ex_table-entries-32-bit-aligned-in…
+ patches.kernel.org/6.6.5-058-parisc-Use-natural-CPU-alignment-for-bug_table…
+ patches.kernel.org/6.6.5-059-parisc-Mark-lock_aligned-variables-16-byte-ali…
+ patches.kernel.org/6.6.5-060-parisc-Drop-the-HP-UX-ENOSYM-and-EREMOTERELEAS…
+ patches.kernel.org/6.6.5-061-parisc-Mark-jump_table-naturally-aligned.patch
+ patches.kernel.org/6.6.5-062-parisc-Ensure-32-bit-alignment-on-parisc-unwin…
+ patches.kernel.org/6.6.5-063-parisc-Mark-altinstructions-read-only-and-32-b…
+ patches.kernel.org/6.6.5-064-btrfs-add-dmesg-output-for-first-mount-and-las…
+ patches.kernel.org/6.6.5-065-btrfs-ref-verify-fix-memory-leaks-in-btrfs_ref…
+ patches.kernel.org/6.6.5-066-btrfs-fix-off-by-one-when-checking-chunk-map-i…
+ patches.kernel.org/6.6.5-067-btrfs-send-ensure-send_fd-is-writable.patch
+ patches.kernel.org/6.6.5-068-btrfs-make-error-messages-more-clear-when-gett…
+ patches.kernel.org/6.6.5-069-btrfs-free-the-allocated-memory-if-btrfs_alloc…
+ patches.kernel.org/6.6.5-070-btrfs-fix-64bit-compat-send-ioctl-arguments-no…
+ patches.kernel.org/6.6.5-071-io_uring-enable-io_mem_alloc-free-to-be-used-i…
+ patches.kernel.org/6.6.5-072-io_uring-kbuf-defer-release-of-mapped-buffer-r…
+ patches.kernel.org/6.6.5-073-io_uring-kbuf-recycle-freed-mapped-buffer-ring…
+ patches.kernel.org/6.6.5-074-wifi-cfg80211-fix-CQM-for-non-range-use.patch
+ patches.kernel.org/6.6.5-075-pinctrl-stm32-Add-check-for-devm_kcalloc.patch
+ patches.kernel.org/6.6.5-076-pinctrl-stm32-fix-array-read-out-of-bound.patch
+ patches.kernel.org/6.6.5-077-media-v4l2-subdev-Fix-a-64bit-bug.patch
+ patches.kernel.org/6.6.5-078-netdevsim-Don-t-accept-device-bound-programs.p…
+ patches.kernel.org/6.6.5-079-net-rswitch-Fix-type-of-ret-in-rswitch_start_x…
+ patches.kernel.org/6.6.5-080-net-rswitch-Fix-return-value-in-rswitch_start_…
+ patches.kernel.org/6.6.5-081-net-rswitch-Fix-missing-dev_kfree_skb_any-in-e…
+ patches.kernel.org/6.6.5-082-ipv4-igmp-fix-refcnt-uaf-issue-when-receiving-…
+ patches.kernel.org/6.6.5-083-wifi-iwlwifi-mvm-fix-an-error-code-in-iwl_mvm_…
+ patches.kernel.org/6.6.5-084-wifi-mac80211-do-not-pass-AP_VLAN-vif-pointer-…
+ patches.kernel.org/6.6.5-085-net-dsa-mv88e6xxx-fix-marvell-6350-switch-prob…
+ patches.kernel.org/6.6.5-086-net-dsa-mv88e6xxx-fix-marvell-6350-probe-crash…
+ patches.kernel.org/6.6.5-087-dpaa2-eth-increase-the-needed-headroom-to-acco…
+ patches.kernel.org/6.6.5-088-dpaa2-eth-recycle-the-RX-buffer-only-after-all…
+ patches.kernel.org/6.6.5-089-bpf-Add-missed-allocation-hint-for-bpf_mem_cac…
+ patches.kernel.org/6.6.5-090-uapi-propagate-__struct_group-attributes-to-th…
+ patches.kernel.org/6.6.5-091-selftests-net-ipsec-fix-constant-out-of-range.…
+ patches.kernel.org/6.6.5-092-selftests-net-fix-a-char-signedness-issue.patch
+ patches.kernel.org/6.6.5-093-selftests-net-unix-fix-unused-variable-compile…
+ patches.kernel.org/6.6.5-094-selftests-net-mptcp-fix-uninitialized-variable…
+ patches.kernel.org/6.6.5-095-octeontx2-af-Fix-possible-buffer-overflow.patch
+ patches.kernel.org/6.6.5-096-net-stmmac-xgmac-Disable-FPE-MMC-interrupts.pa…
+ patches.kernel.org/6.6.5-097-octeontx2-pf-Fix-adding-mbox-work-queue-entry-…
+ patches.kernel.org/6.6.5-098-octeontx2-pf-Restore-TC-ingress-police-rules-w…
+ patches.kernel.org/6.6.5-099-neighbour-Fix-__randomize_layout-crash-in-stru…
+ patches.kernel.org/6.6.5-100-efi-unaccepted-Fix-off-by-one-when-checking-fo…
+ patches.kernel.org/6.6.5-101-r8169-prevent-potential-deadlock-in-rtl8169_cl…
+ patches.kernel.org/6.6.5-102-ravb-Fix-races-between-ravb_tx_timeout_work-an…
+ patches.kernel.org/6.6.5-103-ethtool-don-t-propagate-EOPNOTSUPP-from-dumps.…
+ patches.kernel.org/6.6.5-104-bpf-sockmap-af_unix-stream-sockets-need-to-hol…
+ patches.kernel.org/6.6.5-105-ice-Fix-VF-Reset-paths-when-interface-in-a-fai…
+ patches.kernel.org/6.6.5-106-net-ravb-Check-return-value-of-reset_control_d…
+ patches.kernel.org/6.6.5-107-net-ravb-Use-pm_runtime_resume_and_get.patch
+ patches.kernel.org/6.6.5-108-net-ravb-Make-write-access-to-CXR35-first-befo…
+ patches.kernel.org/6.6.5-109-net-ravb-Start-TX-queues-after-HW-initializati…
+ patches.kernel.org/6.6.5-110-net-ravb-Stop-DMA-in-case-of-failures-on-ravb_…
+ patches.kernel.org/6.6.5-111-net-ravb-Keep-reverse-order-of-operations-in-r…
+ patches.kernel.org/6.6.5-112-powerpc-pseries-iommu-enable_ddw-incorrectly-r…
+ patches.kernel.org/6.6.5-113-s390-cmma-fix-handling-of-swapper_pg_dir-and-i…
+ patches.kernel.org/6.6.5-114-drm-amd-display-Refactor-edp-power-control.pat…
+ patches.kernel.org/6.6.5-115-drm-amd-display-Remove-power-sequencing-check.…
+ patches.kernel.org/6.6.5-116-cpufreq-imx6q-Don-t-disable-792-Mhz-OPP-unnece…
+ patches.kernel.org/6.6.5-117-iommu-vt-d-Omit-devTLB-invalidation-requests-w…
+ patches.kernel.org/6.6.5-118-iommu-vt-d-Disable-PCI-ATS-in-legacy-passthrou…
+ patches.kernel.org/6.6.5-119-iommu-vt-d-Make-context-clearing-consistent-wi…
+ patches.kernel.org/6.6.5-120-drm-i915-gsc-Mark-internal-GSC-engine-with-res…
+ patches.kernel.org/6.6.5-121-drm-panel-starry-2081101qfh032011-53g-Fine-tun…
+ patches.kernel.org/6.6.5-122-drm-panel-nt36523-fix-return-value-check-in-nt…
+ patches.kernel.org/6.6.5-123-cpufreq-amd-pstate-Fix-scaling_min_freq-and-sc…
+ patches.kernel.org/6.6.5-124-cpufreq-amd-pstate-Only-print-supported-EPP-va…
+ patches.kernel.org/6.6.5-125-drm-amd-pm-fix-a-memleak-in-aldebaran_tables_i…
+ patches.kernel.org/6.6.5-126-iommu-Fix-printk-arg-in-of_iommu_get_resv_regi…
+ patches.kernel.org/6.6.5-127-drm-amd-display-refactor-ILR-to-make-it-work.p…
+ patches.kernel.org/6.6.5-128-drm-amd-display-Reduce-default-backlight-min-f…
+ patches.kernel.org/6.6.5-129-drm-amd-display-Simplify-brightness-initializa…
+ patches.kernel.org/6.6.5-130-drm-amd-display-Fix-MPCC-1DLUT-programming.pat…
+ patches.kernel.org/6.6.5-131-vfio-pds-Fix-mutex-lock-magic-lock-warning.pat…
+ patches.kernel.org/6.6.5-132-vfio-pds-Fix-possible-sleep-while-in-atomic-co…
+ patches.kernel.org/6.6.5-133-x86-xen-fix-percpu-vcpu_info-allocation.patch
+ patches.kernel.org/6.6.5-134-vfio-Drop-vfio_file_iommu_group-stub-to-fudge-…
+ patches.kernel.org/6.6.5-135-Linux-6.6.5.patch
+ patches.kernel.org/6.6.6-001-Revert-wifi-cfg80211-fix-CQM-for-non-range-use…
+ patches.kernel.org/6.6.6-002-Linux-6.6.6.patch
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -1215,7 +1465,6 @@
########################################################
# sorted patches
########################################################
-
patches.suse/wifi-ath11k-rename-the-sc-naming-convention-to-ab.patch
patches.suse/lib-ucs2_string-Add-UCS-2-strscpy-function.patch
patches.suse/firmware-qcom_scm-Add-support-for-Qualcomm-Secure-Ex.patch
@@ -1237,6 +1486,7 @@
patches.suse/ASoC-cs35l41-Detect-CSPL-errors-when-sending-CSPL-co.patch
patches.suse/ALSA-hda-cs35l41-mark-cs35l41_verify_id-static.patch
patches.suse/ALSA-hda-cs35l41-Fix-missing-error-code-in-cs35l41_s.patch
+ patches.suse/parisc-Fix-asm-operand-number-out-of-range-build-err.patch
########################################################
# end of sorted patches
########################################################
@@ -1254,8 +1504,6 @@
# to area specific sections below.
########################################################
patches.suse/firmware-qemu_fw_cfg-Do-not-hard-depend-on-CONFIG_HA.patch
- patches.suse/drm-i915-Also-check-for-VGA-converter-in-eDP-probe.patch
- patches.suse/leds-class-Don-t-expose-color-sysfs-entry.patch
########################################################
# kbuild/module infrastructure fixes
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.iRhqi8/_old 2023-12-12 19:32:05.556156728 +0100
+++ /var/tmp/diff_new_pack.iRhqi8/_new 2023-12-12 19:32:05.560156876 +0100
@@ -1,4 +1,4 @@
-2023-11-29 05:06:07 +0000
-GIT Revision: d766c572a0364cdd25a29e4aea41104f5ffdbd17
+2023-12-11 09:46:39 +0000
+GIT Revision: a946a9f9d865a849717a570675413f097b229184
GIT Branch: stable
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package irqbalance for openSUSE:Factory checked in at 2023-12-12 19:31:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/irqbalance (Old)
and /work/SRC/openSUSE:Factory/.irqbalance.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "irqbalance"
Tue Dec 12 19:31:48 2023 rev:73 rq:1132636 version:1.9.3.10.git+1a7d461
Changes:
--------
--- /work/SRC/openSUSE:Factory/irqbalance/irqbalance.changes 2023-12-01 21:24:42.604427605 +0100
+++ /work/SRC/openSUSE:Factory/.irqbalance.new.25432/irqbalance.changes 2023-12-12 19:31:49.747573455 +0100
@@ -1,0 +2,7 @@
+Wed Dec 06 11:21:22 UTC 2023 - aschnell(a)suse.com
+
+- Update to version 1.9.3.10.git+1a7d461:
+ * filter console only output when using journal mode
+- build with libsystemd for logging (bsc#1217754)
+
+-------------------------------------------------------------------
Old:
----
irqbalance-1.9.3.8.git+c963f48.obscpio
New:
----
irqbalance-1.9.3.10.git+1a7d461.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ irqbalance.spec ++++++
--- /var/tmp/diff_new_pack.G1eT7y/_old 2023-12-12 19:31:50.555603267 +0100
+++ /var/tmp/diff_new_pack.G1eT7y/_new 2023-12-12 19:31:50.555603267 +0100
@@ -21,7 +21,7 @@
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
Name: irqbalance
-Version: 1.9.3.8.git+c963f48
+Version: 1.9.3.10.git+1a7d461
Release: 0
Summary: Daemon to balance IRQs on SMP machines
License: GPL-2.0-or-later
@@ -36,6 +36,7 @@
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(libsystemd)
Requires(pre): %fillup_prereq
Recommends: %{name}-ui
ExcludeArch: s390 s390x
@@ -66,6 +67,7 @@
%build
NOCONFIGURE=1 ./autogen.sh
%configure \
+ --with-systemd \
%ifarch x86_64 %{?x86_64}
--enable-thermal
%endif
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.G1eT7y/_old 2023-12-12 19:31:50.595604744 +0100
+++ /var/tmp/diff_new_pack.G1eT7y/_new 2023-12-12 19:31:50.599604891 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/Irqbalance/irqbalance.git</param>
- <param name="changesrevision">c963f4883652a4ea4a4a40aabb80c934fd13abef</param></service></servicedata>
+ <param name="changesrevision">1a7d461c27fb49c8c149aca313a12b7b0365d456</param></service></servicedata>
(No newline at EOF)
++++++ irqbalance-1.9.3.8.git+c963f48.obscpio -> irqbalance-1.9.3.10.git+1a7d461.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irqbalance-1.9.3.8.git+c963f48/irqbalance.h new/irqbalance-1.9.3.10.git+1a7d461/irqbalance.h
--- old/irqbalance-1.9.3.8.git+c963f48/irqbalance.h 2023-11-21 11:10:49.000000000 +0100
+++ new/irqbalance-1.9.3.10.git+1a7d461/irqbalance.h 2023-12-01 11:47:47.000000000 +0100
@@ -138,7 +138,8 @@
#ifdef HAVE_LIBSYSTEMD
#define log(mask, lvl, fmt, args...) do { \
if (journal_logging) { \
- sd_journal_print(lvl, fmt, ##args); \
+ if (log_mask & mask & TO_SYSLOG) \
+ sd_journal_print(lvl, fmt, ##args); \
if (log_mask & mask & TO_CONSOLE) \
printf(fmt, ##args); \
} else { \
++++++ irqbalance.obsinfo ++++++
--- /var/tmp/diff_new_pack.G1eT7y/_old 2023-12-12 19:31:50.711609024 +0100
+++ /var/tmp/diff_new_pack.G1eT7y/_new 2023-12-12 19:31:50.711609024 +0100
@@ -1,5 +1,5 @@
name: irqbalance
-version: 1.9.3.8.git+c963f48
-mtime: 1700561449
-commit: c963f4883652a4ea4a4a40aabb80c934fd13abef
+version: 1.9.3.10.git+1a7d461
+mtime: 1701427667
+commit: 1a7d461c27fb49c8c149aca313a12b7b0365d456
1
0
12 Dec '23
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package golang-github-prometheus-prometheus for openSUSE:Factory checked in at 2023-12-12 19:31:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus (Old)
and /work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "golang-github-prometheus-prometheus"
Tue Dec 12 19:31:46 2023 rev:40 rq:1132627 version:2.48.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus/golang-github-prometheus-prometheus.changes 2023-11-17 20:49:58.082082809 +0100
+++ /work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.25432/golang-github-prometheus-prometheus.changes 2023-12-12 19:31:46.827465714 +0100
@@ -1,0 +2,9 @@
+Sat Dec 9 20:04:27 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- update to 2.48.1:
+ * [BUGFIX] TSDB: Make the wlog watcher read segments
+ synchronously when not tailing. #13224
+ * [BUGFIX] Agent: Participate in notify calls (fixes slow down in
+ remote write handling introduced in 2.45). #13223
+
+-------------------------------------------------------------------
Old:
----
prometheus-2.48.0.tar.gz
web-ui-2.48.0.tar.gz
New:
----
prometheus-2.48.1.tar.gz
web-ui-2.48.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ golang-github-prometheus-prometheus.spec ++++++
--- /var/tmp/diff_new_pack.vbWqNL/_old 2023-12-12 19:31:48.315520618 +0100
+++ /var/tmp/diff_new_pack.vbWqNL/_new 2023-12-12 19:31:48.319520765 +0100
@@ -27,7 +27,7 @@
%endif
Name: golang-github-prometheus-prometheus
-Version: 2.48.0
+Version: 2.48.1
Release: 0
Summary: The Prometheus monitoring system and time series database
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.vbWqNL/_old 2023-12-12 19:31:48.403523864 +0100
+++ /var/tmp/diff_new_pack.vbWqNL/_new 2023-12-12 19:31:48.407524012 +0100
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">v2.48.0</param>
+ <param name="revision">v2.48.1</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="match-tag">v2*</param>
</service>
@@ -13,7 +13,7 @@
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="manual">
- <param name="archive">prometheus-2.48.0.tar.gz</param>
+ <param name="archive">prometheus-2.48.1.tar.gz</param>
</service>
</services>
++++++ npm_licenses.tar.bz2 ++++++
++++++ prometheus-2.48.0.tar.gz -> prometheus-2.48.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus/prometheus-2.48.0.tar.gz /work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.25432/prometheus-2.48.1.tar.gz differ: char 40, line 1
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus/vendor.tar.gz /work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.25432/vendor.tar.gz differ: char 5, line 1
++++++ web-ui-2.48.0.tar.gz -> web-ui-2.48.1.tar.gz ++++++
Binary files old/web/ui/static/css/prom_console.css.gz and new/web/ui/static/css/prom_console.css.gz differ
Binary files old/web/ui/static/js/prom_console.js.gz and new/web/ui/static/js/prom_console.js.gz differ
Binary files old/web/ui/static/react/asset-manifest.json.gz and new/web/ui/static/react/asset-manifest.json.gz differ
Binary files old/web/ui/static/react/favicon.ico.gz and new/web/ui/static/react/favicon.ico.gz differ
Binary files old/web/ui/static/react/index.html.gz and new/web/ui/static/react/index.html.gz differ
Binary files old/web/ui/static/react/manifest.json.gz and new/web/ui/static/react/manifest.json.gz differ
Binary files old/web/ui/static/react/static/css/main.132f8bd2.css.gz and new/web/ui/static/react/static/css/main.132f8bd2.css.gz differ
Binary files old/web/ui/static/react/static/js/main.8abd4fa4.js.LICENSE.txt.gz and new/web/ui/static/react/static/js/main.8abd4fa4.js.LICENSE.txt.gz differ
Binary files old/web/ui/static/react/static/js/main.8abd4fa4.js.gz and new/web/ui/static/react/static/js/main.8abd4fa4.js.gz differ
Binary files old/web/ui/static/react/static/media/codicon.b3726f0165bf67ac6849.ttf.gz and new/web/ui/static/react/static/media/codicon.b3726f0165bf67ac6849.ttf.gz differ
Binary files old/web/ui/static/react/static/media/index.cd351d7c31d0d3fccf96.cjs.gz and new/web/ui/static/react/static/media/index.cd351d7c31d0d3fccf96.cjs.gz differ
Binary files old/web/ui/static/react/static/media/prometheus_logo_grey.3cf697e5443028ca5e5255b93c7906c5.svg.gz and new/web/ui/static/react/static/media/prometheus_logo_grey.3cf697e5443028ca5e5255b93c7906c5.svg.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-grid.css.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-grid.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-grid.css.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-grid.css.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-grid.min.css.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-grid.min.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-grid.min.css.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-grid.min.css.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-reboot.css.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-reboot.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-reboot.css.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-reboot.css.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-reboot.min.css.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-reboot.min.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-reboot.min.css.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap-reboot.min.css.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap.css.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap.css.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap.css.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap.min.css.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap.min.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap.min.css.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/css/bootstrap.min.css.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.bundle.js.gz and new/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.bundle.js.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.bundle.js.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.bundle.js.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.bundle.min.js.gz and new/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.bundle.min.js.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.bundle.min.js.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.bundle.min.js.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.js.gz and new/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.js.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.js.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.js.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.min.js.gz and new/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.min.js.gz differ
Binary files old/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.min.js.map.gz and new/web/ui/static/vendor/bootstrap-4.5.2/js/bootstrap.min.js.map.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/css/bootstrap-glyphicons.css.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/css/bootstrap-glyphicons.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/css/bootstrap-glyphicons.min.css.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/css/bootstrap-glyphicons.min.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.eot.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.eot.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.svg.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.svg.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.ttf.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.ttf.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.woff.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.woff.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.woff2.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-brands-400.woff2.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.eot.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.eot.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.svg.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.svg.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.ttf.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.ttf.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.woff.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.woff.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.woff2.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-regular-400.woff2.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.eot.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.eot.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.svg.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.svg.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.ttf.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.ttf.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.woff.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.woff.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.woff2.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/fontawesome/fa-solid-900.woff2.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.eot.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.eot.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.svg.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.svg.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.ttf.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.ttf.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff2.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/fonts/glyphicons/glyphicons-halflings-regular.woff2.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/maps/glyphicons-fontawesome.css.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/maps/glyphicons-fontawesome.css.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/maps/glyphicons-fontawesome.less.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/maps/glyphicons-fontawesome.less.gz differ
Binary files old/web/ui/static/vendor/bootstrap4-glyphicons/maps/glyphicons-fontawesome.min.css.gz and new/web/ui/static/vendor/bootstrap4-glyphicons/maps/glyphicons-fontawesome.min.css.gz differ
Binary files old/web/ui/static/vendor/js/jquery-3.5.1.min.js.gz and new/web/ui/static/vendor/js/jquery-3.5.1.min.js.gz differ
Binary files old/web/ui/static/vendor/js/jquery.hotkeys.js.gz and new/web/ui/static/vendor/js/jquery.hotkeys.js.gz differ
Binary files old/web/ui/static/vendor/js/jquery.selection.js.gz and new/web/ui/static/vendor/js/jquery.selection.js.gz differ
Binary files old/web/ui/static/vendor/js/popper.min.js.gz and new/web/ui/static/vendor/js/popper.min.js.gz differ
Binary files old/web/ui/static/vendor/rickshaw/rickshaw.min.css.gz and new/web/ui/static/vendor/rickshaw/rickshaw.min.css.gz differ
Binary files old/web/ui/static/vendor/rickshaw/rickshaw.min.js.gz and new/web/ui/static/vendor/rickshaw/rickshaw.min.js.gz differ
Binary files old/web/ui/static/vendor/rickshaw/vendor/d3.layout.min.js.gz and new/web/ui/static/vendor/rickshaw/vendor/d3.layout.min.js.gz differ
Binary files old/web/ui/static/vendor/rickshaw/vendor/d3.v3.js.gz and new/web/ui/static/vendor/rickshaw/vendor/d3.v3.js.gz differ
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-12 19:31:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polkit (Old)
and /work/SRC/openSUSE:Factory/.polkit.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polkit"
Tue Dec 12 19:31:44 2023 rev:90 rq:1132614 version:123
Changes:
--------
--- /work/SRC/openSUSE:Factory/polkit/polkit.changes 2023-12-05 17:02:45.912150117 +0100
+++ /work/SRC/openSUSE:Factory/.polkit.new.25432/polkit.changes 2023-12-12 19:31:45.839429259 +0100
@@ -1,0 +2,7 @@
+Fri Dec 8 22:20:51 UTC 2023 - Tobias Klausmann <tobias.klausmann(a)freenet.de>
+
+- Add 'dbus-service' as Requires instead of /usr/bin/dbus-daemon
+ This allow to use other dbus implementations such as dbus-broker with this
+ package again. (bsc#1217863)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit.spec ++++++
--- /var/tmp/diff_new_pack.gkprzB/_old 2023-12-12 19:31:46.495453464 +0100
+++ /var/tmp/diff_new_pack.gkprzB/_new 2023-12-12 19:31:46.495453464 +0100
@@ -75,7 +75,7 @@
# gtk-doc drags indirectyly ruby in for one of the helpers. This in turn causes a build cycle.
#!BuildIgnore: ruby
-Requires: /usr/bin/dbus-daemon
+Requires: dbus-service
Requires: libpolkit-agent-1-0 = %{version}-%{release}
Requires: libpolkit-gobject-1-0 = %{version}-%{release}
Requires(post): permissions
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package open-vm-tools for openSUSE:Factory checked in at 2023-12-12 19:31:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/open-vm-tools (Old)
and /work/SRC/openSUSE:Factory/.open-vm-tools.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "open-vm-tools"
Tue Dec 12 19:31:43 2023 rev:121 rq:1132558 version:12.3.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/open-vm-tools/open-vm-tools.changes 2023-11-01 22:09:31.710663715 +0100
+++ /work/SRC/openSUSE:Factory/.open-vm-tools.new.25432/open-vm-tools.changes 2023-12-12 19:31:44.731388377 +0100
@@ -1,0 +2,8 @@
+Mon Dec 11 18:16:29 UTC 2023 - Kirk Allan <kallan(a)suse.com>
+
+- Fix (bsc#1217796) - Fix outdated libxmlsec1 dependency version.
+ Updates to open-vm-tools for SLES 12 SP4 and SP5 are now being built
+ againt against libxmlsec1-1-1.2.37. Update the spec file to now require
+ libxmlsec1-openssl1 >= 1.2.37.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ open-vm-tools.spec ++++++
--- /var/tmp/diff_new_pack.Ugb6D2/_old 2023-12-12 19:31:45.439414500 +0100
+++ /var/tmp/diff_new_pack.Ugb6D2/_new 2023-12-12 19:31:45.443414648 +0100
@@ -108,8 +108,12 @@
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 0150400
Requires: libxmlsec1-openssl1 >= 1.2.37
%else
+%if 0%{?sle_version} == 0120400 || 0%{?sle_version} == 0120500
+Requires: libxmlsec1-openssl1 >= 1.2.37
+%else
Requires: libxmlsec1-openssl1 >= 1.2.28
%endif
+%endif
%define arg_xmlsec1 --enable-xmlsec1
%else
# Leap 42.1 and 42.2 supports xmlsec1 and libxmlsec1-openssl1 but 12 SP1 and
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-12 19:31:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint (Old)
and /work/SRC/openSUSE:Factory/.rpmlint.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint"
Tue Dec 12 19:31:41 2023 rev:462 rq:1132520 version:2.5.0+git20231211.15d0caff
Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes 2023-12-05 17:02:52.616397239 +0100
+++ /work/SRC/openSUSE:Factory/.rpmlint.new.25432/rpmlint.changes 2023-12-12 19:31:42.687312959 +0100
@@ -1,0 +2,11 @@
+Mon Dec 11 14:41:17 UTC 2023 - matthias.gerstner(a)suse.com
+
+- Update to version 2.5.0+git20231211.15d0caff:
+ * polkit-rules, sudoers: add plasma-branding-Kalpa for special wheel group handling (bsc#1217707, bsc#1217706)
+ * cron-whitelist: remove obsolete opa-ff entries
+ * cron-whitelist: remove obsolete logdigest entries
+ * fix readelf output encoding handling of errors
+ * Ignore (and escape) symbols that are not valid utf8
+ * Revert "Disable Mageia CI builds due to system problem"
+
+-------------------------------------------------------------------
Old:
----
rpmlint-2.5.0+git20231205.c211cee.tar.xz
New:
----
rpmlint-2.5.0+git20231211.15d0caff.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.Mm7W3v/_old 2023-12-12 19:31:43.511343362 +0100
+++ /var/tmp/diff_new_pack.Mm7W3v/_new 2023-12-12 19:31:43.515343510 +0100
@@ -23,7 +23,7 @@
%define name_suffix -%{flavor}
%endif
Name: rpmlint%{name_suffix}
-Version: 2.5.0+git20231205.c211cee
+Version: 2.5.0+git20231211.15d0caff
Release: 0
Summary: RPM file correctness checker
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Mm7W3v/_old 2023-12-12 19:31:43.559345133 +0100
+++ /var/tmp/diff_new_pack.Mm7W3v/_new 2023-12-12 19:31:43.563345281 +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">c211cee669dcce0409fe2acfbc35442170812114</param></service></servicedata>
+ <param name="changesrevision">15d0caff6f88d3896c01f36071239b1efddae77a</param></service></servicedata>
(No newline at EOF)
++++++ rpmlint-2.5.0+git20231205.c211cee.tar.xz -> rpmlint-2.5.0+git20231211.15d0caff.tar.xz ++++++
/work/SRC/openSUSE:Factory/rpmlint/rpmlint-2.5.0+git20231205.c211cee.tar.xz /work/SRC/openSUSE:Factory/.rpmlint.new.25432/rpmlint-2.5.0+git20231211.15d0caff.tar.xz differ: char 13, line 1
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-11 22:41:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Mon Dec 11 22:41:32 2023 rev:2639 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Aeon-release.spec ++++++
--- /var/tmp/diff_new_pack.emNuk5/_old 2023-12-11 22:41:35.484884585 +0100
+++ /var/tmp/diff_new_pack.emNuk5/_new 2023-12-11 22:41:35.488884733 +0100
@@ -17,7 +17,7 @@
Name: Aeon-release
-Version: 20231210
+Version: 20231211
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) = 20231210-0
+Provides: product(Aeon) = 20231211-0
Provides: product-label() = openSUSE%20Aeon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231210
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231211
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) = 20231210-0
+Provides: product_flavor(Aeon) = 20231211-0
Summary: openSUSE Aeon%{?betaversion: %{betaversion}}
%description appliance
@@ -255,11 +255,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Aeon</name>
- <version>20231210</version>
+ <version>20231211</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:aeon:20231210</cpeid>
+ <cpeid>cpe:/o:opensuse:aeon:20231211</cpeid>
<productline>Aeon</productline>
<register>
<pool>
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.emNuk5/_old 2023-12-11 22:41:35.512885621 +0100
+++ /var/tmp/diff_new_pack.emNuk5/_new 2023-12-11 22:41:35.516885770 +0100
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20231210
+Version: 20231211
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) = 20231210-0
+Provides: product(MicroOS) = 20231211-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231210
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231211
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) = 20231210-0
+Provides: product_flavor(MicroOS) = 20231211-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) = 20231210-0
+Provides: product_flavor(MicroOS) = 20231211-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -276,11 +276,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20231210</version>
+ <version>20231211</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20231210</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20231211</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.emNuk5/_old 2023-12-11 22:41:35.540886658 +0100
+++ /var/tmp/diff_new_pack.emNuk5/_new 2023-12-11 22:41:35.540886658 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20231210)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20231211)
#
# 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: 20231210
+Version: 20231211
#!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) = 20231210-0
+Provides: product(openSUSE-Addon-NonOss) = 20231211-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231210
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231211
AutoReqProv: on
@@ -50,10 +50,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231210</version>
+ <version>20231211</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231210</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231211</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.emNuk5/_old 2023-12-11 22:41:35.568887695 +0100
+++ /var/tmp/diff_new_pack.emNuk5/_new 2023-12-11 22:41:35.568887695 +0100
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20231210
+Version: 20231211
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -184,7 +184,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20231210-0
+Provides: product(openSUSE) = 20231211-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -198,7 +198,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231210
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231211
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)
@@ -212,7 +212,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -227,7 +227,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -242,7 +242,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -257,7 +257,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -272,7 +272,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -287,7 +287,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -302,7 +302,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -317,7 +317,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -332,7 +332,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -347,7 +347,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -362,7 +362,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -377,7 +377,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -392,7 +392,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -407,7 +407,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -422,7 +422,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -437,7 +437,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -452,7 +452,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -467,7 +467,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -482,7 +482,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20231210-0
+Provides: product_flavor(openSUSE) = 20231211-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -562,10 +562,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231210</version>
+ <version>20231211</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20231210</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20231211</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 python-cfn-lint for openSUSE:Factory checked in at 2023-12-11 21:51:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cfn-lint (Old)
and /work/SRC/openSUSE:Factory/.python-cfn-lint.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cfn-lint"
Mon Dec 11 21:51:53 2023 rev:22 rq:1132514 version:0.83.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cfn-lint/python-cfn-lint.changes 2023-10-08 12:20:58.451886555 +0200
+++ /work/SRC/openSUSE:Factory/.python-cfn-lint.new.25432/python-cfn-lint.changes 2023-12-11 21:52:08.855079564 +0100
@@ -1,0 +2,42 @@
+Fri Dec 8 11:39:47 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to version 0.83.4
+ * Update CloudFormation specs to `149.0.0` (#2951)
+ * Add `KeyID` as a target for `TargetKeyId` (#2953)
+- from version 0.83.3
+ * Update CloudFormation specs to include `python3.12` (#2947)
+- from version 0.83.2
+ * Update CloudFormation specs to `148.0.0` (#2942)
+ * Add in `LoadBalancerArn` to `LoadBalancerV2Arn` (#2936)
+- from version 0.83.1
+ * Update CloudFormation specs to `146.0.0` (#2921)
+ * Update (E3036) and (E3035) to allow more FNs (#2928)
+ * Update (I3037) to have exceptions `Command` (#2927)
+- from version 0.83.0
+ * Add rule (E3045) to validate `AccessControl`s are
+ specified when using `AccessControl` (#2906)
+ * Add rule (W3045) to alert on usage of legacy
+ capability `AccessControl` (#2906)
+ * Update CloudFormation specs to `145.0.0` (#2909)
+- from version 0.82.2
+ * Update (I2530) validates its using Java runtimes greater than 8 (#2916)
+- from version 0.82.1
+ * Update (E2530) and (I2530) to make sure `Runtime`
+ is a string before using `startswith` (#2912)
+- from version 0.82.0
+ * Add rule (W2530) to warn when `SnapStart`
+ isn't configured correctly (#2905)
+ * Add rule (I2530) to warn when `SnapStart`
+ isn't configured on newer Java runtimes (#2905)
+ * Add rule (E2530) to error when `SnapStart` is
+ configured on an unsupported runtime (#2905)
+ * Update CloudFormation specs to `144.0.0` (#2898)
+- from version 0.81.0
+ * Update CloudFormation specs to `143.0.0` (#2893)
+ * Update language transformation to pass through empty objects (#2899)
+ * Update rule (E1017) to allow `Fn::Select` to allow `Fn::Select` (#2900)
+ * Update rule (E2532) to support `ToleratedFailurePercentage`
+ and `ItemBatcher` to `Map` (#2901)
+- Update BuildRequires and Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
cfn-lint-0.80.4.tar.gz
New:
----
cfn-lint-0.83.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cfn-lint.spec ++++++
--- /var/tmp/diff_new_pack.LhTZrE/_old 2023-12-11 21:52:09.311096485 +0100
+++ /var/tmp/diff_new_pack.LhTZrE/_new 2023-12-11 21:52:09.311096485 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-cfn-lint
-Version: 0.80.4
+Version: 0.83.4
Release: 0
Summary: Tool to checks cloudformation for practices and behaviour
License: MIT
@@ -32,7 +32,7 @@
BuildRequires: python-rpm-macros
Requires: git-core
Requires: python-PyYAML >= 5.4
-Requires: python-aws-sam-translator >= 1.71.0
+Requires: python-aws-sam-translator >= 1.80.0
Requires: python-jschema-to-python >= 1.2.3
Requires: python-jsonpatch
Requires: python-junit-xml >= 1.9
@@ -49,7 +49,7 @@
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module PyYAML >= 5.4}
-BuildRequires: %{python_module aws-sam-translator >= 1.71.0}
+BuildRequires: %{python_module aws-sam-translator >= 1.80.0}
BuildRequires: %{python_module jschema-to-python >= 1.2.3}
BuildRequires: %{python_module jsonpatch}
BuildRequires: %{python_module jsonschema > 3.0 with %python-jsonschema < 5}
++++++ cfn-lint-0.80.4.tar.gz -> cfn-lint-0.83.4.tar.gz ++++++
++++ 122566 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package oci-cli for openSUSE:Factory checked in at 2023-12-11 21:51:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/oci-cli (Old)
and /work/SRC/openSUSE:Factory/.oci-cli.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "oci-cli"
Mon Dec 11 21:51:50 2023 rev:52 rq:1132511 version:3.37.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/oci-cli/oci-cli.changes 2023-11-27 22:44:24.112107050 +0100
+++ /work/SRC/openSUSE:Factory/.oci-cli.new.25432/oci-cli.changes 2023-12-11 21:52:06.895006833 +0100
@@ -1,0 +2,65 @@
+Thu Dec 7 14:08:08 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to version 3.37.0
+ * Database service
+ * Support for the serial console history.
+ * ``oci db console-history``
+ * Support for new optional parameters, autonomous-data-storage-size-in-tbs,
+ cpu-core-count-per-node and total-container-databases in the cloud autonomous
+ and autonomous vm cluster db resources.
+ * ``oci db autonomous-vm-cluster update --autonomous-data-storage-size-in-tbs,
+ --cpu-core-count-per-node, --total-container-databases``
+ * ``oci db cloud-autonomous-vm-cluster update --autonomous-data-storage-size-in-tbs,
+ --cpu-core-count-per-node, --total-container-databases``
+ * Support for new list system versions commands.
+ * ``oci db system-version list``
+ *Support for new optional parameter in cloud-vm-cluster and vm-cluster resources.
+ * ``oci db cloud-vm-cluster create --system-version``
+ * ``oci db vm-cluster create --system-version``
+ * Support for multiple clusters in a SDDC in Oracle Cloud VMware Provisioning service.
+ * ``oci ocvs esxi-host replace-host``
+ * ``oci ocvs cluster cluster``
+ * ``oci ocvs sddc retrieve-password``
+ * Support for upload-discovery-data in Log Analytics service.
+ * ``oci log-analytics entity upload-discovery-data
+ --upload-discovery-data-details --namespace-name``
+ * ``oci log-analytics entity upload-discovery-data --file --namespace-name``
+ * ADM service.
+ * Support for new list actions.
+ * ``oci adm remediation-recipe list``
+ * ``oci adm remediation-run list``
+ * ``oci adm remediation-run list-application-dependency-recommendations``
+ * ``oci adm remediation-run-stage list-stages``
+ * Support for new optional parameters --usage-data.
+ * ``oci adm vulnerability-audit create --usage-data``
+ * ``oci adm vulnerability-audit create-vulnerability-audit-\
+ external-resource-vulnerability-audit-source --usage-data``
+ * ``oci adm vulnerability-audit create-vulnerability-audit-\
+ oci-resource-vulnerability-audit-source --usage-data``
+ * ``oci adm vulnerability-audit create-vulnerability-audit-\
+ unknown-source-vulnerability-audit-source --usage-data``
+ * Support for new AWR Hub Snapshot ingest commands in Operations Insights service.
+ * ``oci opsi awr-hub-sources``
+ * ``oci opsi operations-insights-warehouses``
+ * ``oci opsi awr-hub-objects``
+ * Support for managing available certificates of target servers in Goldengate service.
+ * ``oci goldengate certificate``
+ * [BREAKING] Multiple parameters changes in OCVS service. Few params deleted in sddc resource.
+ * ``oci ocvs esxi-host create --cluster-id``
+ * ``oci ocvs esxi-host list --cluster-id``
+ * ``oci ocvs esxi-host update --next-commitment``
+ * ``oci ocvs sddc``
+ * Description of export details in the Logging Analytics service
+ * ``oci log-analytics query export``
+ * Description change in Compute Cloud at Customer service
+ * [BREAKING] The following commands have been removed in ADM service.
+ * ``oci adm application-dependency-recommendation-collection
+ list-application-dependency-recommendations``
+ * ``oci adm remediation-recipe-collection list-remediation-recipes``
+ * ``oci adm remediation-run-collection list-remediation-runs``
+ * ``oci adm remediation-run-stage-collection list-stages``
+- Refresh patches for new version
+ * oc_relax-python-depends.patch
+- Update BuildRequires and Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
oci-cli-3.36.2.tar.gz
New:
----
oci-cli-3.37.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ oci-cli.spec ++++++
--- /var/tmp/diff_new_pack.xhlFmH/_old 2023-12-11 21:52:07.359024051 +0100
+++ /var/tmp/diff_new_pack.xhlFmH/_new 2023-12-11 21:52:07.363024200 +0100
@@ -28,7 +28,7 @@
%bcond_with test
%endif
Name: oci-cli%{psuffix}
-Version: 3.36.2
+Version: 3.37.0
Release: 0
Summary: Oracle Cloud Infrastructure CLI
License: Apache-2.0
@@ -46,7 +46,7 @@
BuildRequires: python3-cryptography >= 3.2.1
BuildRequires: python3-devel
BuildRequires: python3-jmespath >= 0.10.0
-BuildRequires: python3-oci-sdk >= 2.116.0
+BuildRequires: python3-oci-sdk >= 2.117.0
BuildRequires: python3-pyOpenSSL >= 22.1.0
BuildRequires: python3-python-dateutil >= 2.5.3
BuildRequires: python3-pytz >= 2016.10
@@ -85,7 +85,7 @@
Requires: python3-click >= 8.0.4
Requires: python3-cryptography >= 3.2.1
Requires: python3-jmespath >= 0.10.0
-Requires: python3-oci-sdk >= 2.116.0
+Requires: python3-oci-sdk >= 2.117.0
Requires: python3-prompt_toolkit >= 3.0.29
Requires: python3-pyOpenSSL >= 22.1.0
Requires: python3-python-dateutil >= 2.5.3
++++++ oc_relax-python-depends.patch ++++++
--- /var/tmp/diff_new_pack.xhlFmH/_old 2023-12-11 21:52:07.379024793 +0100
+++ /var/tmp/diff_new_pack.xhlFmH/_new 2023-12-11 21:52:07.383024942 +0100
@@ -1,6 +1,6 @@
-diff -Nru oci-cli-3.36.2.orig/requirements.txt oci-cli-3.36.2/requirements.txt
---- oci-cli-3.36.2.orig/requirements.txt 2023-11-14 11:31:43.000000000 +0100
-+++ oci-cli-3.36.2/requirements.txt 2023-11-23 11:49:39.943270346 +0100
+diff -Nru oci-cli-3.37.0.orig/requirements.txt oci-cli-3.37.0/requirements.txt
+--- oci-cli-3.37.0.orig/requirements.txt 2023-12-05 06:02:52.000000000 +0100
++++ oci-cli-3.37.0/requirements.txt 2023-12-07 15:07:53.083631085 +0100
@@ -2,47 +2,47 @@
# (https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-form…),
# you may need to use the --extra-index-url option instead.
@@ -18,18 +18,11 @@
-jmespath==0.10.0
-ndg-httpsclient==0.4.2
-mock==2.0.0
--oci==2.116.0
+-oci==2.117.0
-packaging==20.2
-pluggy==0.13.0
-py==1.11.0
-pyasn1==0.2.3
--pyOpenSSL>=17.5.0,<24.0.0
--pycparser==2.20
--pyparsing==2.2.0
--pytest==4.6.10; python_version <= '3.9'
--pytest==7.1.2; python_version >= '3.10'
--pytest-cov==2.5.1
--python-dateutil>=2.5.3,<3.0.0
+click>=8.0.4
+coverage>=4.5.2
+cryptography>=3.2.1
@@ -38,12 +31,18 @@
+jmespath>=0.10.0
+ndg-httpsclient>=0.4.2
+mock>=2.0.0
-+oci>=2.116.0
++oci>=2.117.0
+packaging>=20.2
+pluggy>=0.13.0
+py>=1.11.0
+pyasn1>=0.2.3
-+pyOpenSSL>=17.5.0
+ pyOpenSSL>=17.5.0,<24.0.0
+-pycparser==2.20
+-pyparsing==2.2.0
+-pytest==4.6.10; python_version <= '3.9'
+-pytest==7.1.2; python_version >= '3.10'
+-pytest-cov==2.5.1
+-python-dateutil>=2.5.3,<3.0.0
+pycparser>=2.20
+pyparsing>=2.2.0
+pytest>=4.6.10; python_version <= '3.9'
@@ -84,18 +83,16 @@
-setuptools==59.6.0; python_version == '3.6'
+setuptools>=59.6.0; python_version >= '3.6'
# this is required because of python 3.6 requests dependency version bound
--urllib3<=1.26.15
-\ No newline at end of file
-+urllib3<=1.26.15
-diff -Nru oci-cli-3.36.2.orig/setup.py oci-cli-3.36.2/setup.py
---- oci-cli-3.36.2.orig/setup.py 2023-11-14 11:31:43.000000000 +0100
-+++ oci-cli-3.36.2/setup.py 2023-11-23 11:49:02.643025594 +0100
+ urllib3<=1.26.15
+diff -Nru oci-cli-3.37.0.orig/setup.py oci-cli-3.37.0/setup.py
+--- oci-cli-3.37.0.orig/setup.py 2023-12-05 06:02:52.000000000 +0100
++++ oci-cli-3.37.0/setup.py 2023-12-07 15:07:20.340265628 +0100
@@ -30,23 +30,23 @@
readme = f.read()
requires = [
-- 'oci==2.116.0',
-+ 'oci>=2.116.0',
+- 'oci==2.117.0',
++ 'oci>=2.117.0',
'arrow>=1.0.0',
'certifi',
- 'click==8.0.4',
++++++ oci-cli-3.36.2.tar.gz -> oci-cli-3.37.0.tar.gz ++++++
++++ 16445 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-python-rtmidi for openSUSE:Factory checked in at 2023-12-11 21:51:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-rtmidi (Old)
and /work/SRC/openSUSE:Factory/.python-python-rtmidi.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-rtmidi"
Mon Dec 11 21:51:35 2023 rev:11 rq:1132507 version:1.5.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-rtmidi/python-python-rtmidi.changes 2023-11-07 21:26:57.924854579 +0100
+++ /work/SRC/openSUSE:Factory/.python-python-rtmidi.new.25432/python-python-rtmidi.changes 2023-12-11 21:51:48.902339191 +0100
@@ -1,0 +2,8 @@
+Mon Dec 11 13:56:06 UTC 2023 - Mia Herkt <mia(a)0x0.st>
+
+- Update to 1.5.8
+ * Removed obsolete Python 2 compatibility code in the _rtmidi
+ module and references to Python 2 unicode type in its
+ docstrings.
+
+-------------------------------------------------------------------
Old:
----
python_rtmidi-1.5.7.tar.gz
New:
----
python_rtmidi-1.5.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-rtmidi.spec ++++++
--- /var/tmp/diff_new_pack.TmOzEU/_old 2023-12-11 21:51:49.914376745 +0100
+++ /var/tmp/diff_new_pack.TmOzEU/_new 2023-12-11 21:51:49.918376893 +0100
@@ -17,7 +17,7 @@
Name: python-python-rtmidi
-Version: 1.5.7
+Version: 1.5.8
Release: 0
Summary: Python binding for the RtMidi C++ library
License: MIT
++++++ python_rtmidi-1.5.7.tar.gz -> python_rtmidi-1.5.8.tar.gz ++++++
++++ 9629 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libva-utils for openSUSE:Factory checked in at 2023-12-11 21:51:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libva-utils (Old)
and /work/SRC/openSUSE:Factory/.libva-utils.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva-utils"
Mon Dec 11 21:51:31 2023 rev:26 rq:1132486 version:2.20.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libva-utils/libva-utils.changes 2023-10-12 11:45:38.960680209 +0200
+++ /work/SRC/openSUSE:Factory/.libva-utils.new.25432/libva-utils.changes 2023-12-11 21:51:45.718221041 +0100
@@ -1,0 +2,6 @@
+Mon Dec 4 12:45:09 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 python-mpl-animators for openSUSE:Factory checked in at 2023-12-11 21:51:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mpl-animators (Old)
and /work/SRC/openSUSE:Factory/.python-mpl-animators.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mpl-animators"
Mon Dec 11 21:51:26 2023 rev:2 rq:1132439 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mpl-animators/python-mpl-animators.changes 2022-02-10 23:12:47.224316348 +0100
+++ /work/SRC/openSUSE:Factory/.python-mpl-animators.new.25432/python-mpl-animators.changes 2023-12-11 21:51:40.374022738 +0100
@@ -1,0 +2,7 @@
+Mon Dec 11 08:56:40 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.1.1:
+ * Fix setting y limits when data is a dask array
+ * Add changelog config and bump minimum Python version to 3.8
+
+-------------------------------------------------------------------
Old:
----
mpl_animators-1.0.1.tar.gz
New:
----
mpl_animators-1.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mpl-animators.spec ++++++
--- /var/tmp/diff_new_pack.xDJf6r/_old 2023-12-11 21:51:40.826039511 +0100
+++ /var/tmp/diff_new_pack.xDJf6r/_new 2023-12-11 21:51:40.830039659 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-mpl-animators
#
-# 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,15 +16,15 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
+%{?sle15_python_module_pythons}
Name: python-mpl-animators
-Version: 1.0.1
+Version: 1.1.1
Release: 0
Summary: An interative animation framework for matplotlib
License: BSD-3-Clause
URL: https://github.com/sunpy/mpl-animators
Source: https://files.pythonhosted.org/packages/source/m/mpl_animators/mpl_animator…
-BuildRequires: %{python_module base >= 3.7}
+BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
++++++ mpl_animators-1.0.1.tar.gz -> mpl_animators-1.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/CHANGES.md new/mpl_animators-1.1.1/CHANGES.md
--- old/mpl_animators-1.0.1/CHANGES.md 1970-01-01 01:00:00.000000000 +0100
+++ new/mpl_animators-1.1.1/CHANGES.md 2023-11-17 23:11:37.000000000 +0100
@@ -0,0 +1,44 @@
+# Changelog
+
+## v1.1.1 - 2023-11-17
+
+<!-- Release notes generated using configuration in .github/release.yml at main -->
+### What's Changed
+
+#### Other Changes
+
+- Update for tox4 by @ConorMacBride in https://github.com/sunpy/mpl-animators/pull/20
+- Minor tweaks to CI - No actions by @nabobalis in https://github.com/sunpy/mpl-animators/pull/28
+- Move to actions by @nabobalis in https://github.com/sunpy/mpl-animators/pull/29
+- Bump stefanzweifel/git-auto-commit-action from 4 to 5 by @dependabot in https://github.com/sunpy/mpl-animators/pull/30
+- Bump actions/checkout from 2 to 4 by @dependabot in https://github.com/sunpy/mpl-animators/pull/31
+
+### New Contributors
+
+- @ConorMacBride made their first contribution in https://github.com/sunpy/mpl-animators/pull/20
+- @nabobalis made their first contribution in https://github.com/sunpy/mpl-animators/pull/28
+- @dependabot made their first contribution in https://github.com/sunpy/mpl-animators/pull/30
+
+**Full Changelog**: https://github.com/sunpy/mpl-animators/compare/v1.1.0...v1.1.1
+
+## v1.1.0 - 2022-08-10
+
+### What's Changed
+
+#### Bug Fixes
+
+- Fix setting y limits when data is a dask array by SolarDrew in [https://github.com/sunpy/mpl-animators/pull/11](https://github.com/sunpy/mp…
+
+#### Other Changes
+
+- Add changelog config and bump minimum Python version to 3.8 by Cadair in [https://github.com/sunpy/mpl-animators/pull/12](https://github.com/sunpy/mp…
+
+#### New Contributors
+
+- @SolarDrew made their first contribution in [https://github.com/sunpy/mpl-animators/pull/11](https://github.com/sunpy/mp…
+
+**Full Changelog**: [https://github.com/sunpy/mpl-animators/compare/v1.0.1...v1.1.0](https://git…
+
+## v1.0.0
+
+Initial release with code copied from `sunpy.visualisation.animators`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/PKG-INFO new/mpl_animators-1.1.1/PKG-INFO
--- old/mpl_animators-1.0.1/PKG-INFO 2022-02-02 18:29:09.045858400 +0100
+++ new/mpl_animators-1.1.1/PKG-INFO 2023-11-17 23:11:55.004641800 +0100
@@ -1,21 +1,34 @@
Metadata-Version: 2.1
Name: mpl_animators
-Version: 1.0.1
-Summary: An interative animation framework for matplotlib
+Version: 1.1.1
+Summary: An interactive animation framework for matplotlib
Home-page: https://sunpy.org
Author: The SunPy Developers
Author-email: sunpy(a)googlegroups.com
License: BSD 3-Clause
-Platform: UNKNOWN
-Requires-Python: >=3.7
+Requires-Python: >=3.9
+Description-Content-Type: text/x-rst
+License-File: LICENSE.rst
+Requires-Dist: matplotlib>=3.5.0
+Requires-Dist: numpy>=1.21.0
Provides-Extra: all
+Requires-Dist: astropy!=5.1.0,>=5.0.6; extra == "all"
Provides-Extra: wcs
-Provides-Extra: test
+Requires-Dist: astropy!=5.1.0,>=5.0.6; extra == "wcs"
+Provides-Extra: tests
+Requires-Dist: pytest; extra == "tests"
+Requires-Dist: pytest-cov; extra == "tests"
+Requires-Dist: pytest-mpl; extra == "tests"
Provides-Extra: docs
-License-File: LICENSE.rst
+Requires-Dist: sphinx; extra == "docs"
+Requires-Dist: sphinx-automodapi; extra == "docs"
+Requires-Dist: sunpy-sphinx-theme; extra == "docs"
+
+An interactive animation framework for matplotlib
+-------------------------------------------------
-An interative animation framework for matplotlib
-------------------------------------------------
+This is for creating interactive animations with matplotlib.
+It is designed to handle N-dimensional data, and can be used to create animations.
This package has been spun out of ``sunpy`` to be more generally useful.
@@ -28,7 +41,6 @@
which is licensed under the BSD 3-clause licence. See the licenses folder for
more information.
-
Contributing
------------
@@ -60,5 +72,3 @@
`PyCon talk <https://www.youtube.com/watch?v=6Uj746j9Heo>`_, and was adapted by
mpl-animators based on its use in the README file for the
`MetPy project <https://github.com/Unidata/MetPy>`_.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/README.rst new/mpl_animators-1.1.1/README.rst
--- old/mpl_animators-1.0.1/README.rst 2022-02-02 18:28:45.000000000 +0100
+++ new/mpl_animators-1.1.1/README.rst 2023-11-17 23:11:37.000000000 +0100
@@ -1,5 +1,8 @@
-An interative animation framework for matplotlib
-------------------------------------------------
+An interactive animation framework for matplotlib
+-------------------------------------------------
+
+This is for creating interactive animations with matplotlib.
+It is designed to handle N-dimensional data, and can be used to create animations.
This package has been spun out of ``sunpy`` to be more generally useful.
@@ -12,7 +15,6 @@
which is licensed under the BSD 3-clause licence. See the licenses folder for
more information.
-
Contributing
------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators/tests/figure_hashes_mpl_343_ft_261_astropy_431.json new/mpl_animators-1.1.1/mpl_animators/tests/figure_hashes_mpl_343_ft_261_astropy_431.json
--- old/mpl_animators-1.0.1/mpl_animators/tests/figure_hashes_mpl_343_ft_261_astropy_431.json 2022-02-02 18:28:45.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators/tests/figure_hashes_mpl_343_ft_261_astropy_431.json 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-{
- "mpl_animators.tests.test_basefuncanimator.test_lineanimator_figure": "dbf47ab983a844621f912b2f5a2d9ee657d3f661678c16a07afc7217f50e3fd4",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_simple_plot": "03ab823148c6071a81c9edad2bc58e0c0b401a3dcf5108d749a80ac0f24a07b7",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_clip_interval": "18e3b9433d7115d3f05d5fbc771774e6908d00e20b6d390bcc3d525b5af48632",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_celestial_sliders": "460980d5e2d2b06e1b7ce07613f2169078edc759515ca1c1cff242f72cca1158",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_update_plot": "377a48ea45516d91bd483e0044868d2a2da0bb45569ed15ead305987ad18dc00",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_transpose_update_plot": "52af2bd727302c27526e5c4c459ae1a5e7e452c193164a77095febb0d0412dfd",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons": "76d23dd55302f95fd7185db807f05fc10ab0e7bc84b54ef2881cdbdd978e52cd",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons_default_labels": "5c503d9f26caf038936b1edb23b7d3963b3af0d1aef63fc22f1c621446407370",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_extra_sliders": "4a28bcbd429c0ea891dd40ef4f587939b7ff1fc75f1b564cd7e97dcbbfbc50c3",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot": "58e799859b877fd8a5f73377eeab2686f0567241093c244779143797d4cef778",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot_masked": "157c52fdcf235e09ebb5389f1d9c0957795e73f695fa1a839b077259f9fb8240",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params": "e1678a7b513917e177547b8ee0a93ee2f29a6d3dacff5fa213355ff414e706b1",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_no_ticks": "ce35b25eb2c4eb6d2ce56d6a78c8a33b1bfdf8ef00b098c7c2c08feae2a82356",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_grid": "4bb5930ec573f8399470df023d4686601728d35a70527c397f7eed39d07ba0e3"
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators/tests/figure_hashes_mpl_350_ft_261_astropy_506.json new/mpl_animators-1.1.1/mpl_animators/tests/figure_hashes_mpl_350_ft_261_astropy_506.json
--- old/mpl_animators-1.0.1/mpl_animators/tests/figure_hashes_mpl_350_ft_261_astropy_506.json 1970-01-01 01:00:00.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators/tests/figure_hashes_mpl_350_ft_261_astropy_506.json 2023-11-17 23:11:37.000000000 +0100
@@ -0,0 +1,16 @@
+{
+ "mpl_animators.tests.test_basefuncanimator.test_lineanimator_figure": "6865a446680cb7088d71becd653e3c9e9e8e982d71956c95f690d52365bfe106",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_simple_plot": "1d0b9c13e72d288e09d1ab85fe3b4df38d6b349eae661c54cf32c18f0af451c6",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_clip_interval": "a78d4ca84423abcde116efeef4631cdf36d98033c71ad038363a033857743776",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_celestial_sliders": "14fc82e6778a7725092a691f210f05420e5669099fe8cb21260fd44336e57f8e",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_update_plot": "0c4a39742b55c4c9eb1336de59891c1e1459e656992505528f245783e4c7cf12",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_transpose_update_plot": "fca79fbb72e9650df3e64beb383b68a7816cfdfd95fa632386f65b5e6d32b5e4",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons": "dc5d08188e888fb6b93843b38a1604b8847aec38dc1ba53fa8ef108da6e790d6",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons_default_labels": "3026f941a8cf87347e6793b6002dda370eae6036e13961ae7323c3a4fe60d1d1",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_extra_sliders": "fd94e25c0b6a813818c8ab1b42c6d8828e546acf30ea9bc73164e50b22f456ba",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot": "0618fba2b4285904d3594b4b3d76ebd56337cf2ad4c00aa568ac111f6d3e52aa",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot_masked": "ae635463aaa2da4d494e9e90f040d39adf452eda92ad5f1c988b5be0bf437185",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params": "6535c5d4c7cfb9699bf99c4ad1919e9854626c5633eaa4d9aa97d5003408634a",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_no_ticks": "536034d8e761ef5d2fdfbf8911c4ab9bbc96308328594befb44d0837eccd671e",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_grid": "5b81acf2215c9b8c1a700e2e7371f43be3177363abfe9729b6746eedd7d16686"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators/tests/figure_hashes_mpl_381_ft_261_astropy_534.json new/mpl_animators-1.1.1/mpl_animators/tests/figure_hashes_mpl_381_ft_261_astropy_534.json
--- old/mpl_animators-1.0.1/mpl_animators/tests/figure_hashes_mpl_381_ft_261_astropy_534.json 1970-01-01 01:00:00.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators/tests/figure_hashes_mpl_381_ft_261_astropy_534.json 2023-11-17 23:11:37.000000000 +0100
@@ -0,0 +1,16 @@
+{
+ "mpl_animators.tests.test_basefuncanimator.test_lineanimator_figure": "6865a446680cb7088d71becd653e3c9e9e8e982d71956c95f690d52365bfe106",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_simple_plot": "1d0b9c13e72d288e09d1ab85fe3b4df38d6b349eae661c54cf32c18f0af451c6",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_clip_interval": "a78d4ca84423abcde116efeef4631cdf36d98033c71ad038363a033857743776",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_celestial_sliders": "14fc82e6778a7725092a691f210f05420e5669099fe8cb21260fd44336e57f8e",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_update_plot": "0c4a39742b55c4c9eb1336de59891c1e1459e656992505528f245783e4c7cf12",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_transpose_update_plot": "fca79fbb72e9650df3e64beb383b68a7816cfdfd95fa632386f65b5e6d32b5e4",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons": "dc5d08188e888fb6b93843b38a1604b8847aec38dc1ba53fa8ef108da6e790d6",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons_default_labels": "3026f941a8cf87347e6793b6002dda370eae6036e13961ae7323c3a4fe60d1d1",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_extra_sliders": "fd94e25c0b6a813818c8ab1b42c6d8828e546acf30ea9bc73164e50b22f456ba",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot": "0618fba2b4285904d3594b4b3d76ebd56337cf2ad4c00aa568ac111f6d3e52aa",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot_masked": "ae635463aaa2da4d494e9e90f040d39adf452eda92ad5f1c988b5be0bf437185",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params": "6535c5d4c7cfb9699bf99c4ad1919e9854626c5633eaa4d9aa97d5003408634a",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_no_ticks": "536034d8e761ef5d2fdfbf8911c4ab9bbc96308328594befb44d0837eccd671e",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_grid": "5b81acf2215c9b8c1a700e2e7371f43be3177363abfe9729b6746eedd7d16686"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators/tests/figure_hashes_mpl_dev_ft_261_astropy_dev.json new/mpl_animators-1.1.1/mpl_animators/tests/figure_hashes_mpl_dev_ft_261_astropy_dev.json
--- old/mpl_animators-1.0.1/mpl_animators/tests/figure_hashes_mpl_dev_ft_261_astropy_dev.json 2022-02-02 18:28:45.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators/tests/figure_hashes_mpl_dev_ft_261_astropy_dev.json 2023-11-17 23:11:37.000000000 +0100
@@ -1,16 +1,16 @@
{
- "mpl_animators.tests.test_basefuncanimator.test_lineanimator_figure": "963222572ddcfb2c2dbb35a13e19ba30b3f36b6f921a1ff315cb075bc8cd6c0e",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_simple_plot": "8beb85da6733fee9e74ddc0ea133c2b9cf6ce488c9457690fba41746bf3d0382",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_clip_interval": "a07976f353a5ad80e20c9e8a8c4a9369ec89ca56d92401126e32e920fff4a1b4",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_celestial_sliders": "000954368bfe2e66004e94df8562d12d28755f19f1a80f2cf93be45ad8abc3af",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_update_plot": "9d165bb1cefd64816e0603c031a110bd0b8a482b325dd0dc3702387d3f14505a",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_transpose_update_plot": "0bcb4b020f9dbfaf7f8beb1b203d252c68cb2b208f1fad99cc72d1b18b15d9ec",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons": "02081436da6052e8daf2099e2ef323ff06f710203eceb438d215b4252b2e776e",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons_default_labels": "36d958cbb0fbf990035988f0f01162748d821553bca63917657636f7d90f21c0",
+ "mpl_animators.tests.test_basefuncanimator.test_lineanimator_figure": "6865a446680cb7088d71becd653e3c9e9e8e982d71956c95f690d52365bfe106",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_simple_plot": "1d0b9c13e72d288e09d1ab85fe3b4df38d6b349eae661c54cf32c18f0af451c6",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_clip_interval": "a78d4ca84423abcde116efeef4631cdf36d98033c71ad038363a033857743776",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_celestial_sliders": "14fc82e6778a7725092a691f210f05420e5669099fe8cb21260fd44336e57f8e",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_update_plot": "0c4a39742b55c4c9eb1336de59891c1e1459e656992505528f245783e4c7cf12",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_transpose_update_plot": "fca79fbb72e9650df3e64beb383b68a7816cfdfd95fa632386f65b5e6d32b5e4",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons": "dc5d08188e888fb6b93843b38a1604b8847aec38dc1ba53fa8ef108da6e790d6",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_colorbar_buttons_default_labels": "3026f941a8cf87347e6793b6002dda370eae6036e13961ae7323c3a4fe60d1d1",
"mpl_animators.tests.test_wcs.test_array_animator_wcs_2d_extra_sliders": "fd94e25c0b6a813818c8ab1b42c6d8828e546acf30ea9bc73164e50b22f456ba",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot": "0469fd9632b2e19a642f9d5cad14f584e80fcba85e1d6a7a3c0303ca40dd3c80",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot_masked": "0a45469f2100fb423ee087e98c9dddbce86ceea27fa2fce215e5e8c9f32a70f0",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params": "844721f7a86ad7923e2c299c4db5dcfed8580df15d956805b48f68fd659099aa",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_no_ticks": "54cc3b0265457c4dd9a0691b11b7801cdd4ee6dd673abf6f5d43805dbf6f899c",
- "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_grid": "4f6799e2a0df342467318ea83a6d250db554b9d4cd6fb565f69be9321e17af2a"
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot": "0618fba2b4285904d3594b4b3d76ebd56337cf2ad4c00aa568ac111f6d3e52aa",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_1d_update_plot_masked": "ae635463aaa2da4d494e9e90f040d39adf452eda92ad5f1c988b5be0bf437185",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params": "6535c5d4c7cfb9699bf99c4ad1919e9854626c5633eaa4d9aa97d5003408634a",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_no_ticks": "536034d8e761ef5d2fdfbf8911c4ab9bbc96308328594befb44d0837eccd671e",
+ "mpl_animators.tests.test_wcs.test_array_animator_wcs_coord_params_grid": "5b81acf2215c9b8c1a700e2e7371f43be3177363abfe9729b6746eedd7d16686"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators/version.py new/mpl_animators-1.1.1/mpl_animators/version.py
--- old/mpl_animators-1.0.1/mpl_animators/version.py 2022-02-02 18:29:08.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators/version.py 2023-11-17 23:11:54.000000000 +0100
@@ -5,4 +5,4 @@
from setuptools_scm import get_version
__version__ = get_version(root='..', relative_to=__file__)
except Exception:
- __version__ = '1.0.1'
+ __version__ = '1.1.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators/wcs.py new/mpl_animators-1.1.1/mpl_animators/wcs.py
--- old/mpl_animators-1.0.1/mpl_animators/wcs.py 2022-02-02 18:28:45.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators/wcs.py 2023-11-17 23:11:37.000000000 +0100
@@ -244,7 +244,7 @@
if self.ylim != 'dynamic':
ylim = self.ylim
if ylim == 'fixed':
- ylim = (self.data.min(), self.data.max())
+ ylim = (float(self.data.min()), float(self.data.max()))
ax.set_ylim(ylim)
if self.ylabel:
@@ -277,8 +277,8 @@
# If we are not setting ylim globally then we set it per frame.
if self.ylim == 'dynamic':
- self.axes.set_ylim(self.data[self.frame_index].min(),
- self.data[self.frame_index].max())
+ self.axes.set_ylim(float(self.data[self.frame_index].min()),
+ float(self.data[self.frame_index].max()))
slider.cval = val
def plot_start_image_2d(self, ax):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators.egg-info/PKG-INFO new/mpl_animators-1.1.1/mpl_animators.egg-info/PKG-INFO
--- old/mpl_animators-1.0.1/mpl_animators.egg-info/PKG-INFO 2022-02-02 18:29:09.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators.egg-info/PKG-INFO 2023-11-17 23:11:54.000000000 +0100
@@ -1,21 +1,34 @@
Metadata-Version: 2.1
Name: mpl-animators
-Version: 1.0.1
-Summary: An interative animation framework for matplotlib
+Version: 1.1.1
+Summary: An interactive animation framework for matplotlib
Home-page: https://sunpy.org
Author: The SunPy Developers
Author-email: sunpy(a)googlegroups.com
License: BSD 3-Clause
-Platform: UNKNOWN
-Requires-Python: >=3.7
+Requires-Python: >=3.9
+Description-Content-Type: text/x-rst
+License-File: LICENSE.rst
+Requires-Dist: matplotlib>=3.5.0
+Requires-Dist: numpy>=1.21.0
Provides-Extra: all
+Requires-Dist: astropy!=5.1.0,>=5.0.6; extra == "all"
Provides-Extra: wcs
-Provides-Extra: test
+Requires-Dist: astropy!=5.1.0,>=5.0.6; extra == "wcs"
+Provides-Extra: tests
+Requires-Dist: pytest; extra == "tests"
+Requires-Dist: pytest-cov; extra == "tests"
+Requires-Dist: pytest-mpl; extra == "tests"
Provides-Extra: docs
-License-File: LICENSE.rst
+Requires-Dist: sphinx; extra == "docs"
+Requires-Dist: sphinx-automodapi; extra == "docs"
+Requires-Dist: sunpy-sphinx-theme; extra == "docs"
+
+An interactive animation framework for matplotlib
+-------------------------------------------------
-An interative animation framework for matplotlib
-------------------------------------------------
+This is for creating interactive animations with matplotlib.
+It is designed to handle N-dimensional data, and can be used to create animations.
This package has been spun out of ``sunpy`` to be more generally useful.
@@ -28,7 +41,6 @@
which is licensed under the BSD 3-clause licence. See the licenses folder for
more information.
-
Contributing
------------
@@ -60,5 +72,3 @@
`PyCon talk <https://www.youtube.com/watch?v=6Uj746j9Heo>`_, and was adapted by
mpl-animators based on its use in the README file for the
`MetPy project <https://github.com/Unidata/MetPy>`_.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators.egg-info/SOURCES.txt new/mpl_animators-1.1.1/mpl_animators.egg-info/SOURCES.txt
--- old/mpl_animators-1.0.1/mpl_animators.egg-info/SOURCES.txt 2022-02-02 18:29:09.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators.egg-info/SOURCES.txt 2023-11-17 23:11:54.000000000 +0100
@@ -1,3 +1,4 @@
+CHANGES.md
LICENSE.rst
MANIFEST.in
README.rst
@@ -24,7 +25,8 @@
mpl_animators/extern/__init__.py
mpl_animators/extern/modest_image.py
mpl_animators/tests/__init__.py
-mpl_animators/tests/figure_hashes_mpl_343_ft_261_astropy_431.json
+mpl_animators/tests/figure_hashes_mpl_350_ft_261_astropy_506.json
+mpl_animators/tests/figure_hashes_mpl_381_ft_261_astropy_534.json
mpl_animators/tests/figure_hashes_mpl_dev_ft_261_astropy_dev.json
mpl_animators/tests/helpers.py
mpl_animators/tests/test_basefuncanimator.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/mpl_animators.egg-info/requires.txt new/mpl_animators-1.1.1/mpl_animators.egg-info/requires.txt
--- old/mpl_animators-1.0.1/mpl_animators.egg-info/requires.txt 2022-02-02 18:29:09.000000000 +0100
+++ new/mpl_animators-1.1.1/mpl_animators.egg-info/requires.txt 2023-11-17 23:11:54.000000000 +0100
@@ -1,18 +1,18 @@
-matplotlib>=3.2.0
-numpy>=1.17.0
+matplotlib>=3.5.0
+numpy>=1.21.0
[all]
-astropy>=4.2.0
+astropy!=5.1.0,>=5.0.6
[docs]
sphinx
sphinx-automodapi
sunpy-sphinx-theme
-[test]
+[tests]
pytest
pytest-cov
pytest-mpl
[wcs]
-astropy>=4.2.0
+astropy!=5.1.0,>=5.0.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/pyproject.toml new/mpl_animators-1.1.1/pyproject.toml
--- old/mpl_animators-1.0.1/pyproject.toml 2022-02-02 18:28:45.000000000 +0100
+++ new/mpl_animators-1.1.1/pyproject.toml 2023-11-17 23:11:37.000000000 +0100
@@ -5,3 +5,22 @@
"wheel"]
build-backend = 'setuptools.build_meta'
+
+[ tool.gilesbot ]
+ [ tool.gilesbot.circleci_artifacts ]
+ enabled = true
+
+ [ tool.gilesbot.circleci_artifacts.figure_report ]
+ url = ".tmp/py311-figure/figure_test_images/fig_comparison.html"
+ message = "Click details to see the figure test comparisons, for py311-figure."
+ report_on_fail = true
+
+ [ tool.gilesbot.circleci_artifacts.figure_report_oldestdeps ]
+ url = ".tmp/py39-figure-oldestdeps/figure_test_images/fig_comparison.html"
+ message = "Click details to see the figure test comparisons for py39-figure-oldestdeps."
+ report_on_fail = true
+
+ [ tool.gilesbot.circleci_artifacts.figure_report_devdeps ]
+ url = ".tmp/py311-figure-devdeps/figure_test_images/fig_comparison.html"
+ message = "Click details to see the figure test comparisons for py311-figure-devdeps."
+ report_on_fail = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/setup.cfg new/mpl_animators-1.1.1/setup.cfg
--- old/mpl_animators-1.0.1/setup.cfg 2022-02-02 18:29:09.045858400 +0100
+++ new/mpl_animators-1.1.1/setup.cfg 2023-11-17 23:11:55.004641800 +0100
@@ -5,25 +5,26 @@
license = BSD 3-Clause
license_file = LICENSE.rst
url = https://sunpy.org
-description = An interative animation framework for matplotlib
+description = An interactive animation framework for matplotlib
long_description = file: README.rst
+long_description_content_type = text/x-rst
[options]
zip_safe = False
packages = find:
include_package_data = True
-python_requires = >=3.7
+python_requires = >=3.9
setup_requires = setuptools_scm
install_requires =
- matplotlib>=3.2.0
- numpy>=1.17.0
+ matplotlib>=3.5.0
+ numpy>=1.21.0
[options.extras_require]
all =
- astropy>=4.2.0
+ astropy>=5.0.6,!=5.1.0
wcs =
- astropy>=4.2.0
-test =
+ astropy>=5.0.6,!=5.1.0
+tests =
pytest
pytest-cov
pytest-mpl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/setup.py new/mpl_animators-1.1.1/setup.py
--- old/mpl_animators-1.0.1/setup.py 2022-02-02 18:28:45.000000000 +0100
+++ new/mpl_animators-1.1.1/setup.py 2023-11-17 23:11:37.000000000 +0100
@@ -19,5 +19,4 @@
setup(
use_scm_version={'write_to': os.path.join('mpl_animators', 'version.py'),
'write_to_template': VERSION_TEMPLATE},
-
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpl_animators-1.0.1/tox.ini new/mpl_animators-1.1.1/tox.ini
--- old/mpl_animators-1.0.1/tox.ini 2022-02-02 18:28:45.000000000 +0100
+++ new/mpl_animators-1.1.1/tox.ini 2023-11-17 23:11:37.000000000 +0100
@@ -1,46 +1,29 @@
[tox]
+minversion = 4.0
envlist =
- py{37,38,39,310}{,-devdeps,-figure}
+ py{39,310,311}{,-devdeps,-figure}
build_docs
codestyle
-isolated_build = true
[testenv]
-# Pass through the following environemnt variables which may be needed for the CI
-passenv = HOME WINDIR LC_ALL LC_CTYPE CC CI TRAVIS
-
-# Run the tests in a temporary directory to make sure that we don't import
-# the package from the source tree
changedir = .tmp/{envname}
-
-# tox environments are constructued with so-called 'factors' (or terms)
-# separated by hyphens, e.g. test-devdeps-cov. Lines below starting with factor:
-# will only take effect if that factor is included in the environment name. To
-# see a list of example environments that can be run, along with a description,
-# run:
-#
-# tox -l -v
-#
description =
run tests
-
deps =
- # The devdeps factor is intended to be used to install the latest developer version.
- # of key dependencies.
+ pytest-xdist
devdeps: git+https://github.com/astropy/astropy
devdeps: git+https://github.com/matplotlib/matplotlib
-
- # Figure tests need a tightly controlled environment
- figure-!devdeps: astropy==4.3.1
- figure-!devdeps: matplotlib==3.4.3
-
-# The following indicates which extras_require from setup.cfg will be installed
+ oldestdeps: numpy==1.21.0
+ oldestdeps: astropy==5.0.6
+ oldestdeps: matplotlib==3.5.0
+ figure-!devdeps-!oldestdeps: astropy==5.3.4
+ figure-!devdeps-!oldestdeps: matplotlib==3.8.1
extras =
- test
all
-
-setenv = PYTEST_COMMAND = pytest -vvv -s -raR --pyargs mpl_animators --cov-report=xml --cov=mpl_animators --cov-config={toxinidir}/setup.cfg {toxinidir}/docs
-
+ tests
+setenv =
+ PYTEST_COMMAND = pytest -vvv -s -raR --pyargs mpl_animators --cov-report=xml --cov=mpl_animators --cov-config={toxinidir}/setup.cfg {toxinidir}/docs
+allowlist_externals = /bin/bash
commands =
pip freeze
!figure: {env:PYTEST_COMMAND} {posargs}
@@ -64,8 +47,8 @@
changedir = docs
description = invoke sphinx-build to build the HTML docs
extras =
- docs
- all
+ all
+ docs
commands =
pip freeze
sphinx-build -W -b html . _build/html {posargs}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package snapshot for openSUSE:Factory checked in at 2023-12-11 21:51:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/snapshot (Old)
and /work/SRC/openSUSE:Factory/.snapshot.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "snapshot"
Mon Dec 11 21:51:22 2023 rev:2 rq:1132445 version:45.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/snapshot/snapshot.changes 2023-09-22 21:49:14.636846036 +0200
+++ /work/SRC/openSUSE:Factory/.snapshot.new.25432/snapshot.changes 2023-12-11 21:51:36.697886330 +0100
@@ -1,0 +2,9 @@
+Sat Dec 9 11:29:31 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 45.1:
+ + Various Bugfixes
+ + Update internal libraries
+ + Updated translations.
+- Drop cargo_config as source, no longer needed.
+
+-------------------------------------------------------------------
Old:
----
cargo_config
snapshot-45.0.obscpio
New:
----
snapshot-45.1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ snapshot.spec ++++++
--- /var/tmp/diff_new_pack.QL3Zop/_old 2023-12-11 21:51:38.001934718 +0100
+++ /var/tmp/diff_new_pack.QL3Zop/_new 2023-12-11 21:51:38.001934718 +0100
@@ -19,14 +19,13 @@
%define gstreamer_version 1.20
Name: snapshot
-Version: 45.0
+Version: 45.1
Release: 0
Summary: Take pictures and videos
License: GPL-3.0-or-later
URL: https://gitlab.gnome.org/GNOME/snapshot
-Source: %{name}-%{version}.tar.zst
-Source2: vendor.tar.zst
-Source3: cargo_config
+Source0: %{name}-%{version}.tar.zst
+Source1: vendor.tar.zst
BuildRequires: appstream-glib
BuildRequires: cargo-packaging
@@ -35,9 +34,9 @@
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: pkgconfig(glib-2.0) >= 2.75
+BuildRequires: pkgconfig(gstreamer-1.0) >= %{gstreamer_version}
BuildRequires: pkgconfig(gtk4) >= 4.9.0
BuildRequires: pkgconfig(libadwaita-1) >= 1.4.alpha
-BuildRequires: pkgconfig(gstreamer-1.0) >= %{gstreamer_version}
## Needed for camerabin
BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0) >= %{gstreamer_version}
##
@@ -49,9 +48,7 @@
%lang_package
%prep
-%autosetup -p1 -a2
-mkdir .cargo
-cp %{SOURCE3} .cargo/config
+%autosetup -p1 -a1
%build
export RUSTFLAGS="%{build_rustflags}"
++++++ _service ++++++
--- /var/tmp/diff_new_pack.QL3Zop/_old 2023-12-11 21:51:38.029935757 +0100
+++ /var/tmp/diff_new_pack.QL3Zop/_new 2023-12-11 21:51:38.033935906 +0100
@@ -3,8 +3,8 @@
<service name="obs_scm" mode="manual">
<param name="url">https://gitlab.gnome.org/GNOME/Incubator/snapshot.git</param>
<param name="scm">git</param>
- <param name="revision">9fa1cf5d0ba15d06602a1ad9f54f452df4d57d67</param>
- <param name="versionformat">45.0</param>
+ <param name="revision">refs/tags/45.1</param>
+ <param name="versionformat">45.1</param>
<!--<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
++++++ snapshot-45.0.obscpio -> snapshot-45.1.obscpio ++++++
++++ 5636 lines of diff (skipped)
++++++ snapshot.obsinfo ++++++
--- /var/tmp/diff_new_pack.QL3Zop/_old 2023-12-11 21:51:38.205942288 +0100
+++ /var/tmp/diff_new_pack.QL3Zop/_new 2023-12-11 21:51:38.209942436 +0100
@@ -1,5 +1,5 @@
name: snapshot
-version: 45.0
-mtime: 1694860656
-commit: 9fa1cf5d0ba15d06602a1ad9f54f452df4d57d67
+version: 45.1
+mtime: 1702117991
+commit: 10bd7f8d86897656b89d63b3fdbda74d34052ff0
++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.QL3Zop/_old and /var/tmp/diff_new_pack.QL3Zop/_new differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-ptpython for openSUSE:Factory checked in at 2023-12-11 21:51:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ptpython (Old)
and /work/SRC/openSUSE:Factory/.python-ptpython.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ptpython"
Mon Dec 11 21:51:14 2023 rev:10 rq:1132418 version:3.0.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ptpython/python-ptpython.changes 2022-12-15 19:25:03.616006829 +0100
+++ /work/SRC/openSUSE:Factory/.python-ptpython.new.25432/python-ptpython.changes 2023-12-11 21:51:23.485396063 +0100
@@ -1,0 +2,9 @@
+Mon Dec 11 07:23:19 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.0.23:
+ * Don't print exception messages twice for unhandled
+ exceptions.
+ * Added cursor shape support.
+ * Drop Python 3.6 support.
+
+-------------------------------------------------------------------
Old:
----
ptpython-3.0.22.tar.gz
New:
----
ptpython-3.0.23.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ptpython.spec ++++++
--- /var/tmp/diff_new_pack.zFPHKX/_old 2023-12-11 21:51:24.025416102 +0100
+++ /var/tmp/diff_new_pack.zFPHKX/_new 2023-12-11 21:51:24.025416102 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-ptpython
#
-# 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,16 +16,16 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
+%{?sle15_python_module_pythons}
Name: python-ptpython
-Version: 3.0.22
+Version: 3.0.23
Release: 0
Summary: Python REPL build on top of prompt_toolkit
License: ISC
Group: Development/Languages/Python
URL: https://github.com/jonathanslenders/ptpython
Source: https://files.pythonhosted.org/packages/source/p/ptpython/ptpython-%{versio…
+BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++++++ ptpython-3.0.22.tar.gz -> ptpython-3.0.23.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/CHANGELOG new/ptpython-3.0.23/CHANGELOG
--- old/ptpython-3.0.22/CHANGELOG 2022-12-06 23:18:03.000000000 +0100
+++ new/ptpython-3.0.23/CHANGELOG 2023-02-22 11:49:34.000000000 +0100
@@ -1,6 +1,17 @@
CHANGELOG
=========
+3.0.23: 2023-02-22
+------------------
+
+Fixes:
+- Don't print exception messages twice for unhandled exceptions.
+- Added cursor shape support.
+
+Breaking changes:
+- Drop Python 3.6 support.
+
+
3.0.22: 2022-12-06
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/PKG-INFO new/ptpython-3.0.23/PKG-INFO
--- old/ptpython-3.0.22/PKG-INFO 2022-12-06 23:19:00.209290300 +0100
+++ new/ptpython-3.0.23/PKG-INFO 2023-02-22 11:52:36.950271000 +0100
@@ -1,16 +1,16 @@
Metadata-Version: 2.1
Name: ptpython
-Version: 3.0.22
+Version: 3.0.23
Summary: Python REPL build on top of prompt_toolkit
Home-page: https://github.com/prompt-toolkit/ptpython
Author: Jonathan Slenders
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Provides-Extra: ptipython
Provides-Extra: all
License-File: LICENSE
@@ -230,7 +230,7 @@
.. code:: python
- from ptpython.ipython.repl import embed
+ from ptpython.ipython import embed
embed(globals(), locals())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/README.rst new/ptpython-3.0.23/README.rst
--- old/ptpython-3.0.22/README.rst 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/README.rst 2023-02-22 11:27:55.000000000 +0100
@@ -213,7 +213,7 @@
.. code:: python
- from ptpython.ipython.repl import embed
+ from ptpython.ipython import embed
embed(globals(), locals())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/examples/ptpython_config/config.py new/ptpython-3.0.23/examples/ptpython_config/config.py
--- old/ptpython-3.0.22/examples/ptpython_config/config.py 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/examples/ptpython_config/config.py 2023-02-22 11:27:55.000000000 +0100
@@ -3,6 +3,7 @@
Copy this file to $XDG_CONFIG_HOME/ptpython/config.py
On Linux, this is: ~/.config/ptpython/config.py
+On macOS, this is: ~/Library/Application Support/ptpython/config.py
"""
from prompt_toolkit.filters import ViInsertMode
from prompt_toolkit.key_binding.key_processor import KeyPress
@@ -49,7 +50,7 @@
# Swap light/dark colors on or off
repl.swap_light_and_dark = False
- # Highlight matching parethesis.
+ # Highlight matching parentheses.
repl.highlight_matching_parenthesis = True
# Line wrapping. (Instead of horizontal scrolling.)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/__init__.py new/ptpython-3.0.23/ptpython/__init__.py
--- old/ptpython-3.0.22/ptpython/__init__.py 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/ptpython/__init__.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from .repl import embed
__all__ = ["embed"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/__main__.py new/ptpython-3.0.23/ptpython/__main__.py
--- old/ptpython-3.0.22/ptpython/__main__.py 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/ptpython/__main__.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,6 +1,8 @@
"""
Make `python -m ptpython` an alias for running `./ptpython`.
"""
+from __future__ import annotations
+
from .entry_points.run_ptpython import run
run()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/completer.py new/ptpython-3.0.23/ptpython/completer.py
--- old/ptpython-3.0.22/ptpython/completer.py 2022-12-06 23:17:31.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/completer.py 2023-02-22 11:45:37.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
import ast
import collections.abc as collections_abc
import inspect
@@ -44,8 +46,8 @@
def __init__(
self,
- get_globals: Callable[[], Dict[str, Any]],
- get_locals: Callable[[], Dict[str, Any]],
+ get_globals: Callable[[], dict[str, Any]],
+ get_locals: Callable[[], dict[str, Any]],
enable_dictionary_completion: Callable[[], bool],
) -> None:
super().__init__()
@@ -58,8 +60,8 @@
self._jedi_completer = JediCompleter(get_globals, get_locals)
self._dictionary_completer = DictionaryCompleter(get_globals, get_locals)
- self._path_completer_cache: Optional[GrammarCompleter] = None
- self._path_completer_grammar_cache: Optional["_CompiledGrammar"] = None
+ self._path_completer_cache: GrammarCompleter | None = None
+ self._path_completer_grammar_cache: _CompiledGrammar | None = None
@property
def _path_completer(self) -> GrammarCompleter:
@@ -74,7 +76,7 @@
return self._path_completer_cache
@property
- def _path_completer_grammar(self) -> "_CompiledGrammar":
+ def _path_completer_grammar(self) -> _CompiledGrammar:
"""
Return the grammar for matching paths inside strings inside Python
code.
@@ -85,7 +87,7 @@
self._path_completer_grammar_cache = self._create_path_completer_grammar()
return self._path_completer_grammar_cache
- def _create_path_completer_grammar(self) -> "_CompiledGrammar":
+ def _create_path_completer_grammar(self) -> _CompiledGrammar:
def unwrapper(text: str) -> str:
return re.sub(r"\\(.)", r"\1", text)
@@ -189,7 +191,6 @@
):
# If we are inside a string, Don't do Jedi completion.
if not self._path_completer_grammar.match(document.text_before_cursor):
-
# Do Jedi Python completions.
yield from self._jedi_completer.get_completions(
document, complete_event
@@ -203,8 +204,8 @@
def __init__(
self,
- get_globals: Callable[[], Dict[str, Any]],
- get_locals: Callable[[], Dict[str, Any]],
+ get_globals: Callable[[], dict[str, Any]],
+ get_locals: Callable[[], dict[str, Any]],
) -> None:
super().__init__()
@@ -242,7 +243,7 @@
# Jedi issue: "KeyError: u'a_lambda'."
# https://github.com/jonathanslenders/ptpython/issues/89
pass
- except IOError:
+ except OSError:
# Jedi issue: "IOError: No such file or directory."
# https://github.com/jonathanslenders/ptpython/issues/71
pass
@@ -303,8 +304,8 @@
def __init__(
self,
- get_globals: Callable[[], Dict[str, Any]],
- get_locals: Callable[[], Dict[str, Any]],
+ get_globals: Callable[[], dict[str, Any]],
+ get_locals: Callable[[], dict[str, Any]],
) -> None:
super().__init__()
@@ -386,7 +387,7 @@
re.VERBOSE,
)
- def _lookup(self, expression: str, temp_locals: Dict[str, Any]) -> object:
+ def _lookup(self, expression: str, temp_locals: dict[str, Any]) -> object:
"""
Do lookup of `object_var` in the context.
`temp_locals` is a dictionary, used for the locals.
@@ -399,7 +400,6 @@
def get_completions(
self, document: Document, complete_event: CompleteEvent
) -> Iterable[Completion]:
-
# First, find all for-loops, and assign the first item of the
# collections they're iterating to the iterator variable, so that we
# can provide code completion on the iterators.
@@ -431,7 +431,7 @@
except BaseException:
raise ReprFailedError
- def eval_expression(self, document: Document, locals: Dict[str, Any]) -> object:
+ def eval_expression(self, document: Document, locals: dict[str, Any]) -> object:
"""
Evaluate
"""
@@ -446,7 +446,7 @@
self,
document: Document,
complete_event: CompleteEvent,
- temp_locals: Dict[str, Any],
+ temp_locals: dict[str, Any],
) -> Iterable[Completion]:
"""
Complete the [ or . operator after an object.
@@ -454,7 +454,6 @@
result = self.eval_expression(document, temp_locals)
if result is not None:
-
if isinstance(
result,
(list, tuple, dict, collections_abc.Mapping, collections_abc.Sequence),
@@ -470,7 +469,7 @@
self,
document: Document,
complete_event: CompleteEvent,
- temp_locals: Dict[str, Any],
+ temp_locals: dict[str, Any],
) -> Iterable[Completion]:
"""
Complete dictionary keys.
@@ -478,6 +477,7 @@
def meta_repr(value: object) -> Callable[[], str]:
"Abbreviate meta text, make sure it fits on one line."
+
# We return a function, so that it gets computed when it's needed.
# When there are many completions, that improves the performance
# quite a bit (for the multi-column completion menu, we only need
@@ -549,7 +549,7 @@
self,
document: Document,
complete_event: CompleteEvent,
- temp_locals: Dict[str, Any],
+ temp_locals: dict[str, Any],
) -> Iterable[Completion]:
"""
Complete attribute names.
@@ -568,9 +568,9 @@
obj = getattr(result, name, None)
if inspect.isfunction(obj) or inspect.ismethod(obj):
return "()"
- if isinstance(obj, dict):
+ if isinstance(obj, collections_abc.Mapping):
return "{}"
- if isinstance(obj, (list, tuple)):
+ if isinstance(obj, collections_abc.Sequence):
return "[]"
except:
pass
@@ -581,13 +581,13 @@
suffix = get_suffix(name)
yield Completion(name, -len(attr_name), display=name + suffix)
- def _sort_attribute_names(self, names: List[str]) -> List[str]:
+ def _sort_attribute_names(self, names: list[str]) -> list[str]:
"""
Sort attribute names alphabetically, but move the double underscore and
underscore names to the end.
"""
- def sort_key(name: str) -> Tuple[int, str]:
+ def sort_key(name: str) -> tuple[int, str]:
if name.startswith("__"):
return (2, name) # Double underscore comes latest.
if name.startswith("_"):
@@ -599,7 +599,7 @@
class HidePrivateCompleter(Completer):
"""
- Wrapper around completer that hides private fields, deponding on whether or
+ Wrapper around completer that hides private fields, depending on whether or
not public fields are shown.
(The reason this is implemented as a `Completer` wrapper is because this
@@ -617,7 +617,6 @@
def get_completions(
self, document: Document, complete_event: CompleteEvent
) -> Iterable[Completion]:
-
completions = list(self.completer.get_completions(document, complete_event))
complete_private_attributes = self.complete_private_attributes()
hide_private = False
@@ -653,7 +652,7 @@
def _get_style_for_jedi_completion(
- jedi_completion: "jedi.api.classes.Completion",
+ jedi_completion: jedi.api.classes.Completion,
) -> str:
"""
Return completion style to use for this name.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/contrib/asyncssh_repl.py new/ptpython-3.0.23/ptpython/contrib/asyncssh_repl.py
--- old/ptpython-3.0.22/ptpython/contrib/asyncssh_repl.py 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/ptpython/contrib/asyncssh_repl.py 2023-02-22 11:27:55.000000000 +0100
@@ -6,6 +6,8 @@
should make sure not to use Python 3-only syntax, because this
package should be installable in Python 2 as well!
"""
+from __future__ import annotations
+
import asyncio
from typing import Any, Optional, TextIO, cast
@@ -29,7 +31,7 @@
"""
def __init__(
- self, get_globals: _GetNamespace, get_locals: Optional[_GetNamespace] = None
+ self, get_globals: _GetNamespace, get_locals: _GetNamespace | None = None
) -> None:
self._chan: Any = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/entry_points/run_ptipython.py new/ptpython-3.0.23/ptpython/entry_points/run_ptipython.py
--- old/ptpython-3.0.22/ptpython/entry_points/run_ptipython.py 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/ptpython/entry_points/run_ptipython.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,4 +1,6 @@
#!/usr/bin/env python
+from __future__ import annotations
+
import os
import sys
@@ -58,7 +60,7 @@
code = compile(f.read(), path, "exec")
exec(code, user_ns, user_ns)
else:
- print("File not found: {}\n\n".format(path))
+ print(f"File not found: {path}\n\n")
sys.exit(1)
# Apply config file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/entry_points/run_ptpython.py new/ptpython-3.0.23/ptpython/entry_points/run_ptpython.py
--- old/ptpython-3.0.22/ptpython/entry_points/run_ptpython.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/entry_points/run_ptpython.py 2023-02-22 11:27:55.000000000 +0100
@@ -21,6 +21,8 @@
PTPYTHON_CONFIG_HOME: a configuration directory to use
PYTHONSTARTUP: file executed on interactive startup (no default)
"""
+from __future__ import annotations
+
import argparse
import os
import pathlib
@@ -44,7 +46,7 @@
class _Parser(argparse.ArgumentParser):
- def print_help(self, file: Optional[IO[str]] = None) -> None:
+ def print_help(self, file: IO[str] | None = None) -> None:
super().print_help()
print(
dedent(
@@ -90,7 +92,7 @@
return parser
-def get_config_and_history_file(namespace: argparse.Namespace) -> Tuple[str, str]:
+def get_config_and_history_file(namespace: argparse.Namespace) -> tuple[str, str]:
"""
Check which config/history files to use, ensure that the directories for
these files exist, and return the config and history path.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/eventloop.py new/ptpython-3.0.23/ptpython/eventloop.py
--- old/ptpython-3.0.22/ptpython/eventloop.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/eventloop.py 2023-02-22 11:27:55.000000000 +0100
@@ -7,6 +7,8 @@
in readline. ``prompt-toolkit`` doesn't understand that input hook, but this
will fix it for Tk.)
"""
+from __future__ import annotations
+
import sys
import time
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/filters.py new/ptpython-3.0.23/ptpython/filters.py
--- old/ptpython-3.0.22/ptpython/filters.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/filters.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from typing import TYPE_CHECKING
from prompt_toolkit.filters import Filter
@@ -9,7 +11,7 @@
class PythonInputFilter(Filter):
- def __init__(self, python_input: "PythonInput") -> None:
+ def __init__(self, python_input: PythonInput) -> None:
super().__init__()
self.python_input = python_input
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/history_browser.py new/ptpython-3.0.23/ptpython/history_browser.py
--- old/ptpython-3.0.22/ptpython/history_browser.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/history_browser.py 2023-02-22 11:27:55.000000000 +0100
@@ -4,6 +4,8 @@
`create_history_application` creates an `Application` instance that runs will
run as a sub application of the Repl/PythonInput.
"""
+from __future__ import annotations
+
from functools import partial
from typing import TYPE_CHECKING, Callable, List, Optional, Set
@@ -128,7 +130,7 @@
application.
"""
- def __init__(self, history: "PythonHistory") -> None:
+ def __init__(self, history: PythonHistory) -> None:
search_toolbar = SearchToolbar()
self.help_buffer_control = BufferControl(
@@ -224,7 +226,7 @@
return [("class:status-bar.title", "History browser - Insert from history")]
-def _get_bottom_toolbar_fragments(history: "PythonHistory") -> StyleAndTextTuples:
+def _get_bottom_toolbar_fragments(history: PythonHistory) -> StyleAndTextTuples:
python_input = history.python_input
@if_mousedown
@@ -258,7 +260,7 @@
This displays a green bar for the selected entries.
"""
- def __init__(self, history: "PythonHistory") -> None:
+ def __init__(self, history: PythonHistory) -> None:
self.history_buffer = history.history_buffer
self.history_mapping = history.history_mapping
@@ -307,7 +309,7 @@
The margin to be shown in the result pane.
"""
- def __init__(self, history: "PythonHistory") -> None:
+ def __init__(self, history: PythonHistory) -> None:
self.history_mapping = history.history_mapping
self.history_buffer = history.history_buffer
@@ -356,7 +358,7 @@
Turn the existing input, before and after the inserted code gray.
"""
- def __init__(self, history_mapping: "HistoryMapping") -> None:
+ def __init__(self, history_mapping: HistoryMapping) -> None:
self.history_mapping = history_mapping
self._lines_before = len(
history_mapping.original_document.text_before_cursor.splitlines()
@@ -384,7 +386,7 @@
def __init__(
self,
- history: "PythonHistory",
+ history: PythonHistory,
python_history: History,
original_document: Document,
) -> None:
@@ -393,11 +395,11 @@
self.original_document = original_document
self.lines_starting_new_entries = set()
- self.selected_lines: Set[int] = set()
+ self.selected_lines: set[int] = set()
# Process history.
history_strings = python_history.get_strings()
- history_lines: List[str] = []
+ history_lines: list[str] = []
for entry_nr, entry in list(enumerate(history_strings))[-HISTORY_COUNT:]:
self.lines_starting_new_entries.add(len(history_lines))
@@ -419,7 +421,7 @@
else:
self.result_line_offset = 0
- def get_new_document(self, cursor_pos: Optional[int] = None) -> Document:
+ def get_new_document(self, cursor_pos: int | None = None) -> Document:
"""
Create a `Document` instance that contains the resulting text.
"""
@@ -449,7 +451,7 @@
b.set_document(self.get_new_document(b.cursor_position), bypass_readonly=True)
-def _toggle_help(history: "PythonHistory") -> None:
+def _toggle_help(history: PythonHistory) -> None:
"Display/hide help."
help_buffer_control = history.history_layout.help_buffer_control
@@ -459,7 +461,7 @@
history.app.layout.current_control = help_buffer_control
-def _select_other_window(history: "PythonHistory") -> None:
+def _select_other_window(history: PythonHistory) -> None:
"Toggle focus between left/right window."
current_buffer = history.app.current_buffer
layout = history.history_layout.layout
@@ -472,8 +474,8 @@
def create_key_bindings(
- history: "PythonHistory",
- python_input: "PythonInput",
+ history: PythonHistory,
+ python_input: PythonInput,
history_mapping: HistoryMapping,
) -> KeyBindings:
"""
@@ -592,14 +594,12 @@
class PythonHistory:
- def __init__(
- self, python_input: "PythonInput", original_document: Document
- ) -> None:
+ def __init__(self, python_input: PythonInput, original_document: Document) -> None:
"""
Create an `Application` for the history screen.
This has to be run as a sub application of `python_input`.
- When this application runs and returns, it retuns the selected lines.
+ When this application runs and returns, it returns the selected lines.
"""
self.python_input = python_input
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/ipython.py new/ptpython-3.0.23/ptpython/ipython.py
--- old/ptpython-3.0.22/ptpython/ipython.py 2022-11-25 14:56:07.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/ipython.py 2023-02-22 11:27:55.000000000 +0100
@@ -8,6 +8,8 @@
offer.
"""
+from __future__ import annotations
+
from typing import Iterable
from warnings import warn
@@ -62,12 +64,12 @@
class IPythonValidator(PythonValidator):
def __init__(self, *args, **kwargs):
- super(IPythonValidator, self).__init__(*args, **kwargs)
+ super().__init__(*args, **kwargs)
self.isp = IPythonInputSplitter()
def validate(self, document: Document) -> None:
document = Document(text=self.isp.transform_cell(document.text))
- super(IPythonValidator, self).validate(document)
+ super().validate(document)
def create_ipython_grammar():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/key_bindings.py new/ptpython-3.0.23/ptpython/key_bindings.py
--- old/ptpython-3.0.22/ptpython/key_bindings.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/key_bindings.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from typing import TYPE_CHECKING
from prompt_toolkit.application import get_app
@@ -47,7 +49,7 @@
return bool(b.text and (not before_cursor or before_cursor.isspace()))
-def load_python_bindings(python_input: "PythonInput") -> KeyBindings:
+def load_python_bindings(python_input: PythonInput) -> KeyBindings:
"""
Custom key bindings.
"""
@@ -157,7 +159,7 @@
Behaviour of the Enter key.
Auto indent after newline/Enter.
- (When not in Vi navigaton mode, and when multiline is enabled.)
+ (When not in Vi navigation mode, and when multiline is enabled.)
"""
b = event.current_buffer
empty_lines_required = python_input.accept_input_on_enter or 10000
@@ -218,7 +220,7 @@
return bindings
-def load_sidebar_bindings(python_input: "PythonInput") -> KeyBindings:
+def load_sidebar_bindings(python_input: PythonInput) -> KeyBindings:
"""
Load bindings for the navigation in the sidebar.
"""
@@ -273,7 +275,7 @@
return bindings
-def load_confirm_exit_bindings(python_input: "PythonInput") -> KeyBindings:
+def load_confirm_exit_bindings(python_input: PythonInput) -> KeyBindings:
"""
Handle yes/no key presses when the exit confirmation is shown.
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/layout.py new/ptpython-3.0.23/ptpython/layout.py
--- old/ptpython-3.0.22/ptpython/layout.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/layout.py 2023-02-22 11:45:37.000000000 +0100
@@ -1,6 +1,8 @@
"""
Creation of the `Layout` instance for the Python input/REPL.
"""
+from __future__ import annotations
+
import platform
import sys
from enum import Enum
@@ -78,26 +80,26 @@
TOOLBAR = "toolbar"
-def show_completions_toolbar(python_input: "PythonInput") -> Condition:
+def show_completions_toolbar(python_input: PythonInput) -> Condition:
return Condition(
lambda: python_input.completion_visualisation == CompletionVisualisation.TOOLBAR
)
-def show_completions_menu(python_input: "PythonInput") -> Condition:
+def show_completions_menu(python_input: PythonInput) -> Condition:
return Condition(
lambda: python_input.completion_visualisation == CompletionVisualisation.POP_UP
)
-def show_multi_column_completions_menu(python_input: "PythonInput") -> Condition:
+def show_multi_column_completions_menu(python_input: PythonInput) -> Condition:
return Condition(
lambda: python_input.completion_visualisation
== CompletionVisualisation.MULTI_COLUMN
)
-def python_sidebar(python_input: "PythonInput") -> Window:
+def python_sidebar(python_input: PythonInput) -> Window:
"""
Create the `Layout` for the sidebar with the configurable options.
"""
@@ -105,7 +107,7 @@
def get_text_fragments() -> StyleAndTextTuples:
tokens: StyleAndTextTuples = []
- def append_category(category: "OptionCategory[Any]") -> None:
+ def append_category(category: OptionCategory[Any]) -> None:
tokens.extend(
[
("class:sidebar", " "),
@@ -149,7 +151,7 @@
append_category(category)
for option in category.options:
- append(i, option.title, "%s" % option.get_current_value())
+ append(i, option.title, "%s" % (option.get_current_value(),))
i += 1
tokens.pop() # Remove last newline.
@@ -172,7 +174,7 @@
)
-def python_sidebar_navigation(python_input: "PythonInput") -> Window:
+def python_sidebar_navigation(python_input: PythonInput) -> Window:
"""
Create the `Layout` showing the navigation information for the sidebar.
"""
@@ -198,7 +200,7 @@
)
-def python_sidebar_help(python_input: "PythonInput") -> Container:
+def python_sidebar_help(python_input: PythonInput) -> Container:
"""
Create the `Layout` for the help text for the current item in the sidebar.
"""
@@ -232,7 +234,7 @@
)
-def signature_toolbar(python_input: "PythonInput") -> Container:
+def signature_toolbar(python_input: PythonInput) -> Container:
"""
Return the `Layout` for the signature.
"""
@@ -318,7 +320,7 @@
It shows something like "In [1]:".
"""
- def __init__(self, python_input: "PythonInput") -> None:
+ def __init__(self, python_input: PythonInput) -> None:
self.python_input = python_input
def get_prompt_style() -> PromptStyle:
@@ -339,7 +341,7 @@
super().__init__(get_prompt, get_continuation)
-def status_bar(python_input: "PythonInput") -> Container:
+def status_bar(python_input: PythonInput) -> Container:
"""
Create the `Layout` for the status bar.
"""
@@ -412,7 +414,7 @@
)
-def get_inputmode_fragments(python_input: "PythonInput") -> StyleAndTextTuples:
+def get_inputmode_fragments(python_input: PythonInput) -> StyleAndTextTuples:
"""
Return current input mode as a list of (token, text) tuples for use in a
toolbar.
@@ -440,7 +442,7 @@
recording_register = app.vi_state.recording_register
if recording_register:
append((token, " "))
- append((token + " class:record", "RECORD({})".format(recording_register)))
+ append((token + " class:record", f"RECORD({recording_register})"))
append((token, " - "))
if app.current_buffer.selection_state is not None:
@@ -473,7 +475,7 @@
return result
-def show_sidebar_button_info(python_input: "PythonInput") -> Container:
+def show_sidebar_button_info(python_input: PythonInput) -> Container:
"""
Create `Layout` for the information in the right-bottom corner.
(The right part of the status bar.)
@@ -519,7 +521,7 @@
def create_exit_confirmation(
- python_input: "PythonInput", style: str = "class:exit-confirmation"
+ python_input: PythonInput, style: str = "class:exit-confirmation"
) -> Container:
"""
Create `Layout` for the exit message.
@@ -543,7 +545,7 @@
)
-def meta_enter_message(python_input: "PythonInput") -> Container:
+def meta_enter_message(python_input: PythonInput) -> Container:
"""
Create the `Layout` for the 'Meta+Enter` message.
"""
@@ -575,15 +577,15 @@
class PtPythonLayout:
def __init__(
self,
- python_input: "PythonInput",
+ python_input: PythonInput,
lexer: Lexer,
- extra_body: Optional[AnyContainer] = None,
- extra_toolbars: Optional[List[AnyContainer]] = None,
- extra_buffer_processors: Optional[List[Processor]] = None,
- input_buffer_height: Optional[AnyDimension] = None,
+ extra_body: AnyContainer | None = None,
+ extra_toolbars: list[AnyContainer] | None = None,
+ extra_buffer_processors: list[Processor] | None = None,
+ input_buffer_height: AnyDimension | None = None,
) -> None:
D = Dimension
- extra_body_list: List[AnyContainer] = [extra_body] if extra_body else []
+ extra_body_list: list[AnyContainer] = [extra_body] if extra_body else []
extra_toolbars = extra_toolbars or []
input_buffer_height = input_buffer_height or D(min=6)
@@ -591,7 +593,7 @@
search_toolbar = SearchToolbar(python_input.search_buffer)
def create_python_input_window() -> Window:
- def menu_position() -> Optional[int]:
+ def menu_position() -> int | None:
"""
When there is no autocompletion menu to be shown, and we have a
signature, set the pop-up position at `bracket_start`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/lexer.py new/ptpython-3.0.23/ptpython/lexer.py
--- old/ptpython-3.0.22/ptpython/lexer.py 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/ptpython/lexer.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from typing import Callable, Optional
from prompt_toolkit.document import Document
@@ -17,7 +19,7 @@
use a Python 3 lexer.
"""
- def __init__(self, python_lexer: Optional[Lexer] = None) -> None:
+ def __init__(self, python_lexer: Lexer | None = None) -> None:
self.python_lexer = python_lexer or PygmentsLexer(PythonLexer)
self.system_lexer = PygmentsLexer(BashLexer)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/prompt_style.py new/ptpython-3.0.23/ptpython/prompt_style.py
--- old/ptpython-3.0.22/ptpython/prompt_style.py 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/ptpython/prompt_style.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from abc import ABCMeta, abstractmethod
from typing import TYPE_CHECKING
@@ -40,7 +42,7 @@
A prompt resembling the IPython prompt.
"""
- def __init__(self, python_input: "PythonInput") -> None:
+ def __init__(self, python_input: PythonInput) -> None:
self.python_input = python_input
def in_prompt(self) -> AnyFormattedText:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/python_input.py new/ptpython-3.0.23/ptpython/python_input.py
--- old/ptpython-3.0.22/ptpython/python_input.py 2022-12-06 21:37:32.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/python_input.py 2023-02-22 11:45:37.000000000 +0100
@@ -2,7 +2,7 @@
Application for reading Python input.
This can be used for creation of Python REPLs.
"""
-import __future__
+from __future__ import annotations
from asyncio import get_event_loop
from functools import partial
@@ -34,6 +34,12 @@
ThreadedCompleter,
merge_completers,
)
+from prompt_toolkit.cursor_shapes import (
+ AnyCursorShapeConfig,
+ CursorShape,
+ DynamicCursorShapeConfig,
+ ModalCursorShapeConfig,
+)
from prompt_toolkit.document import Document
from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode
from prompt_toolkit.filters import Condition
@@ -84,6 +90,11 @@
from .utils import unindent_code
from .validator import PythonValidator
+# Isort introduces a SyntaxError, if we'd write `import __future__`.
+# https://github.com/PyCQA/isort/issues/2100
+__future__ = __import__("__future__")
+
+
__all__ = ["PythonInput"]
@@ -101,7 +112,7 @@
class OptionCategory(Generic[_T]):
- def __init__(self, title: str, options: List["Option[_T]"]) -> None:
+ def __init__(self, title: str, options: list[Option[_T]]) -> None:
self.title = title
self.options = options
@@ -194,26 +205,25 @@
def __init__(
self,
- get_globals: Optional[_GetNamespace] = None,
- get_locals: Optional[_GetNamespace] = None,
- history_filename: Optional[str] = None,
+ get_globals: _GetNamespace | None = None,
+ get_locals: _GetNamespace | None = None,
+ history_filename: str | None = None,
vi_mode: bool = False,
- color_depth: Optional[ColorDepth] = None,
+ color_depth: ColorDepth | None = None,
# Input/output.
- input: Optional[Input] = None,
- output: Optional[Output] = None,
+ input: Input | None = None,
+ output: Output | None = None,
# For internal use.
- extra_key_bindings: Optional[KeyBindings] = None,
+ extra_key_bindings: KeyBindings | None = None,
create_app: bool = True,
- _completer: Optional[Completer] = None,
- _validator: Optional[Validator] = None,
- _lexer: Optional[Lexer] = None,
+ _completer: Completer | None = None,
+ _validator: Validator | None = None,
+ _lexer: Lexer | None = None,
_extra_buffer_processors=None,
- _extra_layout_body: Optional[AnyContainer] = None,
+ _extra_layout_body: AnyContainer | None = None,
_extra_toolbars=None,
_input_buffer_height=None,
) -> None:
-
self.get_globals: _GetNamespace = get_globals or (lambda: {})
self.get_locals: _GetNamespace = get_locals or self.get_globals
@@ -310,7 +320,7 @@
self.show_exit_confirmation: bool = False
# The title to be displayed in the terminal. (None or string.)
- self.terminal_title: Optional[str] = None
+ self.terminal_title: str | None = None
self.exit_message: str = "Do you really want to exit?"
self.insert_blank_line_after_output: bool = True # (For the REPL.)
@@ -321,11 +331,23 @@
self.search_buffer: Buffer = Buffer()
self.docstring_buffer: Buffer = Buffer(read_only=True)
+ # Cursor shapes.
+ self.cursor_shape_config = "Block"
+ self.all_cursor_shape_configs: Dict[str, AnyCursorShapeConfig] = {
+ "Block": CursorShape.BLOCK,
+ "Underline": CursorShape.UNDERLINE,
+ "Beam": CursorShape.BEAM,
+ "Modal (vi)": ModalCursorShapeConfig(),
+ "Blink block": CursorShape.BLINKING_BLOCK,
+ "Blink under": CursorShape.BLINKING_UNDERLINE,
+ "Blink beam": CursorShape.BLINKING_BEAM,
+ }
+
# Tokens to be shown at the prompt.
self.prompt_style: str = "classic" # The currently active style.
# Styles selectable from the menu.
- self.all_prompt_styles: Dict[str, PromptStyle] = {
+ self.all_prompt_styles: dict[str, PromptStyle] = {
"ipython": IPythonPrompt(self),
"classic": ClassicPrompt(),
}
@@ -339,7 +361,7 @@
].out_prompt()
#: Load styles.
- self.code_styles: Dict[str, BaseStyle] = get_all_code_styles()
+ self.code_styles: dict[str, BaseStyle] = get_all_code_styles()
self.ui_styles = get_all_ui_styles()
self._current_code_style_name: str = "default"
self._current_ui_style_name: str = "default"
@@ -361,7 +383,7 @@
self.current_statement_index: int = 1
# Code signatures. (This is set asynchronously after a timeout.)
- self.signatures: List[Signature] = []
+ self.signatures: list[Signature] = []
# Boolean indicating whether we have a signatures thread running.
# (Never run more than one at the same time.)
@@ -400,9 +422,7 @@
# Create an app if requested. If not, the global get_app() is returned
# for self.app via property getter.
if create_app:
- self._app: Optional[Application[str]] = self._create_application(
- input, output
- )
+ self._app: Application[str] | None = self._create_application(input, output)
# Setting vi_mode will not work unless the prompt_toolkit
# application has been created.
if vi_mode:
@@ -528,7 +548,7 @@
self.ui_styles[self._current_ui_style_name],
)
- def _create_options(self) -> List[OptionCategory[Any]]:
+ def _create_options(self) -> list[OptionCategory[Any]]:
"""
Create a list of `Option` instances for the options sidebar.
"""
@@ -547,14 +567,14 @@
title: str,
description: str,
field_name: str,
- values: Tuple[str, str] = ("off", "on"),
+ values: tuple[str, str] = ("off", "on"),
) -> Option[str]:
"Create Simple on/of option."
def get_current_value() -> str:
return values[bool(getattr(self, field_name))]
- def get_values() -> Dict[str, Callable[[], bool]]:
+ def get_values() -> dict[str, Callable[[], bool]]:
return {
values[1]: lambda: enable(field_name),
values[0]: lambda: disable(field_name),
@@ -582,6 +602,16 @@
"Vi": lambda: enable("vi_mode"),
},
),
+ Option(
+ title="Cursor shape",
+ description="Change the cursor style, possibly according "
+ "to the Vi input mode.",
+ get_current_value=lambda: self.cursor_shape_config,
+ get_values=lambda: dict(
+ (s, partial(enable, "cursor_shape_config", s))
+ for s in self.all_cursor_shape_configs
+ ),
+ ),
simple_option(
title="Paste mode",
description="When enabled, don't indent automatically.",
@@ -731,10 +761,10 @@
title="Prompt",
description="Visualisation of the prompt. ('>>>' or 'In [1]:')",
get_current_value=lambda: self.prompt_style,
- get_values=lambda: dict(
- (s, partial(enable, "prompt_style", s))
+ get_values=lambda: {
+ s: partial(enable, "prompt_style", s)
for s in self.all_prompt_styles
- ),
+ },
),
simple_option(
title="Blank line after input",
@@ -826,10 +856,10 @@
title="User interface",
description="Color scheme to use for the user interface.",
get_current_value=lambda: self._current_ui_style_name,
- get_values=lambda: dict(
- (name, partial(self.use_ui_colorscheme, name))
+ get_values=lambda: {
+ name: partial(self.use_ui_colorscheme, name)
for name in self.ui_styles
- ),
+ },
),
Option(
title="Color depth",
@@ -863,7 +893,7 @@
]
def _create_application(
- self, input: Optional[Input], output: Optional[Output]
+ self, input: Input | None, output: Output | None
) -> Application[str]:
"""
Create an `Application` instance.
@@ -894,6 +924,9 @@
style_transformation=self.style_transformation,
include_default_pygments_style=False,
reverse_vi_search_direction=True,
+ cursor=DynamicCursorShapeConfig(
+ lambda: self.all_cursor_shape_configs[self.cursor_shape_config]
+ ),
input=input,
output=output,
)
@@ -953,7 +986,7 @@
in another thread, get the signature of the current code.
"""
- def get_signatures_in_executor(document: Document) -> List[Signature]:
+ def get_signatures_in_executor(document: Document) -> list[Signature]:
# First, get signatures from Jedi. If we didn't found any and if
# "dictionary completion" (eval-based completion) is enabled, then
# get signatures using eval.
@@ -1043,6 +1076,7 @@
This can raise EOFError, when Control-D is pressed.
"""
+
# Capture the current input_mode in order to restore it after reset,
# for ViState.reset() sets it to InputMode.INSERT unconditionally and
# doesn't accept any arguments.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/repl.py new/ptpython-3.0.23/ptpython/repl.py
--- old/ptpython-3.0.22/ptpython/repl.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/repl.py 2023-02-22 11:27:55.000000000 +0100
@@ -7,6 +7,8 @@
embed(globals(), locals(), vi_mode=False)
"""
+from __future__ import annotations
+
import asyncio
import builtins
import os
@@ -53,7 +55,7 @@
__all__ = ["PythonRepl", "enable_deprecation_warnings", "run_config", "embed"]
-def _get_coroutine_flag() -> Optional[int]:
+def _get_coroutine_flag() -> int | None:
for k, v in COMPILER_FLAG_NAMES.items():
if v == "COROUTINE":
return k
@@ -62,7 +64,7 @@
return None
-COROUTINE_FLAG: Optional[int] = _get_coroutine_flag()
+COROUTINE_FLAG: int | None = _get_coroutine_flag()
def _has_coroutine_flag(code: types.CodeType) -> bool:
@@ -89,14 +91,15 @@
exec(code, self.get_globals(), self.get_locals())
else:
output = self.app.output
- output.write("WARNING | File not found: {}\n\n".format(path))
+ output.write(f"WARNING | File not found: {path}\n\n")
def run_and_show_expression(self, expression: str) -> None:
try:
# Eval.
try:
result = self.eval(expression)
- except KeyboardInterrupt: # KeyboardInterrupt doesn't inherit from Exception.
+ except KeyboardInterrupt:
+ # KeyboardInterrupt doesn't inherit from Exception.
raise
except SystemExit:
raise
@@ -299,7 +302,7 @@
return None
def _store_eval_result(self, result: object) -> None:
- locals: Dict[str, Any] = self.get_locals()
+ locals: dict[str, Any] = self.get_locals()
locals["_"] = locals["_%i" % self.current_statement_index] = result
def get_compiler_flags(self) -> int:
@@ -402,7 +405,7 @@
def show_result(self, result: object) -> None:
"""
- Show __repr__ for an `eval` result and print to ouptut.
+ Show __repr__ for an `eval` result and print to output.
"""
formatted_text_output = self._format_result_output(result)
@@ -523,7 +526,7 @@
flush_page()
- def create_pager_prompt(self) -> PromptSession["PagerResult"]:
+ def create_pager_prompt(self) -> PromptSession[PagerResult]:
"""
Create pager --MORE-- prompt.
"""
@@ -572,8 +575,6 @@
include_default_pygments_style=False,
output=output,
)
-
- output.write("%s\n" % e)
output.flush()
def _handle_keyboard_interrupt(self, e: KeyboardInterrupt) -> None:
@@ -652,7 +653,7 @@
# Run the config file in an empty namespace.
try:
- namespace: Dict[str, Any] = {}
+ namespace: dict[str, Any] = {}
with open(config_file, "rb") as f:
code = compile(f.read(), config_file, "exec")
@@ -671,10 +672,10 @@
def embed(
globals=None,
locals=None,
- configure: Optional[Callable[[PythonRepl], None]] = None,
+ configure: Callable[[PythonRepl], None] | None = None,
vi_mode: bool = False,
- history_filename: Optional[str] = None,
- title: Optional[str] = None,
+ history_filename: str | None = None,
+ title: str | None = None,
startup_paths=None,
patch_stdout: bool = False,
return_asyncio_coroutine: bool = False,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/signatures.py new/ptpython-3.0.23/ptpython/signatures.py
--- old/ptpython-3.0.22/ptpython/signatures.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/signatures.py 2023-02-22 11:27:55.000000000 +0100
@@ -5,6 +5,8 @@
Either with the Jedi library, or using `inspect.signature` if Jedi fails and we
can use `eval()` to evaluate the function object.
"""
+from __future__ import annotations
+
import inspect
from inspect import Signature as InspectSignature
from inspect import _ParameterKind as ParameterKind
@@ -25,8 +27,8 @@
def __init__(
self,
name: str,
- annotation: Optional[str],
- default: Optional[str],
+ annotation: str | None,
+ default: str | None,
kind: ParameterKind,
) -> None:
self.name = name
@@ -66,9 +68,9 @@
name: str,
docstring: str,
parameters: Sequence[Parameter],
- index: Optional[int] = None,
+ index: int | None = None,
returns: str = "",
- bracket_start: Tuple[int, int] = (0, 0),
+ bracket_start: tuple[int, int] = (0, 0),
) -> None:
self.name = name
self.docstring = docstring
@@ -84,7 +86,7 @@
docstring: str,
signature: InspectSignature,
index: int,
- ) -> "Signature":
+ ) -> Signature:
parameters = []
def get_annotation_name(annotation: object) -> str:
@@ -123,9 +125,7 @@
)
@classmethod
- def from_jedi_signature(
- cls, signature: "jedi.api.classes.Signature"
- ) -> "Signature":
+ def from_jedi_signature(cls, signature: jedi.api.classes.Signature) -> Signature:
parameters = []
for p in signature.params:
@@ -160,8 +160,8 @@
def get_signatures_using_jedi(
- document: Document, locals: Dict[str, Any], globals: Dict[str, Any]
-) -> List[Signature]:
+ document: Document, locals: dict[str, Any], globals: dict[str, Any]
+) -> list[Signature]:
script = get_jedi_script_from_document(document, locals, globals)
# Show signatures in help text.
@@ -195,8 +195,8 @@
def get_signatures_using_eval(
- document: Document, locals: Dict[str, Any], globals: Dict[str, Any]
-) -> List[Signature]:
+ document: Document, locals: dict[str, Any], globals: dict[str, Any]
+) -> list[Signature]:
"""
Look for the signature of the function before the cursor position without
use of Jedi. This uses a similar approach as the `DictionaryCompleter` of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/style.py new/ptpython-3.0.23/ptpython/style.py
--- old/ptpython-3.0.22/ptpython/style.py 2022-10-10 14:10:01.000000000 +0200
+++ new/ptpython-3.0.23/ptpython/style.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from typing import Dict
from prompt_toolkit.styles import BaseStyle, Style, merge_styles
@@ -8,11 +10,11 @@
__all__ = ["get_all_code_styles", "get_all_ui_styles", "generate_style"]
-def get_all_code_styles() -> Dict[str, BaseStyle]:
+def get_all_code_styles() -> dict[str, BaseStyle]:
"""
Return a mapping from style names to their classes.
"""
- result: Dict[str, BaseStyle] = {
+ result: dict[str, BaseStyle] = {
name: style_from_pygments_cls(get_style_by_name(name))
for name in get_all_styles()
}
@@ -20,7 +22,7 @@
return result
-def get_all_ui_styles() -> Dict[str, BaseStyle]:
+def get_all_ui_styles() -> dict[str, BaseStyle]:
"""
Return a dict mapping {ui_style_name -> style_dict}.
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/utils.py new/ptpython-3.0.23/ptpython/utils.py
--- old/ptpython-3.0.22/ptpython/utils.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/utils.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,6 +1,8 @@
"""
For internal use only.
"""
+from __future__ import annotations
+
import re
from typing import (
TYPE_CHECKING,
@@ -65,8 +67,8 @@
def get_jedi_script_from_document(
- document: Document, locals: Dict[str, Any], globals: Dict[str, Any]
-) -> "Interpreter":
+ document: Document, locals: dict[str, Any], globals: dict[str, Any]
+) -> Interpreter:
import jedi # We keep this import in-line, to improve start-up time.
# Importing Jedi is 'slow'.
@@ -154,7 +156,7 @@
by the Window.)
"""
- def handle_if_mouse_down(mouse_event: MouseEvent) -> "NotImplementedOrNone":
+ def handle_if_mouse_down(mouse_event: MouseEvent) -> NotImplementedOrNone:
if mouse_event.event_type == MouseEventType.MOUSE_DOWN:
return handler(mouse_event)
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython/validator.py new/ptpython-3.0.23/ptpython/validator.py
--- old/ptpython-3.0.22/ptpython/validator.py 2022-11-25 14:56:06.000000000 +0100
+++ new/ptpython-3.0.23/ptpython/validator.py 2023-02-22 11:27:55.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from typing import Callable, Optional
from prompt_toolkit.document import Document
@@ -16,7 +18,7 @@
active compiler flags.
"""
- def __init__(self, get_compiler_flags: Optional[Callable[[], int]] = None) -> None:
+ def __init__(self, get_compiler_flags: Callable[[], int] | None = None) -> None:
self.get_compiler_flags = get_compiler_flags
def validate(self, document: Document) -> None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython.egg-info/PKG-INFO new/ptpython-3.0.23/ptpython.egg-info/PKG-INFO
--- old/ptpython-3.0.22/ptpython.egg-info/PKG-INFO 2022-12-06 23:19:00.000000000 +0100
+++ new/ptpython-3.0.23/ptpython.egg-info/PKG-INFO 2023-02-22 11:52:36.000000000 +0100
@@ -1,16 +1,16 @@
Metadata-Version: 2.1
Name: ptpython
-Version: 3.0.22
+Version: 3.0.23
Summary: Python REPL build on top of prompt_toolkit
Home-page: https://github.com/prompt-toolkit/ptpython
Author: Jonathan Slenders
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python
-Requires-Python: >=3.6
+Requires-Python: >=3.7
Provides-Extra: ptipython
Provides-Extra: all
License-File: LICENSE
@@ -230,7 +230,7 @@
.. code:: python
- from ptpython.ipython.repl import embed
+ from ptpython.ipython import embed
embed(globals(), locals())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/ptpython.egg-info/requires.txt new/ptpython-3.0.23/ptpython.egg-info/requires.txt
--- old/ptpython-3.0.22/ptpython.egg-info/requires.txt 2022-12-06 23:19:00.000000000 +0100
+++ new/ptpython-3.0.23/ptpython.egg-info/requires.txt 2023-02-22 11:52:36.000000000 +0100
@@ -1,6 +1,6 @@
appdirs
jedi>=0.16.0
-prompt_toolkit<3.1.0,>=3.0.18
+prompt_toolkit<3.1.0,>=3.0.28
pygments
[:python_version < "3.8"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptpython-3.0.22/setup.py new/ptpython-3.0.23/setup.py
--- old/ptpython-3.0.22/setup.py 2022-12-06 23:18:30.000000000 +0100
+++ new/ptpython-3.0.23/setup.py 2023-02-22 11:51:33.000000000 +0100
@@ -11,7 +11,7 @@
setup(
name="ptpython",
author="Jonathan Slenders",
- version="3.0.22",
+ version="3.0.23",
url="https://github.com/prompt-toolkit/ptpython",
description="Python REPL build on top of prompt_toolkit",
long_description=long_description,
@@ -21,14 +21,14 @@
"appdirs",
"importlib_metadata;python_version<'3.8'",
"jedi>=0.16.0",
- # Use prompt_toolkit 3.0.18, because of the `in_thread` option.
- "prompt_toolkit>=3.0.18,<3.1.0",
+ # Use prompt_toolkit 3.0.28, because of cursor shape support.
+ "prompt_toolkit>=3.0.28,<3.1.0",
"pygments",
],
- python_requires=">=3.6",
+ python_requires=">=3.7",
classifiers=[
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.6",
+ "Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3 :: Only",
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-findpython for openSUSE:Factory checked in at 2023-12-11 21:51:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-findpython (Old)
and /work/SRC/openSUSE:Factory/.python-findpython.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-findpython"
Mon Dec 11 21:51:13 2023 rev:8 rq:1132417 version:0.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-findpython/python-findpython.changes 2023-06-16 16:56:05.918151457 +0200
+++ /work/SRC/openSUSE:Factory/.python-findpython.new.25432/python-findpython.changes 2023-12-11 21:51:21.969339808 +0100
@@ -1,0 +2,14 @@
+Mon Dec 11 07:18:35 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Update 0.4.1:
+ * feat: provider selector by @frostming in #20
+ * feat: add support for RyeProvider
+ * feat: Add way to filter providers by @bluss in #18
+ * feat: add register_provider function and change ALL_PROVIDERS to a map
+ * fix: don't import site-packages when running in-process scripts
+ * Make GET_VERSION_TIMEOUT settable via env vars
+ * Support allow_prereleases option
+- Add patch revert-back-to-pdm-pep517.patch:
+ * We need to use pdm-pep517, to avoid circular requirements.
+
+-------------------------------------------------------------------
Old:
----
findpython-0.2.5.tar.gz
New:
----
findpython-0.4.1.tar.gz
revert-back-to-pdm-pep517.patch
BETA DEBUG BEGIN:
New: * Support allow_prereleases option
- Add patch revert-back-to-pdm-pep517.patch:
* We need to use pdm-pep517, to avoid circular requirements.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-findpython.spec ++++++
--- /var/tmp/diff_new_pack.iwTyNt/_old 2023-12-11 21:51:22.929375430 +0100
+++ /var/tmp/diff_new_pack.iwTyNt/_new 2023-12-11 21:51:22.933375580 +0100
@@ -18,12 +18,14 @@
%{?sle15_python_module_pythons}
Name: python-findpython
-Version: 0.2.5
+Version: 0.4.1
Release: 0
Summary: Utility to find python versions on your system
License: MIT
URL: https://github.com/frostming/findpython
Source: https://files.pythonhosted.org/packages/source/f/findpython/findpython-%{ve…
+# PATCH-FIX-OPENSUSE pdm requires findpython, so we need to use pdm-pep517
+Patch0: revert-back-to-pdm-pep517.patch
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module packaging >= 20}
BuildRequires: %{python_module pdm-pep517}
++++++ findpython-0.2.5.tar.gz -> findpython-0.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/PKG-INFO new/findpython-0.4.1/PKG-INFO
--- old/findpython-0.2.5/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/findpython-0.4.1/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +1,18 @@
Metadata-Version: 2.1
Name: findpython
-Version: 0.2.5
+Version: 0.4.1
Summary: A utility to find python versions on your system
+Author-Email: Frost Ming <mianghong(a)gmail.com>
License: MIT
-Author-email: Frost Ming <mianghong(a)gmail.com>
-Requires-Python: >=3.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.10
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
Project-URL: Homepage, https://github.com/frostming/findpython
+Requires-Python: >=3.7
+Requires-Dist: packaging>=20
Description-Content-Type: text/markdown
# FindPython
@@ -69,21 +71,24 @@
In addition, FindPython provides a CLI interface to find python versions:
```
-usage: findpython [-h] [-V] [-a] [--resolve-symlink] [-v] [--no-same-file] [--no-same-python] [version_spec]
+usage: findpython [-h] [-V] [-a] [--resolve-symlink] [-v] [--no-same-file] [--no-same-python] [--providers PROVIDERS]
+ [version_spec]
-Find python files in a directory
+A utility to find python versions on your system
positional arguments:
- version_spec Python version spec or name
+ version_spec Python version spec or name
options:
- -h, --help show this help message and exit
- -V, --version show program's version number and exit
- -a, --all Show all matching python versions
- --resolve-symlink Resolve all symlinks
- -v, --verbose Verbose output
- --no-same-file Eliminate the duplicated results with the same file contents
- --no-same-python Eliminate the duplicated results with the same sys.executable
+ -h, --help show this help message and exit
+ -V, --version show program's version number and exit
+ -a, --all Show all matching python versions
+ --resolve-symlink Resolve all symlinks
+ -v, --verbose Verbose output
+ --no-same-file Eliminate the duplicated results with the same file contents
+ --no-same-python Eliminate the duplicated results with the same sys.executable
+ --providers PROVIDERS
+ Select provider(s) to use
```
## Integration
@@ -91,12 +96,12 @@
FindPython finds Python from the following places:
- `PATH` environment variable
-- pyenv
-- asdf
+- pyenv install root
+- asdf python install root
+- [rye](https://rye-up.com) toolchain install root
- `/Library/Frameworks/Python.framework/Versions` (MacOS)
-- winreg (Windows)
+- Windows registry (Windows only)
## License
FindPython is released under MIT License.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/README.md new/findpython-0.4.1/README.md
--- old/findpython-0.2.5/README.md 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/README.md 2023-12-07 05:39:09.105851000 +0100
@@ -54,21 +54,24 @@
In addition, FindPython provides a CLI interface to find python versions:
```
-usage: findpython [-h] [-V] [-a] [--resolve-symlink] [-v] [--no-same-file] [--no-same-python] [version_spec]
+usage: findpython [-h] [-V] [-a] [--resolve-symlink] [-v] [--no-same-file] [--no-same-python] [--providers PROVIDERS]
+ [version_spec]
-Find python files in a directory
+A utility to find python versions on your system
positional arguments:
- version_spec Python version spec or name
+ version_spec Python version spec or name
options:
- -h, --help show this help message and exit
- -V, --version show program's version number and exit
- -a, --all Show all matching python versions
- --resolve-symlink Resolve all symlinks
- -v, --verbose Verbose output
- --no-same-file Eliminate the duplicated results with the same file contents
- --no-same-python Eliminate the duplicated results with the same sys.executable
+ -h, --help show this help message and exit
+ -V, --version show program's version number and exit
+ -a, --all Show all matching python versions
+ --resolve-symlink Resolve all symlinks
+ -v, --verbose Verbose output
+ --no-same-file Eliminate the duplicated results with the same file contents
+ --no-same-python Eliminate the duplicated results with the same sys.executable
+ --providers PROVIDERS
+ Select provider(s) to use
```
## Integration
@@ -76,10 +79,11 @@
FindPython finds Python from the following places:
- `PATH` environment variable
-- pyenv
-- asdf
+- pyenv install root
+- asdf python install root
+- [rye](https://rye-up.com) toolchain install root
- `/Library/Frameworks/Python.framework/Versions` (MacOS)
-- winreg (Windows)
+- Windows registry (Windows only)
## License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/pyproject.toml new/findpython-0.4.1/pyproject.toml
--- old/findpython-0.2.5/pyproject.toml 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/pyproject.toml 2023-12-07 05:39:20.101811400 +0100
@@ -16,8 +16,9 @@
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
]
-version = "0.2.5"
+version = "0.4.1"
[project.license]
text = "MIT"
@@ -46,16 +47,40 @@
include = "\\.pyi?$"
exclude = "/(\n \\.eggs\n | \\.git\n | \\.hg\n | \\.mypy_cache\n | \\.tox\n | \\.venv\n | build\n | dist\n | src/pythonfinder/_vendor\n)\n"
-[tool.isort]
-profile = "black"
-atomic = true
-filter_files = true
-known_first_party = [
+[tool.ruff]
+line-length = 90
+select = [
+ "B",
+ "C4",
+ "E",
+ "F",
+ "PGH",
+ "RUF",
+ "W",
+ "YTT",
+]
+extend-ignore = [
+ "B018",
+ "B019",
+]
+src = [
+ "src",
+]
+exclude = [
+ "tests/fixtures",
+]
+target-version = "py37"
+
+[tool.ruff.mccabe]
+max-complexity = 10
+
+[tool.ruff.isort]
+known-first-party = [
"findpython",
]
[build-system]
requires = [
- "pdm-pep517",
+ "pdm-backend",
]
-build-backend = "pdm.pep517.api"
+build-backend = "pdm.backend"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/__init__.py new/findpython-0.4.1/src/findpython/__init__.py
--- old/findpython-0.2.5/src/findpython/__init__.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/__init__.py 2023-12-07 05:39:09.105851000 +0100
@@ -5,7 +5,11 @@
"""
from __future__ import annotations
+from typing import TYPE_CHECKING, TypeVar
+
from findpython.finder import Finder
+from findpython.providers import ALL_PROVIDERS
+from findpython.providers.base import BaseProvider
from findpython.python import PythonVersion
@@ -41,4 +45,18 @@
return Finder().find_all(*args, **kwargs)
-__all__ = ["Finder", "find", "find_all", "PythonVersion"]
+if TYPE_CHECKING:
+ P = TypeVar("P", bound=type[BaseProvider])
+
+
+def register_provider(provider: P) -> P:
+ """
+ Register a provider to use when finding python versions.
+
+ :param provider: A provider class
+ """
+ ALL_PROVIDERS[provider.name()] = provider
+ return provider
+
+
+__all__ = ["Finder", "find", "find_all", "PythonVersion", "register_provider"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/__main__.py new/findpython-0.4.1/src/findpython/__main__.py
--- old/findpython-0.2.5/src/findpython/__main__.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/__main__.py 2023-12-07 05:39:09.105851000 +0100
@@ -3,7 +3,6 @@
import logging
import sys
from argparse import ArgumentParser
-from typing import List
from findpython import Finder
from findpython.__version__ import __version__
@@ -21,11 +20,17 @@
logger.setLevel(level)
-def cli(argv: List[str] | None = None) -> int:
+def split_str(value: str) -> list[str]:
+ return value.split(",")
+
+
+def cli(argv: list[str] | None = None) -> int:
"""
Command line interface for findpython.
"""
- parser = ArgumentParser("findpython", description="Find python files in a directory")
+ parser = ArgumentParser(
+ "findpython", description="A utility to find python versions on your system"
+ )
parser.add_argument(
"-V", "--version", action="version", version=f"%(prog)s {__version__}"
)
@@ -46,17 +51,27 @@
action="store_true",
help="Eliminate the duplicated results with the same sys.executable",
)
+ parser.add_argument(
+ "--pre", "--prereleases", action="store_true", help="Allow prereleases"
+ )
+ parser.add_argument("--providers", type=split_str, help="Select provider(s) to use")
parser.add_argument("version_spec", nargs="?", help="Python version spec or name")
args = parser.parse_args(argv)
if args.verbose:
setup_logger()
- finder = Finder(resolve_symlinks=args.resolve_symlink, no_same_file=args.no_same_file)
+
+ finder = Finder(
+ resolve_symlinks=args.resolve_symlink,
+ no_same_file=args.no_same_file,
+ selected_providers=args.providers,
+ )
if args.all:
find_func = finder.find_all
else:
- find_func = finder.find
- python_versions = find_func(args.version_spec)
+ find_func = finder.find # type: ignore[assignment]
+
+ python_versions = find_func(args.version_spec, allow_prereleases=args.pre)
if not python_versions:
print("No matching python version found", file=sys.stderr)
return 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/__version__.py new/findpython-0.4.1/src/findpython/__version__.py
--- old/findpython-0.2.5/src/findpython/__version__.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/__version__.py 2023-12-07 05:39:20.101811400 +0100
@@ -1 +1 @@
-__version__ = "0.0.0"
+__version__ = "0.4.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/finder.py new/findpython-0.4.1/src/findpython/finder.py
--- old/findpython-0.2.5/src/findpython/finder.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/finder.py 2023-12-07 05:39:09.105851000 +0100
@@ -24,16 +24,22 @@
resolve_symlinks: bool = False,
no_same_file: bool = False,
no_same_interpreter: bool = False,
+ selected_providers: list[str] | None = None,
) -> None:
self.resolve_symlinks = resolve_symlinks
self.no_same_file = no_same_file
self.no_same_interpreter = no_same_interpreter
+ self._providers = self.setup_providers(selected_providers)
- self._providers = self.setup_providers()
-
- def setup_providers(self) -> list[BaseProvider]:
+ def setup_providers(
+ self,
+ selected_providers: list[str] | None = None,
+ ) -> list[BaseProvider]:
providers: list[BaseProvider] = []
- for provider_class in ALL_PROVIDERS:
+ allowed_providers = ALL_PROVIDERS
+ if selected_providers is not None:
+ allowed_providers = {name: ALL_PROVIDERS[name] for name in selected_providers}
+ for provider_class in allowed_providers.values():
provider = provider_class.create()
if provider is None:
logger.debug("Provider %s is not available", provider_class.__name__)
@@ -59,6 +65,7 @@
dev: bool | None = None,
name: str | None = None,
architecture: str | None = None,
+ allow_prereleases: bool = False,
) -> list[PythonVersion]:
"""
Return all Python versions matching the given version criteria.
@@ -70,8 +77,13 @@
:param dev: Whether the python is a devrelease.
:param name: The name of the python.
:param architecture: The architecture of the python.
+ :param allow_prereleases: Whether to allow prereleases.
:return: a list of PythonVersion objects
"""
+ if allow_prereleases and (pre is False or dev is False):
+ raise ValueError(
+ "If allow_prereleases is True, pre and dev must not be False."
+ )
if isinstance(major, str):
if any(v is not None for v in (minor, patch, pre, dev, name)):
raise ValueError(
@@ -85,6 +97,9 @@
patch = version_dict["patch"]
pre = version_dict["pre"]
dev = version_dict["dev"]
+ if allow_prereleases:
+ pre = pre or None
+ dev = dev or None
architecture = version_dict["architecture"]
else:
name, major = major, None
@@ -112,6 +127,7 @@
dev: bool | None = None,
name: str | None = None,
architecture: str | None = None,
+ allow_prereleases: bool = False,
) -> PythonVersion | None:
"""
Return the Python version that is closest to the given version criteria.
@@ -123,10 +139,15 @@
:param dev: Whether the python is a devrelease.
:param name: The name of the python.
:param architecture: The architecture of the python.
+ :param allow_prereleases: Whether to allow prereleases.
:return: a Python object or None
"""
return next(
- iter(self.find_all(major, minor, patch, pre, dev, name, architecture)),
+ iter(
+ self.find_all(
+ major, minor, patch, pre, dev, name, architecture, allow_prereleases
+ )
+ ),
None,
)
@@ -149,7 +170,7 @@
return python_version.real_path.as_posix()
return python_version.executable.as_posix()
- def sort_key(python_version: PythonVersion) -> tuple[int, int]:
+ def sort_key(python_version: PythonVersion) -> tuple[int, int, int]:
return (
python_version.executable.is_symlink(),
get_suffix_preference(python_version.name),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/pep514tools/__init__.py new/findpython-0.4.1/src/findpython/pep514tools/__init__.py
--- old/findpython-0.2.5/src/findpython/pep514tools/__init__.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/pep514tools/__init__.py 2023-12-07 05:39:09.105851000 +0100
@@ -8,6 +8,6 @@
__author__ = "Steve Dower <steve.dower(a)python.org>"
__version__ = "0.1.0"
-from findpython.pep514tools.environment import findall, find, findone
+from findpython.pep514tools.environment import find, findall, findone
__all__ = ["findall", "find", "findone"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/pep514tools/_registry.py new/findpython-0.4.1/src/findpython/pep514tools/_registry.py
--- old/findpython-0.2.5/src/findpython/pep514tools/_registry.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/pep514tools/_registry.py 2023-12-07 05:39:09.105851000 +0100
@@ -12,8 +12,8 @@
"REGISTRY_SOURCE_CU",
]
-from itertools import count
import re
+from itertools import count
try:
import winreg
@@ -86,10 +86,8 @@
key = self._attr_to_key(attr)
try:
return self._d[key]
- except KeyError:
- pass
except Exception:
- raise AttributeError(attr)
+ pass
raise AttributeError(attr)
def __setattr__(self, attr, value):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/pep514tools/environment.py new/findpython-0.4.1/src/findpython/pep514tools/environment.py
--- old/findpython-0.2.5/src/findpython/pep514tools/environment.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/pep514tools/environment.py 2023-12-07 05:39:09.105851000 +0100
@@ -7,13 +7,14 @@
__all__ = ["Environment", "findall", "find", "findone"]
+import sys
+
from findpython.pep514tools._registry import (
- open_source,
+ REGISTRY_SOURCE_CU,
REGISTRY_SOURCE_LM,
REGISTRY_SOURCE_LM_WOW6432,
- REGISTRY_SOURCE_CU,
+ open_source,
)
-import sys
# These tags are treated specially when the Company is 'PythonCore'
_PYTHONCORE_COMPATIBILITY_TAGS = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/__init__.py new/findpython-0.4.1/src/findpython/providers/__init__.py
--- old/findpython-0.2.5/src/findpython/providers/__init__.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/providers/__init__.py 2023-12-07 05:39:09.109851000 +0100
@@ -1,25 +1,29 @@
"""
This package contains all the providers for the pythonfinder module.
"""
-from typing import List, Type
+from __future__ import annotations
from findpython.providers.asdf import AsdfProvider
from findpython.providers.base import BaseProvider
from findpython.providers.macos import MacOSProvider
from findpython.providers.path import PathProvider
-from findpython.providers.pep514 import Pep514Provider
from findpython.providers.pyenv import PyenvProvider
+from findpython.providers.rye import RyeProvider
+from findpython.providers.winreg import WinregProvider
-ALL_PROVIDERS: List[Type[BaseProvider]] = [
+_providers: list[type[BaseProvider]] = [
# General:
PathProvider,
# Tool Specific:
AsdfProvider,
PyenvProvider,
+ RyeProvider,
# Windows only:
- Pep514Provider,
+ WinregProvider,
# MacOS only:
MacOSProvider,
]
-__all__ = [cls.__name__ for cls in ALL_PROVIDERS] + ["ALL_PROVIDERS", "BaseProvider"]
+ALL_PROVIDERS = {cls.name(): cls for cls in _providers}
+
+__all__ = [cls.__name__ for cls in _providers] + ["ALL_PROVIDERS", "BaseProvider"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/asdf.py new/findpython-0.4.1/src/findpython/providers/asdf.py
--- old/findpython-0.2.5/src/findpython/providers/asdf.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/providers/asdf.py 2023-12-07 05:39:09.109851000 +0100
@@ -1,10 +1,10 @@
from __future__ import annotations
import os
+import typing as t
from pathlib import Path
-from typing import Iterable, Type
-from findpython.providers.base import BaseProvider, T
+from findpython.providers.base import BaseProvider
from findpython.python import PythonVersion
@@ -15,7 +15,7 @@
self.root = root
@classmethod
- def create(cls: Type[T]) -> T | None:
+ def create(cls) -> t.Self | None:
asdf_root = os.path.expanduser(
os.path.expandvars(os.getenv("ASDF_DATA_DIR", "~/.asdf"))
)
@@ -23,7 +23,7 @@
return None
return cls(Path(asdf_root))
- def find_pythons(self) -> Iterable[PythonVersion]:
+ def find_pythons(self) -> t.Iterable[PythonVersion]:
python_dir = self.root / "installs/python"
if not python_dir.exists():
return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/base.py new/findpython-0.4.1/src/findpython/providers/base.py
--- old/findpython-0.2.5/src/findpython/providers/base.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/providers/base.py 2023-12-07 05:39:09.109851000 +0100
@@ -2,36 +2,46 @@
import abc
import logging
+import typing as t
from pathlib import Path
-from typing import Callable, Iterable, Type, TypeVar
from findpython.python import PythonVersion
from findpython.utils import path_is_python, safe_iter_dir
-T = TypeVar("T", bound="BaseProvider")
logger = logging.getLogger("findpython")
class BaseProvider(metaclass=abc.ABCMeta):
"""The base class for python providers"""
- version_maker: Callable[..., PythonVersion] = PythonVersion
+ version_maker: t.Callable[..., PythonVersion] = PythonVersion
+
+ @classmethod
+ def name(cls) -> str:
+ """Configuration name for this provider.
+
+ By default, the lowercase class name with 'provider' removed.
+ """
+ self_name = cls.__name__.lower()
+ if self_name.endswith("provider"):
+ self_name = self_name[: -len("provider")]
+ return self_name
@classmethod
@abc.abstractmethod
- def create(cls: Type[T]) -> T | None:
+ def create(cls) -> t.Self | None:
"""Return an instance of the provider or None if it is not available"""
pass
@abc.abstractmethod
- def find_pythons(self) -> Iterable[PythonVersion]:
+ def find_pythons(self) -> t.Iterable[PythonVersion]:
"""Return the python versions found by the provider"""
pass
@classmethod
def find_pythons_from_path(
cls, path: Path, as_interpreter: bool = False
- ) -> Iterable[PythonVersion]:
+ ) -> t.Iterable[PythonVersion]:
"""A general helper method to return pythons under a given path.
:param path: The path to search for pythons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/macos.py new/findpython-0.4.1/src/findpython/providers/macos.py
--- old/findpython-0.2.5/src/findpython/providers/macos.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/providers/macos.py 2023-12-07 05:39:09.109851000 +0100
@@ -1,9 +1,9 @@
from __future__ import annotations
+import typing as t
from pathlib import Path
-from typing import Iterable, Type
-from findpython.providers.base import BaseProvider, T
+from findpython.providers.base import BaseProvider
from findpython.python import PythonVersion
@@ -15,12 +15,12 @@
INSTALL_BASE = Path("/Library/Frameworks/Python.framework/Versions/")
@classmethod
- def create(cls: Type[T]) -> T | None:
+ def create(cls) -> t.Self | None:
if not cls.INSTALL_BASE.exists():
return None
return cls()
- def find_pythons(self) -> Iterable[PythonVersion]:
+ def find_pythons(self) -> t.Iterable[PythonVersion]:
for version in self.INSTALL_BASE.iterdir():
if version.is_dir():
yield from self.find_pythons_from_path(version / "bin", True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/path.py new/findpython-0.4.1/src/findpython/providers/path.py
--- old/findpython-0.2.5/src/findpython/providers/path.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/providers/path.py 2023-12-07 05:39:09.109851000 +0100
@@ -1,11 +1,11 @@
from __future__ import annotations
import os
+import typing as t
from dataclasses import dataclass
from pathlib import Path
-from typing import Iterable, Type
-from findpython.providers.base import BaseProvider, T
+from findpython.providers.base import BaseProvider
from findpython.python import PythonVersion
@@ -16,10 +16,10 @@
paths: list[Path]
@classmethod
- def create(cls: Type[T]) -> T | None:
+ def create(cls) -> t.Self | None:
paths = [Path(path) for path in os.getenv("PATH", "").split(os.pathsep) if path]
return cls(paths)
- def find_pythons(self) -> Iterable[PythonVersion]:
+ def find_pythons(self) -> t.Iterable[PythonVersion]:
for path in self.paths:
yield from self.find_pythons_from_path(path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/pep514.py new/findpython-0.4.1/src/findpython/providers/pep514.py
--- old/findpython-0.2.5/src/findpython/providers/pep514.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/providers/pep514.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,42 +0,0 @@
-from __future__ import annotations
-
-import platform
-from pathlib import Path
-from typing import Iterable, Type
-
-from findpython.providers.base import BaseProvider, T
-from findpython.python import PythonVersion
-from findpython.utils import WINDOWS
-
-SYS_ARCHITECTURE = platform.architecture()[0]
-
-
-class Pep514Provider(BaseProvider):
- """A provider that finds Python from the winreg."""
-
- @classmethod
- def create(cls: Type[T]) -> T | None:
- if not WINDOWS:
- return None
- return cls()
-
- def find_pythons(self) -> Iterable[PythonVersion]:
- from findpython.pep514tools import findall as pep514_findall
-
- env_versions = pep514_findall()
- for version in env_versions:
- install_path = getattr(version.info, "install_path", None)
- if install_path is None:
- continue
- try:
- path = Path(install_path.executable_path)
- except AttributeError:
- continue
- if path.exists():
- py_ver = self.version_maker(
- path,
- None,
- getattr(version.info, "sys_architecture", SYS_ARCHITECTURE),
- path,
- )
- yield py_ver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/pyenv.py new/findpython-0.4.1/src/findpython/providers/pyenv.py
--- old/findpython-0.2.5/src/findpython/providers/pyenv.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/providers/pyenv.py 2023-12-07 05:39:09.109851000 +0100
@@ -1,10 +1,10 @@
from __future__ import annotations
import os
+import typing as t
from pathlib import Path
-from typing import Iterable, Type
-from findpython.providers.base import BaseProvider, T
+from findpython.providers.base import BaseProvider
from findpython.python import PythonVersion
@@ -15,7 +15,7 @@
self.root = root
@classmethod
- def create(cls: Type[T]) -> T | None:
+ def create(cls) -> t.Self | None:
pyenv_root = os.path.expanduser(
os.path.expandvars(os.getenv("PYENV_ROOT", "~/.pyenv"))
)
@@ -23,7 +23,7 @@
return None
return cls(Path(pyenv_root))
- def find_pythons(self) -> Iterable[PythonVersion]:
+ def find_pythons(self) -> t.Iterable[PythonVersion]:
versions_path = self.root.joinpath("versions")
if versions_path.exists():
for version in versions_path.iterdir():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/rye.py new/findpython-0.4.1/src/findpython/providers/rye.py
--- old/findpython-0.2.5/src/findpython/providers/rye.py 1970-01-01 01:00:00.000000000 +0100
+++ new/findpython-0.4.1/src/findpython/providers/rye.py 2023-12-07 05:39:09.109851000 +0100
@@ -0,0 +1,33 @@
+from __future__ import annotations
+
+import shutil
+import typing as t
+from pathlib import Path
+
+from findpython.providers.base import BaseProvider
+from findpython.python import PythonVersion
+from findpython.utils import WINDOWS, safe_iter_dir
+
+
+class RyeProvider(BaseProvider):
+ def __init__(self) -> None:
+ self.root = Path.home() / ".rye"
+ self.rye_bin = shutil.which("rye")
+
+ @classmethod
+ def create(cls) -> t.Self | None:
+ return cls()
+
+ def find_pythons(self) -> t.Iterable[PythonVersion]:
+ py_root = self.root / "py"
+ if not py_root.exists():
+ return
+ for child in safe_iter_dir(py_root):
+ if child.is_symlink(): # registered an existing python
+ continue
+ if WINDOWS:
+ python_bin = child / "install/python.exe"
+ else:
+ python_bin = child / "install/bin/python3"
+ if python_bin.exists():
+ yield self.version_maker(python_bin, _interpreter=python_bin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/providers/winreg.py new/findpython-0.4.1/src/findpython/providers/winreg.py
--- old/findpython-0.2.5/src/findpython/providers/winreg.py 1970-01-01 01:00:00.000000000 +0100
+++ new/findpython-0.4.1/src/findpython/providers/winreg.py 2023-12-07 05:39:09.109851000 +0100
@@ -0,0 +1,42 @@
+from __future__ import annotations
+
+import platform
+import typing as t
+from pathlib import Path
+
+from findpython.providers.base import BaseProvider
+from findpython.python import PythonVersion
+from findpython.utils import WINDOWS
+
+SYS_ARCHITECTURE = platform.architecture()[0]
+
+
+class WinregProvider(BaseProvider):
+ """A provider that finds Python from the winreg."""
+
+ @classmethod
+ def create(cls) -> t.Self | None:
+ if not WINDOWS:
+ return None
+ return cls()
+
+ def find_pythons(self) -> t.Iterable[PythonVersion]:
+ from findpython.pep514tools import findall as pep514_findall
+
+ env_versions = pep514_findall()
+ for version in env_versions:
+ install_path = getattr(version.info, "install_path", None)
+ if install_path is None:
+ continue
+ try:
+ path = Path(install_path.executable_path)
+ except AttributeError:
+ continue
+ if path.exists():
+ py_ver = self.version_maker(
+ path,
+ None,
+ getattr(version.info, "sys_architecture", SYS_ARCHITECTURE),
+ path,
+ )
+ yield py_ver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/python.py new/findpython-0.4.1/src/findpython/python.py
--- old/findpython-0.2.5/src/findpython/python.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/python.py 2023-12-07 05:39:09.109851000 +0100
@@ -2,6 +2,7 @@
import dataclasses as dc
import logging
+import os
import subprocess
from functools import lru_cache
from pathlib import Path
@@ -11,7 +12,22 @@
from findpython.utils import get_binary_hash
logger = logging.getLogger("findpython")
-GET_VERSION_TIMEOUT = 5
+GET_VERSION_TIMEOUT = float(os.environ.get("FINDPYTHON_GET_VERSION_TIMEOUT", 5))
+
+
+@lru_cache(maxsize=1024)
+def _run_script(executable: str, script: str, timeout: float | None = None) -> str:
+ """Run a script and return the output."""
+ command = [executable, "-EsSc", script]
+ logger.debug("Running script: %s", command)
+ return subprocess.run(
+ command,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.DEVNULL,
+ timeout=timeout,
+ check=True,
+ text=True,
+ ).stdout
@dc.dataclass
@@ -161,7 +177,9 @@
def _get_version(self) -> Version:
"""Get the version of the python."""
script = "import platform; print(platform.python_version())"
- version = self._run_script(script, timeout=GET_VERSION_TIMEOUT).strip()
+ version = _run_script(
+ str(self.executable), script, timeout=GET_VERSION_TIMEOUT
+ ).strip()
# Dev builds may produce version like `3.11.0+` and packaging.version
# will reject it. Here we just remove the part after `+`
# since it isn't critical for version comparison.
@@ -170,25 +188,11 @@
def _get_architecture(self) -> str:
script = "import platform; print(platform.architecture()[0])"
- return self._run_script(script).strip()
+ return _run_script(str(self.executable), script).strip()
def _get_interpreter(self) -> str:
script = "import sys; print(sys.executable)"
- return self._run_script(script).strip()
-
- @lru_cache(maxsize=1024)
- def _run_script(self, script: str, timeout: float | None = None) -> str:
- """Run a script and return the output."""
- command = [self.executable.as_posix(), "-c", script]
- logger.debug("Running script: %s", command)
- return subprocess.run(
- command,
- stdout=subprocess.PIPE,
- stderr=subprocess.DEVNULL,
- timeout=timeout,
- check=True,
- text=True,
- ).stdout
+ return _run_script(str(self.executable), script).strip()
def __lt__(self, other: PythonVersion) -> bool:
"""Sort by the version, then by length of the executable path."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/src/findpython/utils.py new/findpython-0.4.1/src/findpython/utils.py
--- old/findpython-0.2.5/src/findpython/utils.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/src/findpython/utils.py 2023-12-07 05:39:09.109851000 +0100
@@ -7,7 +7,10 @@
import sys
from functools import lru_cache
from pathlib import Path
-from typing import Generator
+from typing import TYPE_CHECKING, cast
+
+if TYPE_CHECKING:
+ from typing import Generator, Sequence, TypedDict
VERSION_RE = re.compile(
r"(?P<major>\d+)(?:\.(?P<minor>\d+)(?:\.(?P<patch>[0-9]+))?)?\.?"
@@ -30,7 +33,7 @@
"micropython",
)
if WINDOWS:
- KNOWN_EXTS = (".exe", "", ".py", ".bat")
+ KNOWN_EXTS: Sequence[str] = (".exe", "", ".py", ".bat")
else:
KNOWN_EXTS = ("", ".sh", ".bash", ".csh", ".zsh", ".fish", ".py")
PY_MATCH_STR = (
@@ -117,7 +120,18 @@
return hasher.hexdigest()
-def parse_major(version: str) -> dict[str, int | bool | None] | None:
+if TYPE_CHECKING:
+
+ class VersionDict(TypedDict):
+ pre: bool
+ dev: bool
+ major: int | None
+ minor: int | None
+ patch: int | None
+ architecture: str | None
+
+
+def parse_major(version: str) -> VersionDict | None:
"""Parse the version dict from the version string"""
match = VERSION_RE.match(version)
if not match:
@@ -130,7 +144,7 @@
rv[int_values] = int(rv[int_values])
if rv["architecture"]:
rv["architecture"] = f"{rv['architecture']}bit"
- return rv
+ return cast("VersionDict", rv)
def get_suffix_preference(name: str) -> int:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/tests/conftest.py new/findpython-0.4.1/tests/conftest.py
--- old/findpython-0.2.5/tests/conftest.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/tests/conftest.py 2023-12-07 05:39:09.109851000 +0100
@@ -9,7 +9,7 @@
class _MockRegistry:
def __init__(self) -> None:
- self.versions = {}
+ self.versions: dict[Path, PythonVersion] = {}
def add_python(
self,
@@ -51,7 +51,8 @@
monkeypatch.setattr(
"findpython.providers.base.BaseProvider.version_maker", mocked.version_maker
)
- ALL_PROVIDERS[:] = [PathProvider]
+ ALL_PROVIDERS.clear()
+ ALL_PROVIDERS["path"] = PathProvider
monkeypatch.setenv("PATH", str(tmp_path))
return mocked
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/tests/test_finder.py new/findpython-0.4.1/tests/test_finder.py
--- old/findpython-0.2.5/tests/test_finder.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/tests/test_finder.py 2023-12-07 05:39:09.109851000 +0100
@@ -4,8 +4,7 @@
import pytest
from packaging.version import Version
-from findpython import Finder
-from findpython.providers import ALL_PROVIDERS
+from findpython import Finder, register_provider
from findpython.providers.pyenv import PyenvProvider
@@ -117,7 +116,7 @@
def test_find_python_from_pyenv(mocked_python, tmp_path, monkeypatch):
- ALL_PROVIDERS.append(PyenvProvider)
+ register_provider(PyenvProvider)
python = mocked_python.add_python(
tmp_path / ".pyenv/versions/3.8/bin/python", "3.8.0"
)
@@ -128,7 +127,7 @@
def test_find_python_skips_empty_pyenv(mocked_python, tmp_path, monkeypatch):
- ALL_PROVIDERS.append(PyenvProvider)
+ register_provider(PyenvProvider)
pyenv_path = Path(tmp_path / ".pyenv")
pyenv_path.mkdir()
monkeypatch.setenv("PYENV_ROOT", str(pyenv_path))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/tests/test_posix.py new/findpython-0.4.1/tests/test_posix.py
--- old/findpython-0.2.5/tests/test_posix.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/tests/test_posix.py 2023-12-07 05:39:09.109851000 +0100
@@ -4,9 +4,11 @@
import pytest
+from findpython import register_provider
from findpython.finder import Finder
-from findpython.providers import ALL_PROVIDERS
from findpython.providers.asdf import AsdfProvider
+from findpython.providers.pyenv import PyenvProvider
+from findpython.providers.rye import RyeProvider
if sys.platform == "win32":
pytest.skip("Skip POSIX tests on Windows", allow_module_level=True)
@@ -23,7 +25,7 @@
def test_find_python_from_asdf(mocked_python, tmp_path, monkeypatch):
- ALL_PROVIDERS.append(AsdfProvider)
+ register_provider(AsdfProvider)
python = mocked_python.add_python(
tmp_path / ".asdf/installs/python/3.8/bin/python", "3.8.0"
)
@@ -43,3 +45,45 @@
assert python not in [version.executable for version in all_pythons]
finally:
python.chmod(0o744)
+
+
+def test_find_python_from_provider(mocked_python, tmp_path, monkeypatch):
+ register_provider(AsdfProvider)
+ register_provider(PyenvProvider)
+ python38 = mocked_python.add_python(
+ tmp_path / ".asdf/installs/python/3.8/bin/python", "3.8.0"
+ )
+ python381 = mocked_python.add_python(
+ tmp_path / ".pyenv/versions/3.8.1/bin/python", "3.8.1"
+ )
+ python382 = mocked_python.add_python(
+ tmp_path / ".asdf/installs/python/3.8.2/bin/python", "3.8.2"
+ )
+ monkeypatch.setenv("ASDF_DATA_DIR", str(tmp_path / ".asdf"))
+ monkeypatch.setenv("PYENV_ROOT", str(tmp_path / ".pyenv"))
+
+ pythons = Finder(selected_providers=["pyenv", "asdf"]).find_all(3, 8)
+ assert len(pythons) == 3
+ assert python38 in pythons
+ assert python381 in pythons
+ assert python382 in pythons
+
+ asdf_pythons = Finder(selected_providers=["asdf"]).find_all(3, 8)
+ assert len(asdf_pythons) == 2
+ assert python38 in asdf_pythons
+ assert python382 in asdf_pythons
+
+ pyenv_pythons = Finder(selected_providers=["pyenv"]).find_all(3, 8)
+ assert len(pyenv_pythons) == 1
+ assert python381 in pyenv_pythons
+
+
+def test_find_python_from_rye_provider(mocked_python, tmp_path, monkeypatch):
+ python310 = mocked_python.add_python(
+ tmp_path / ".rye/py/cpython(a)3.10.9/install/bin/python3", "3.10.9"
+ )
+ monkeypatch.setenv("HOME", str(tmp_path))
+
+ register_provider(RyeProvider)
+ pythons = Finder(selected_providers=["rye"]).find_all(3, 10)
+ assert python310 in pythons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/findpython-0.2.5/tests/test_utils.py new/findpython-0.4.1/tests/test_utils.py
--- old/findpython-0.2.5/tests/test_utils.py 2023-05-10 10:27:49.053817000 +0200
+++ new/findpython-0.4.1/tests/test_utils.py 2023-12-07 05:39:09.109851000 +0100
@@ -1,6 +1,6 @@
-from findpython.utils import WINDOWS, looks_like_python
import pytest
+from findpython.utils import WINDOWS, looks_like_python
matrix = [
("python", True),
++++++ revert-back-to-pdm-pep517.patch ++++++
Index: findpython-0.4.1/pyproject.toml
===================================================================
--- findpython-0.4.1.orig/pyproject.toml
+++ findpython-0.4.1/pyproject.toml
@@ -81,6 +81,6 @@ known-first-party = [
[build-system]
requires = [
- "pdm-backend",
+ "pdm-pep517",
]
-build-backend = "pdm.backend"
+build-backend = "pdm.pep517.api"
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-11 21:51:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nvmetcli (Old)
and /work/SRC/openSUSE:Factory/.nvmetcli.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvmetcli"
Mon Dec 11 21:51:12 2023 rev:15 rq:1132420 version:0.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/nvmetcli/nvmetcli.changes 2023-12-06 23:47:02.572644026 +0100
+++ /work/SRC/openSUSE:Factory/.nvmetcli.new.25432/nvmetcli.changes 2023-12-11 21:51:21.065306262 +0100
@@ -1,0 +2,10 @@
+Mon Dec 11 07:24:26 UTC 2023 - Daniel Wagner <daniel.wagner(a)suse.com>
+
+- update old changelog entry so it mention that a patch has been removed
+
+-------------------------------------------------------------------
+Fri Dec 8 15:17:30 UTC 2023 - Daniel Wagner <daniel.wagner(a)suse.com>
+
+- add old changelog entry to changelog
+
+-------------------------------------------------------------------
@@ -27,0 +38 @@
+- remove nvmetcli-ANA-configuration-support.patch
@@ -54,0 +66,6 @@
+
+-------------------------------------------------------------------
+Fri Mar 29 12:45:17 CET 2019 - hare(a)suse.de
+
+- Add ANA support (bsc#1130981)
+ * nvmetcli-ANA-configuration-support.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package crmsh for openSUSE:Factory checked in at 2023-12-11 21:51:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crmsh (Old)
and /work/SRC/openSUSE:Factory/.crmsh.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crmsh"
Mon Dec 11 21:51:03 2023 rev:314 rq:1132388 version:4.6.0+20231211.4b74412a
Changes:
--------
--- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes 2023-12-07 19:12:55.088820500 +0100
+++ /work/SRC/openSUSE:Factory/.crmsh.new.25432/crmsh.changes 2023-12-11 21:51:15.809111225 +0100
@@ -1,0 +2,17 @@
+Mon Dec 11 03:00:33 UTC 2023 - XLiang(a)suse.com
+
+- Update to version 4.6.0+20231211.4b74412a:
+ * Fix: scripts.health: call `setup_logging()` before importing crmsh.reprot.utils
+ * Dev: unittest: adjuest unit tests for previous changes
+ * Dev: behave: adjust regression tests for previous changes
+ * Dev: log: save backtrace of ValueError in logfile and suppress it in console
+ * Refactor: log: use levelno instead levelname to filter logs
+ * Refactor: log: implement lineno in Logger instead of handler
+ * Refactor: log: remove FileCustomFormatter
+ * Refactor: log: remove ConsoleReportFormatter
+ * Refactor: log: add LeveledFormatter to use different formats for different log levels
+ * Refactor: log: unused code removal
+ * Refactor: log: refactor DEBUG2 into a standard Logger interface
+ * Refactor: log: refactor ConsoleCustomFormatter
+
+-------------------------------------------------------------------
Old:
----
crmsh-4.6.0+20231207.89c74e6c.tar.bz2
New:
----
crmsh-4.6.0+20231211.4b74412a.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crmsh.spec ++++++
--- /var/tmp/diff_new_pack.kVcgJQ/_old 2023-12-11 21:51:16.369132005 +0100
+++ /var/tmp/diff_new_pack.kVcgJQ/_new 2023-12-11 21:51:16.373132154 +0100
@@ -36,7 +36,7 @@
Summary: High Availability cluster command-line interface
License: GPL-2.0-or-later
Group: %{pkg_group}
-Version: 4.6.0+20231207.89c74e6c
+Version: 4.6.0+20231211.4b74412a
Release: 0
URL: http://crmsh.github.io
Source0: %{name}-%{version}.tar.bz2
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.kVcgJQ/_old 2023-12-11 21:51:16.409133489 +0100
+++ /var/tmp/diff_new_pack.kVcgJQ/_new 2023-12-11 21:51:16.409133489 +0100
@@ -9,7 +9,7 @@
</service>
<service name="tar_scm">
<param name="url">https://github.com/ClusterLabs/crmsh.git</param>
- <param name="changesrevision">89aab78af02c02a04ef9bc99be3386825bda2ae5</param>
+ <param name="changesrevision">a23bea64548038b55b3650ae73cb3b88f025ad68</param>
</service>
</servicedata>
(No newline at EOF)
++++++ crmsh-4.6.0+20231207.89c74e6c.tar.bz2 -> crmsh-4.6.0+20231211.4b74412a.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/crmsh/log.py new/crmsh-4.6.0+20231211.4b74412a/crmsh/log.py
--- old/crmsh-4.6.0+20231207.89c74e6c/crmsh/log.py 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/crmsh/log.py 2023-12-11 03:36:33.000000000 +0100
@@ -6,15 +6,73 @@
import shutil
import logging
import logging.config
+import typing
from contextlib import contextmanager
from . import options
from . import constants
-
+DEBUG2 = logging.DEBUG + 5
CRMSH_LOG_FILE = "/var/log/crmsh/crmsh.log"
+class DEBUG2Logger(logging.Logger):
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+
+ def debug2(self, msg, *args, **kwargs):
+ if self.isEnabledFor(DEBUG2):
+ self._log(DEBUG2, msg, args, **kwargs)
+
+
+class NumberedLoggerInterface(DEBUG2Logger):
+ """
+ Interface to prepend a number to the message, used for regression test. When this class is used directly, no numbers are prepend.
+ """
+ lineno = -1
+
+ @classmethod
+ def reset_lineno(cls, to=0):
+ pass
+
+ @classmethod
+ def incr_lineno(cls):
+ pass
+
+
+class NumberedLogger(NumberedLoggerInterface):
+ """
+ Prepend a number to the message, used for regression test
+ """
+ lineno = -1
+
+ def _log( self, level, msg, args, **kwargs):
+ if NumberedLogger.lineno > 0:
+ msg = f'{self.lineno}: {msg}'
+ super()._log(level, msg, args, **kwargs)
+
+ @classmethod
+ def reset_lineno(cls, to=0):
+ cls.lineno = to
+
+ @classmethod
+ def incr_lineno(cls):
+ cls.lineno += 1
+
+ if (sys.version_info.major, sys.version_info.minor) > (3, 6):
+ def findCaller(self, stack_info=False, stacklevel=1):
+ return super().findCaller(stack_info, stacklevel+1)
+ else:
+ def findCaller(self, stack_info=False):
+ if stack_info:
+ return super().findCaller(stack_info)
+ else:
+ f = sys._getframe(4)
+ co = f.f_code
+ sinfo = None
+ return co.co_filename, f.f_lineno, co.co_name, sinfo
+
+
class ConsoleCustomHandler(logging.StreamHandler):
"""
A custom handler for console
@@ -33,62 +91,75 @@
stream.write(self.terminator)
-class ConsoleCustomFormatter(logging.Formatter):
- """
- A custom formatter for console
+class NoBacktraceFormatter(logging.Formatter):
+ """Suppress backtrace unless option debug is set."""
+ def format(self, record):
+ """
+ Format the specified record as text.
- Wrap levelname with colors
- Wrap message with line number which is used for regression test
- """
+ The record's attribute dictionary is used as the operand to a
+ string formatting operation which yields the returned string.
+ Before formatting the dictionary, a couple of preparatory steps
+ are carried out. The message attribute of the record is computed
+ using LogRecord.getMessage(). If the formatting string uses the
+ time (as determined by a call to usesTime(), formatTime() is
+ called to format the event time. If there is exception information,
+ it is formatted using formatException() and appended to the message.
+ """
+ if record.exc_info or record.stack_info:
+ from crmsh import config
+ if config.core.debug:
+ return super().format(record)
+ else:
+ record.message = record.getMessage()
+ if self.usesTime():
+ record.asctime = self.formatTime(record, self.datefmt)
+ return self.formatMessage(record)
+ else:
+ return super().format(record)
+
+
+class ConsoleColoredFormatter(NoBacktraceFormatter):
+ """Print levelname with colors and suppress backtrace."""
COLORS = {
- "WARNING": constants.YELLOW,
- "INFO": constants.GREEN,
- "ERROR": constants.RED
+ logging.WARNING: constants.YELLOW,
+ logging.INFO: constants.GREEN,
+ logging.ERROR: constants.RED
}
FORMAT = "%(levelname)s: %(message)s"
- def __init__(self, lineno=-1, fmt=None):
- self.lineno = lineno
- if fmt:
- super().__init__(fmt=fmt)
- else:
- super().__init__(fmt=self.FORMAT)
+ def __init__(self, fmt=None):
+ super().__init__(fmt)
+ if not fmt:
+ fmt = self.FORMAT
+ self._colored_formatter: typing.Mapping[int, logging.Formatter] = {
+ level: NoBacktraceFormatter(fmt.replace('%(levelname)s', f'{color}%(levelname)s{constants.END}'))
+ for level, color in self.COLORS.items()
+ }
def format(self, record):
- levelname = record.levelname
- # wrap with colors
- if levelname in self.COLORS and not options.regression_tests:
- record.levelname = self.COLORS[levelname] + levelname + constants.END
- # wrap with line number
- if self.lineno > 0:
- msg = record.msg
- record.msg = "{}: {}".format(self.lineno, msg)
- record.levelname = levelname
- if record.levelname == "DEBUG2":
- msg = record.msg
- record.msg = f"{record.funcName}: {msg}"
- return super().format(record)
-
-
-class ConsoleReportFormatter(ConsoleCustomFormatter):
- """
- Custom formatter for crm report
- """
- FORMAT_REPORT = "{}: %(levelname)s: %(message)s".format(socket.gethostname())
-
- def __init__(self):
- super().__init__(fmt=self.FORMAT_REPORT)
+ colored_formatter = self._colored_formatter.get(record.levelno)
+ if colored_formatter is not None:
+ return colored_formatter.format(record)
+ else:
+ return super().format(record)
-class FileCustomFormatter(logging.Formatter):
- """
- A custom formatter for file
- """
- FORMAT = "%(asctime)s {} %(name)s: %(levelname)s: %(message)s".format(socket.gethostname())
- DATEFMT = "%b %d %H:%M:%S"
+class LeveledFormatter(logging.Formatter):
+ """Format log according to log level."""
+ def __init__(self, base_formatter_factory, default_fmt: str = None, level_fmt: typing.Mapping[int, str] = None):
+ super().__init__()
+ self.default_formatter = base_formatter_factory(default_fmt)
+ self.level_formatter = {
+ level: base_formatter_factory(fmt)
+ for level, fmt in level_fmt.items()
+ }
- def __init__(self):
- super().__init__(fmt=self.FORMAT, datefmt=self.DATEFMT)
+ def format(self, record):
+ formatter = self.level_formatter.get(record.levelno)
+ if formatter is None:
+ formatter = self.default_formatter
+ return formatter.format(record)
class DebugCustomFilter(logging.Filter):
@@ -97,7 +168,7 @@
"""
def filter(self, record):
from .config import core
- if record.levelname == "DEBUG":
+ if record.levelno == logging.DEBUG:
return core.debug
else:
return True
@@ -109,9 +180,9 @@
"""
def filter(self, record):
from .config import report
- if record.levelname == "DEBUG":
+ if record.levelno == logging.DEBUG:
return int(report.verbosity) >= 1
- if record.levelname == "DEBUG2":
+ if record.levelno == DEBUG2:
return int(report.verbosity) > 1
else:
return True
@@ -140,13 +211,24 @@
"disable_existing_loggers": "False",
"formatters": {
"console_report": {
- "()": ConsoleReportFormatter
+ "()": LeveledFormatter,
+ "base_formatter_factory": ConsoleColoredFormatter,
+ "default_fmt": "{}: %(levelname)s: %(message)s".format(socket.gethostname()),
+ "level_fmt": {
+ DEBUG2: "{}: %(levelname)s: %(funcName)s: %(message)s".format(socket.gethostname()),
+ },
},
"console": {
- "()": ConsoleCustomFormatter
+ "()": LeveledFormatter,
+ "base_formatter_factory": ConsoleColoredFormatter,
+ "default_fmt": "%(levelname)s: %(message)s",
+ "level_fmt": {
+ DEBUG2: "%(levelname)s: %(funcName)s %(message)s",
+ },
},
"file": {
- "()": FileCustomFormatter
+ "format": "%(asctime)s {} %(name)s: %(levelname)s: %(message)s".format(socket.gethostname()),
+ "datefmt": "%b %d %H:%M:%S",
}
},
"filters": {
@@ -204,29 +286,44 @@
}
+NO_COLOR_FORMATTERS = {
+ "console_report": {
+ "()": LeveledFormatter,
+ "base_formatter_factory": logging.Formatter,
+ "default_fmt": "{}: %(levelname)s: %(message)s".format(socket.gethostname()),
+ "level_fmt": {
+ DEBUG2: "{}: %(levelname)s: %(funcName)s: %(message)s".format(socket.gethostname()),
+ },
+ },
+ "console": {
+ "()": LeveledFormatter,
+ "base_formatter_factory": logging.Formatter,
+ "default_fmt": "%(levelname)s: %(message)s",
+ "level_fmt": {
+ DEBUG2: "%(levelname)s: %(funcName)s %(message)s",
+ },
+ },
+ "file": {
+ "format": "%(asctime)s {} %(name)s: %(levelname)s: %(message)s".format(socket.gethostname()),
+ "datefmt": "%b %d %H:%M:%S",
+ }
+}
+
+
class LoggerUtils(object):
"""
A class to keep/update some attributes related with logger
Also has methods related with handler and formatter
And a set of wrapped log message for specific scenarios
"""
- def __init__(self, logger):
+ def __init__(self, logger: NumberedLogger):
"""
Init function
"""
self.logger = logger
# used in regression test
- self.lineno = 0
self.__save_lineno = 0
- def set_debug2_level(self):
- """
- Create DEBUG2 level for verbosity
- """
- logging.DEBUG2 = logging.DEBUG + 5
- logging.addLevelName(logging.DEBUG2, "DEBUG2")
- self.logger.debug2 = lambda msg, *args: self.logger._log(logging.DEBUG2, msg, args)
-
def get_handler(self, _type):
"""
Get logger specific handler
@@ -244,39 +341,17 @@
console_handler = self.get_handler("console")
console_handler.setLevel(logging.WARNING)
- def set_console_formatter(self, lineno):
- """
- Pass line number to ConsoleCustomFormatter
- """
- console_handler = self.get_handler("console")
- console_handler.setFormatter(ConsoleCustomFormatter(lineno=lineno))
-
def reset_lineno(self, to=0):
"""
Reset line number
"""
- self.lineno = to
- self.set_console_formatter(to)
+ self.logger.reset_lineno(to)
def incr_lineno(self):
"""
Increase line number
"""
- self.lineno += 1
- self.set_console_formatter(self.lineno)
-
- @contextmanager
- def suppress_new_line(self):
- """
- Supress new line in console
- """
- console_handler = self.get_handler("console")
- try:
- console_handler.terminator = ""
- yield
- finally:
- sys.stdout.flush()
- console_handler.terminator = "\n"
+ self.logger.incr_lineno()
@contextmanager
def only_file(self):
@@ -330,11 +405,11 @@
Mark the line number in the log record
"""
try:
- self.__save_lineno = self.lineno
+ self.__save_lineno = self.logger.lineno
self.reset_lineno()
yield
finally:
- self.reset_lineno(self.__save_lineno)
+ self.logger.reset_lineno(self.__save_lineno)
@contextmanager
def status_long(self, msg):
@@ -469,7 +544,14 @@
except (PermissionError, FileNotFoundError) as e:
print('{}WARNING:{} Failed to open log file: {}'.format(constants.YELLOW, constants.END, e), file=sys.stderr)
LOGGING_CFG["handlers"]["file"] = {'class': 'logging.NullHandler'}
- logging.config.dictConfig(LOGGING_CFG)
+ logging.addLevelName(DEBUG2, "DEBUG2")
+ if os.environ.get('CRMSH_REGRESSION_TEST'):
+ logging.setLoggerClass(NumberedLogger)
+ LOGGING_CFG['formatters'] = NO_COLOR_FORMATTERS
+ logging.config.dictConfig(LOGGING_CFG)
+ else:
+ logging.setLoggerClass(NumberedLoggerInterface)
+ logging.config.dictConfig(LOGGING_CFG)
def setup_logger(name):
@@ -489,6 +571,4 @@
Get the logger for crm report
"""
logger = setup_logger(name)
- logger_utils = LoggerUtils(logger)
- logger_utils.set_debug2_level()
return logger
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/crmsh/main.py new/crmsh-4.6.0+20231211.4b74412a/crmsh/main.py
--- old/crmsh-4.6.0+20231207.89c74e6c/crmsh/main.py 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/crmsh/main.py 2023-12-11 03:36:33.000000000 +0100
@@ -45,8 +45,8 @@
try:
if not context.run(inp):
raise ValueError("Error in RC file: " + rcfile)
- except ValueError as msg:
- logger.error(msg)
+ except ValueError as e:
+ logger.error(e, exc_info=e)
f.close()
sys.stdin = save_stdin
@@ -261,14 +261,16 @@
try:
if not context.run(inp):
rc = 1
- except ValueError as msg:
+ except ValueError as e:
rc = 1
- logger.error(msg)
+ logger.error(e, exc_info=e)
except KeyboardInterrupt:
if options.interactive and not options.batch:
print("Ctrl-C, leaving")
context.quit(1)
- return rc
+ except Exception as e:
+ logger.error(e, exc_info=e)
+ context.quit(1)
def compgen():
@@ -374,11 +376,10 @@
print("Ctrl-C, leaving")
sys.exit(1)
except ValueError as e:
- if config.core.debug:
- import traceback
- traceback.print_exc()
- sys.stdout.flush()
- logger.error(str(e))
+ logger.error(e, exc_info=e)
sys.exit(1)
+ except Exception as e:
+ logger.error(e, exc_info=e)
+ raise
# vim:ts=4:sw=4:et:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/crmsh/ui_context.py new/crmsh-4.6.0+20231211.4b74412a/crmsh/ui_context.py
--- old/crmsh-4.6.0+20231207.89c74e6c/crmsh/ui_context.py 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/crmsh/ui_context.py 2023-12-11 03:36:33.000000000 +0100
@@ -84,12 +84,8 @@
if cmd:
utils.check_user_access(self.current_level().name)
rv = self.execute_command() is not False
- except (ValueError, IOError) as msg:
- if config.core.debug or options.regression_tests:
- import traceback
- traceback.print_exc()
- sys.stdout.flush()
- logger.error("%s: %s", self.get_qualified_name(), msg)
+ except (ValueError, IOError) as e:
+ logger.error("%s: %s", self.get_qualified_name(), e, exc_info=e)
rv = False
except utils.TerminateSubCommand:
return False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/scripts/health/collect.py new/crmsh-4.6.0+20231211.4b74412a/scripts/health/collect.py
--- old/crmsh-4.6.0+20231207.89c74e6c/scripts/health/collect.py 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/scripts/health/collect.py 2023-12-11 03:36:33.000000000 +0100
@@ -6,7 +6,11 @@
import hashlib
import platform
import crm_script
+
+import crmsh.log
+crmsh.log.setup_logging()
from crmsh.report import utils
+
data = crm_script.get_input()
PACKAGES = ['booth', 'cluster-glue', 'corosync', 'crmsh', 'csync2', 'drbd',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/test/evaltest.sh new/crmsh-4.6.0+20231211.4b74412a/test/evaltest.sh
--- old/crmsh-4.6.0+20231207.89c74e6c/test/evaltest.sh 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/test/evaltest.sh 2023-12-11 03:36:33.000000000 +0100
@@ -7,6 +7,7 @@
CRM_NO_REG="$CRM"
CRM="$CRM -R"
export PYTHONUNBUFFERED=1
+export CRMSH_REGRESSION_TEST=1
if [ "$1" = prof ]; then
CRM="$CRM -X regtest.profile"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/test/testcases/edit.exp new/crmsh-4.6.0+20231211.4b74412a/test/testcases/edit.exp
--- old/crmsh-4.6.0+20231207.89c74e6c/test/testcases/edit.exp 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/test/testcases/edit.exp 2023-12-11 03:36:33.000000000 +0100
@@ -68,7 +68,7 @@
.INP: primitive d3 ocf:heartbeat:Dummy
.INP: group g2 d1 d2
.INP: filter "sed '/g2/s/d1/p1/;/g1/s/p1/d1/'"
-ERROR: Cannot create group:g1: Child primitive:d1 already in group:g2
+ERROR: 29: Cannot create group:g1: Child primitive:d1 already in group:g2
.INP: filter "sed '/g1/s/d1/p1/;/g2/s/p1/d1/'"
.INP: filter "sed '$alocation loc-d1 d1 rule $id=r1 -inf: not_defined webserver rule $id=r2 webserver: defined webserver'"
.INP: filter "sed 's/not_defined webserver/& or mem number:lte 0/'" loc-d1
@@ -83,33 +83,33 @@
.INP: modgroup g1 add p1
ERROR: 1: syntax in group: child p1 listed more than once in group g1 parsing 'group g1 p1 p2 d3 p1'
.INP: modgroup g1 remove st
+ERROR: 42: configure.modgroup: st is not member of g1
Traceback (most recent call last):
rv = self.execute_command() is not False
rv = self.command_info.function(*arglist)
context.fatal_error("%s is not member of %s" % (prim_id, group_id))
raise ValueError(msg)
ValueError: st is not member of g1
-ERROR: 42: configure.modgroup: st is not member of g1
.INP: modgroup g1 remove c1
+ERROR: 43: configure.modgroup: c1 is not member of g1
Traceback (most recent call last):
rv = self.execute_command() is not False
rv = self.command_info.function(*arglist)
context.fatal_error("%s is not member of %s" % (prim_id, group_id))
raise ValueError(msg)
ValueError: c1 is not member of g1
-ERROR: 43: configure.modgroup: c1 is not member of g1
.INP: modgroup g1 remove nosuch
+ERROR: 44: configure.modgroup: nosuch is not member of g1
Traceback (most recent call last):
rv = self.execute_command() is not False
rv = self.command_info.function(*arglist)
context.fatal_error("%s is not member of %s" % (prim_id, group_id))
raise ValueError(msg)
ValueError: nosuch is not member of g1
-ERROR: 44: configure.modgroup: nosuch is not member of g1
.INP: modgroup g1 add c1
-ERROR: a group may contain only primitives; c1 is clone
+ERROR: 45: a group may contain only primitives; c1 is clone
.INP: modgroup g1 add nosuch
-ERROR: g1 refers to missing object nosuch
+ERROR: 46: g1 refers to missing object nosuch
.INP: filter "sed 's/^/# this is a comment\n/'" loc-d1
.INP: rsc_defaults $id="rsc_options" failure-timeout=10m
.INP: filter "sed 's/2m/60s/'" op-options
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/test/testcases/scripts.exp new/crmsh-4.6.0+20231211.4b74412a/test/testcases/scripts.exp
--- old/crmsh-4.6.0+20231207.89c74e6c/test/testcases/scripts.exp 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/test/testcases/scripts.exp 2023-12-11 03:36:33.000000000 +0100
@@ -240,13 +240,13 @@
virtual-ip
vmware
.INP: list bogus
+ERROR: 7: script.list: Unexpected argument 'bogus': expected [all|names]
Traceback (most recent call last):
rv = self.execute_command() is not False
rv = self.command_info.function(*arglist)
context.fatal_error("Unexpected argument '%s': expected [all|names]" % (arg))
raise ValueError(msg)
ValueError: Unexpected argument 'bogus': expected [all|names]
-ERROR: 7: script.list: Unexpected argument 'bogus': expected [all|names]
.INP: show mailto
mailto (Basic)
E-Mail
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/test/testcases/shadow.exp new/crmsh-4.6.0+20231211.4b74412a/test/testcases/shadow.exp
--- old/crmsh-4.6.0+20231207.89c74e6c/test/testcases/shadow.exp 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/test/testcases/shadow.exp 2023-12-11 03:36:33.000000000 +0100
@@ -11,13 +11,13 @@
.EXT >/dev/null </dev/null crm_shadow -b -C 'regtest' --force
INFO: 5: cib.commit: committed 'regtest' shadow CIB to the cluster
.INP: delete regtest
+ERROR: 6: cib.delete: regtest shadow CIB is in use
Traceback (most recent call last):
rv = self.execute_command() is not False
rv = self.command_info.function(*arglist)
context.fatal_error("%s shadow CIB is in use" % name)
raise ValueError(msg)
ValueError: regtest shadow CIB is in use
-ERROR: 6: cib.delete: regtest shadow CIB is in use
.INP: use
.INP: delete regtest
.EXT >/dev/null </dev/null crm_shadow -b -D 'regtest' --force
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/test/unittests/test_report_collect.py new/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_report_collect.py
--- old/crmsh-4.6.0+20231207.89c74e6c/test/unittests/test_report_collect.py 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_report_collect.py 2023-12-11 03:36:33.000000000 +0100
@@ -1,5 +1,6 @@
from subprocess import TimeoutExpired
from crmsh.report import collect, constants
+import crmsh.log
import unittest
from unittest import mock
@@ -80,13 +81,12 @@
self.assertEqual(collect.get_corosync_log(), mock_get_value.return_value)
@mock.patch('crmsh.report.utils.real_path')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
@mock.patch('crmsh.report.utils.get_cmd_output')
- @mock.patch('logging.Logger.debug')
@mock.patch('crmsh.report.utils.ts_to_str')
- def test_collect_journal_logs(self, mock_ts_to_str, mock_debug, mock_get_cmd_output,
- mock_str2file, mock_debug2, mock_real_path):
+ def test_collect_journal_logs(self, mock_ts_to_str, mock_get_cmd_output,
+ mock_str2file, mock_logger, mock_real_path):
mock_real_path.side_effect = [
constants.JOURNAL_F,
constants.JOURNAL_PCMK_F,
@@ -113,14 +113,14 @@
mock.call(cmd_list[2]),
mock.call(cmd_list[3]),
])
- mock_debug2.assert_has_calls([
+ mock_logger.debug2.assert_has_calls([
mock.call("Collect journal logs since: 10.10 until: 10.12"),
mock.call(f"Running command: {cmd_list[0]}"),
mock.call(f"Running command: {cmd_list[1]}"),
mock.call(f"Running command: {cmd_list[2]}"),
mock.call(f"Running command: {cmd_list[3]}"),
])
- mock_debug.assert_has_calls([
+ mock_logger.debug.assert_has_calls([
mock.call(f"Dump jounal log for default into {constants.JOURNAL_F}"),
mock.call(f"Dump jounal log for pacemaker into {constants.JOURNAL_PCMK_F}"),
mock.call(f"Dump jounal log for corosync into {constants.JOURNAL_COROSYNC_F}"),
@@ -214,13 +214,13 @@
mock_warning.assert_called_once_with('pe_to_dot: %s -> %s failed', '/opt/pe-input-0.bz2', '/opt/pe-input-0.dot')
@mock.patch('crmsh.report.utils.find_files_in_timespan')
- @mock.patch('crmsh.report.collect.logger.debug2')
- def test_collect_pe_inputs_no_found(self, mock_debug, mock_find_files):
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
+ def test_collect_pe_inputs_no_found(self, mock_logger, mock_find_files):
mock_ctx_inst = mock.Mock(pe_dir="/opt/pe_dir")
mock_find_files.return_value = []
collect.collect_pe_inputs(mock_ctx_inst)
mock_find_files.assert_called_once_with(mock_ctx_inst, [mock_ctx_inst.pe_dir])
- mock_debug.assert_has_calls([
+ mock_logger.debug2.assert_has_calls([
mock.call(f"Looking for PE files in {mock_ctx_inst.pe_dir}"),
mock.call("No PE file found for the giving time")
])
@@ -230,9 +230,8 @@
@mock.patch('os.symlink')
@mock.patch('crmsh.utils.mkdirp')
@mock.patch('crmsh.report.utils.find_files_in_timespan')
- @mock.patch('crmsh.report.collect.logger.debug2')
- @mock.patch('logging.Logger.debug')
- def test_collect_pe_inputs(self, mock_debug, mock_debug2, mock_find_files, mock_mkdir, mock_symlink, mock_to_dot, mock_real_path):
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
+ def test_collect_pe_inputs(self, mock_logger, mock_find_files, mock_mkdir, mock_symlink, mock_to_dot, mock_real_path):
mock_real_path.return_value = "pe_dir"
mock_ctx_inst = mock.Mock(pe_dir="/opt/pe_dir", work_dir="/opt/work_dir", speed_up=False)
mock_find_files.return_value = ["/opt/pe_dir/pe_input1", "/opt/pe_dir/pe_input2"]
@@ -240,18 +239,17 @@
collect.collect_pe_inputs(mock_ctx_inst)
mock_find_files.assert_called_once_with(mock_ctx_inst, [mock_ctx_inst.pe_dir])
- mock_debug2.assert_has_calls([
+ mock_logger.debug2.assert_has_calls([
mock.call(f"Looking for PE files in {mock_ctx_inst.pe_dir}"),
mock.call(f"Found 2 PE files in {mock_ctx_inst.pe_dir}"),
])
- mock_debug.assert_called_once_with(f"Dump PE files into pe_dir")
+ mock_logger.debug.assert_called_once_with(f"Dump PE files into pe_dir")
@mock.patch('crmsh.report.utils.real_path')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
- @mock.patch('logging.Logger.warning')
@mock.patch('crmsh.report.utils.get_cmd_output')
- def test_collect_sys_stats(self, mock_run, mock_warning, mock_str2file, mock_debug2, mock_real_path):
+ def test_collect_sys_stats(self, mock_run, mock_str2file, mock_logger, mock_real_path):
mock_real_path.return_value = constants.SYSSTATS_F
mock_run.side_effect = [
"data_hostname", "data_uptime", "data_ps_axf", "data_ps_auxw",
@@ -260,7 +258,7 @@
]
mock_ctx_inst = mock.Mock(work_dir="/opt")
collect.collect_sys_stats(mock_ctx_inst)
- mock_warning.assert_called_once_with(f"Timeout while running command: df")
+ mock_logger.warning.assert_called_once_with(f"Timeout while running command: df")
mock_run.assert_has_calls([
mock.call("hostname", timeout=5),
mock.call("uptime", timeout=5),
@@ -302,7 +300,7 @@
@mock.patch('crmsh.report.utils.real_path')
@mock.patch('crmsh.report.collect.dump_configurations')
@mock.patch('crmsh.report.collect.consume_cib_in_workdir')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
@mock.patch('crmsh.report.collect.dump_runtime_state')
@mock.patch('crmsh.report.collect.ServiceManager')
@@ -317,7 +315,7 @@
@mock.patch('crmsh.report.utils.real_path')
@mock.patch('crmsh.report.collect.dump_configurations')
@mock.patch('crmsh.report.collect.consume_cib_in_workdir')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
@mock.patch('shutil.copy2')
@mock.patch('crmsh.report.collect.ServiceManager')
@@ -348,24 +346,23 @@
mock.call("data2", f"/workdir/{constants.CRM_VERIFY_F}")
])
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.report.collect.sh.cluster_shell')
- def test_collect_ratraces_return(self, mock_run, mock_debug):
+ def test_collect_ratraces_return(self, mock_run, mock_logger):
mock_run_inst = mock.Mock()
mock_run.return_value = mock_run_inst
mock_run_inst.get_rc_stdout_stderr_without_input.return_value = (0, "data", None)
mock_ctx_inst = mock.Mock(node_list=["node1"])
collect.collect_ratraces(mock_ctx_inst)
- mock_debug.assert_not_called()
+ mock_logger.debug2.assert_not_called()
@mock.patch('crmsh.report.utils.real_path')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('shutil.copy2')
@mock.patch('crmsh.utils.mkdirp')
@mock.patch('crmsh.report.utils.find_files_in_timespan')
- @mock.patch('logging.Logger.debug')
@mock.patch('crmsh.report.collect.sh.cluster_shell')
- def test_collect_ratraces(self, mock_run, mock_debug, mock_find, mock_mkdirp, mock_copy, mock_debug2, mock_real_path):
+ def test_collect_ratraces(self, mock_run, mock_find, mock_mkdirp, mock_copy, mock_logger, mock_real_path):
mock_real_path.return_value = "/var/log"
mock_run_inst = mock.Mock()
mock_run.return_value = mock_run_inst
@@ -376,8 +373,8 @@
collect.collect_ratraces(mock_ctx_inst)
- mock_debug2.assert_called_once_with('Looking for RA trace files in "%s"', '/var/log/cluster')
- mock_debug.assert_called_once_with(f'Dump RA trace files into {mock_real_path.return_value}')
+ mock_logger.debug2.assert_called_once_with('Looking for RA trace files in "%s"', '/var/log/cluster')
+ mock_logger.debug.assert_called_once_with(f'Dump RA trace files into {mock_real_path.return_value}')
@mock.patch('crmsh.report.collect.ShellUtils')
def test_lsof_ocfs2_device(self, mock_run):
@@ -406,7 +403,7 @@
res = collect.ocfs2_commands_output()
self.assertEqual(res, "\n\n#===== [ Command ] ==========================#\n# mount\ndata")
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
@mock.patch('crmsh.report.collect.ShellUtils')
def test_collect_ocfs2_info_error(self, mock_run, mock_str2file, mock_debug2):
@@ -417,7 +414,7 @@
collect.collect_ocfs2_info(mock_ctx_inst)
mock_str2file.assert_called_once_with('Failed to run "mounted.ocfs2 -d": error', '/opt/workdir/ocfs2.txt')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
@mock.patch('crmsh.report.collect.ShellUtils')
def test_collect_ocfs2_info_no_found(self, mock_run, mock_str2file, mock_debug2):
@@ -432,7 +429,7 @@
@mock.patch('crmsh.report.collect.ocfs2_commands_output')
@mock.patch('crmsh.report.collect.lsof_ocfs2_device')
@mock.patch('crmsh.report.collect.dump_D_process')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
@mock.patch('crmsh.report.collect.ShellUtils')
def test_collect_ocfs2_info(self, mock_run, mock_str2file, mock_debug2, mock_D, mock_lsof, mock_output, mock_real_path):
@@ -492,19 +489,17 @@
self.assertEqual("Core core.1 was generated by /usr/sbin/crm_mon", res)
@mock.patch('crmsh.report.utils.real_path')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
- @mock.patch('logging.Logger.warning')
@mock.patch('shutil.which')
- def test_dump_core_info_no_gdb(self, mock_which, mock_warning, mock_str2file, mock_debug2, mock_real_path):
+ def test_dump_core_info_no_gdb(self, mock_which, mock_str2file, mock_logger, mock_real_path):
mock_real_path.return_value = constants.COREDUMP_F
mock_which.return_value = False
collect.dump_core_info("/opt/workdir", ["core.1"])
- mock_warning.assert_called_once_with("Please install gdb to get more info for coredump files")
- mock_debug2(f"Dump coredump info into {constants.COREDUMP_F}")
+ mock_logger.warning.assert_called_once_with("Please install gdb to get more info for coredump files")
@mock.patch('crmsh.report.utils.real_path')
- @mock.patch('crmsh.report.collect.logger.debug2')
+ @mock.patch('crmsh.report.collect.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.str2file')
@mock.patch('crmsh.report.collect.find_binary_path_for_core')
@mock.patch('shutil.which')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/test/unittests/test_report_core.py new/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_report_core.py
--- old/crmsh-4.6.0+20231207.89c74e6c/test/unittests/test_report_core.py 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_report_core.py 2023-12-11 03:36:33.000000000 +0100
@@ -1,5 +1,6 @@
from crmsh import config
from crmsh.report import core, constants, utils, collect
+import crmsh.log
import sys
import argparse
@@ -164,30 +165,30 @@
])
@mock.patch('os.path.basename')
- @mock.patch('crmsh.report.core.logger.debug2')
+ @mock.patch('crmsh.report.core.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.mkdirp')
@mock.patch('crmsh.report.core.is_collector')
@mock.patch('crmsh.report.core.tmpfiles.create_dir')
- def test_setup_workdir_collector(self, mock_create_dir, mock_collector, mock_mkdirp, mock_debug, mock_basename):
+ def test_setup_workdir_collector(self, mock_create_dir, mock_collector, mock_mkdirp, mock_logger, mock_basename):
mock_create_dir.return_value = "/tmp/tmp_dir"
mock_ctx_inst = mock.Mock(dest="/opt/report", work_dir="/opt/work_dir", me="node1")
mock_collector.return_value = True
mock_basename.return_value = "report"
core.setup_workdir(mock_ctx_inst)
- mock_debug.assert_called_once_with(f"Setup work directory in {mock_ctx_inst.work_dir}")
+ mock_logger.debug2.assert_called_once_with(f"Setup work directory in {mock_ctx_inst.work_dir}")
@mock.patch('os.path.basename')
- @mock.patch('crmsh.report.core.logger.debug2')
+ @mock.patch('crmsh.report.core.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.mkdirp')
@mock.patch('crmsh.report.core.is_collector')
@mock.patch('crmsh.report.core.tmpfiles.create_dir')
- def test_setup_workdir(self, mock_create_dir, mock_collector, mock_mkdirp, mock_debug, mock_basename):
+ def test_setup_workdir(self, mock_create_dir, mock_collector, mock_mkdirp, mock_logger, mock_basename):
mock_create_dir.return_value = "/tmp/tmp_dir"
mock_ctx_inst = mock.Mock(dest="/opt/report", work_dir="/opt/work_dir")
mock_collector.return_value = False
mock_basename.return_value = "report"
core.setup_workdir(mock_ctx_inst)
- mock_debug.assert_called_once_with(f"Setup work directory in {mock_ctx_inst.work_dir}")
+ mock_logger.debug2.assert_called_once_with(f"Setup work directory in {mock_ctx_inst.work_dir}")
@mock.patch('os.path.isdir')
@mock.patch('crmsh.report.core.load_from_crmsh_config')
@@ -242,8 +243,8 @@
@mock.patch('crmsh.report.core.adjust_verbosity')
@mock.patch('crmsh.report.core.config')
@mock.patch('json.loads')
- @mock.patch('crmsh.report.core.logger.debug2')
- def test_load_context(self, mock_debug2, mock_json_loads, mock_config, mock_verbosity):
+ @mock.patch('crmsh.report.core.logger', spec=crmsh.log.DEBUG2Logger)
+ def test_load_context(self, mock_logger, mock_json_loads, mock_config, mock_verbosity):
class Context:
def __str__(self):
return "data"
@@ -255,7 +256,7 @@
mock_json_loads.return_value = {"key": "value", "debug": "true"}
mock_ctx_inst = Context()
core.load_context(mock_ctx_inst)
- mock_debug2.assert_called_once_with("Loading context from collector: data")
+ mock_logger.debug2.assert_called_once_with("Loading context from collector: data")
@mock.patch('crmsh.report.core.adjust_verbosity')
@mock.patch('crmsh.report.core.process_arguments')
@@ -361,10 +362,10 @@
core.add_arguments()
- @mock.patch('crmsh.report.core.logger.debug2')
+ @mock.patch('crmsh.report.core.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.to_ascii')
@mock.patch('crmsh.report.core.ShellUtils')
- def test_push_data(self, mock_sh_utils, mock_to_ascii, mock_debug):
+ def test_push_data(self, mock_sh_utils, mock_to_ascii, mock_logger):
mock_sh_utils_inst = mock.Mock()
mock_sh_utils.return_value = mock_sh_utils_inst
mock_sh_utils_inst.get_stdout_stderr.return_value = (0, "data", "error")
@@ -375,7 +376,7 @@
core.push_data(mock_ctx_inst)
self.assertEqual("error", str(err.exception))
- mock_debug.assert_called_once_with("Pushing data from node1:/opt/work_dir to node1")
+ mock_logger.debug2.assert_called_once_with("Pushing data from node1:/opt/work_dir to node1")
mock_sh_utils_inst.get_stdout_stderr.assert_called_once_with("cd /opt/work_dir/.. && tar -h -c node1", raw=True)
@mock.patch('crmsh.report.core.finalword')
@@ -392,7 +393,7 @@
@mock.patch('crmsh.report.core.finalword')
@mock.patch('crmsh.report.core.sh.cluster_shell')
- @mock.patch('crmsh.report.core.logger.debug2')
+ @mock.patch('crmsh.report.core.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.report.utils.create_description_template')
@mock.patch('crmsh.report.utils.analyze')
@mock.patch('crmsh.report.utils.do_sanitize')
@@ -478,21 +479,19 @@
mock_ctx_inst = mock.Mock(from_time=123, to_time=150)
core.process_arguments(mock_ctx_inst)
- @mock.patch('crmsh.report.core.logger.debug2')
- @mock.patch('logging.Logger.warning')
- @mock.patch('logging.Logger.debug')
+ @mock.patch('crmsh.report.core.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.utils.check_ssh_passwd_need')
@mock.patch('crmsh.report.core.userdir.getuser')
@mock.patch('crmsh.report.core.userdir.get_sudoer')
- def test_find_ssh_user_not_found(self, mock_get_sudoer, mock_getuser, mock_check_ssh, mock_debug, mock_warn, mock_debug2):
+ def test_find_ssh_user_not_found(self, mock_get_sudoer, mock_getuser, mock_check_ssh, mock_logger):
mock_get_sudoer.return_value = ""
mock_getuser.return_value = "user2"
mock_check_ssh.return_value = True
mock_ctx_inst = mock.Mock(ssh_user="", ssh_askpw_node_list=[], node_list=["node1", "node2"], me="node1")
core.find_ssh_user(mock_ctx_inst)
- mock_warn.assert_called_once_with(f"passwordless ssh to node(s) ['node2'] does not work")
+ mock_logger.warning.assert_called_once_with(f"passwordless ssh to node(s) ['node2'] does not work")
- @mock.patch('crmsh.report.core.logger.debug2')
+ @mock.patch('crmsh.report.core.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('logging.Logger.warning')
@mock.patch('logging.Logger.debug')
@mock.patch('crmsh.utils.check_ssh_passwd_need')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh-4.6.0+20231207.89c74e6c/test/unittests/test_report_utils.py new/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_report_utils.py
--- old/crmsh-4.6.0+20231207.89c74e6c/test/unittests/test_report_utils.py 2023-12-07 10:20:33.000000000 +0100
+++ new/crmsh-4.6.0+20231211.4b74412a/test/unittests/test_report_utils.py 2023-12-11 03:36:33.000000000 +0100
@@ -3,6 +3,7 @@
from crmsh import config
from crmsh import utils as crmutils
from crmsh.report import utils, constants
+import crmsh.log
import unittest
from unittest import mock
@@ -160,19 +161,19 @@
self.assertEqual(self.s_inst.cib_data, "data")
mock_read.assert_called_once_with(f"/opt/node1/{constants.CIB_F}")
- @mock.patch('crmsh.report.utils.logger.debug2')
- def test_parse_sensitive_set_no_set(self, mock_debug2):
+ @mock.patch('crmsh.report.utils.logger', spec=crmsh.log.DEBUG2Logger)
+ def test_parse_sensitive_set_no_set(self, mock_logger):
config.report.sanitize_rule = ""
self.s_inst_no_sanitize_set._parse_sensitive_set()
self.assertEqual(self.s_inst_no_sanitize_set.sensitive_regex_set, set(utils.Sanitizer.DEFAULT_RULE_LIST))
- mock_debug2.assert_called_once_with(f"Regex set to match sensitive data: {set(utils.Sanitizer.DEFAULT_RULE_LIST)}")
+ mock_logger.debug2.assert_called_once_with(f"Regex set to match sensitive data: {set(utils.Sanitizer.DEFAULT_RULE_LIST)}")
- @mock.patch('crmsh.report.utils.logger.debug2')
- def test_parse_sensitive_set(self, mock_debug2):
+ @mock.patch('crmsh.report.utils.logger', spec=crmsh.log.DEBUG2Logger)
+ def test_parse_sensitive_set(self, mock_logger):
config.report.sanitize_rule = "passw.*"
self.s_inst._parse_sensitive_set()
self.assertEqual(self.s_inst.sensitive_regex_set, set(['test_patt', 'passw.*']))
- mock_debug2.assert_called_once_with(f"Regex set to match sensitive data: {set(['test_patt', 'passw.*'])}")
+ mock_logger.debug2.assert_called_once_with(f"Regex set to match sensitive data: {set(['test_patt', 'passw.*'])}")
def test_sanitize_return(self):
self.s_inst_no_sanitize.sanitize()
@@ -234,10 +235,10 @@
@mock.patch('builtins.sorted', side_effect=lambda x, *args, **kwargs: x[::-1])
@mock.patch('crmsh.report.utils.get_timespan_str')
- @mock.patch('crmsh.report.utils.logger.debug2')
+ @mock.patch('crmsh.report.utils.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('glob.glob')
@mock.patch('crmsh.report.utils.is_our_log')
- def test_arch_logs(self, mock_is_our_log, mock_glob, mock_debug2, mock_timespan, mock_sorted):
+ def test_arch_logs(self, mock_is_our_log, mock_glob, mock_logger, mock_timespan, mock_sorted):
mock_is_our_log.return_value = utils.LogType.GOOD
mock_glob.return_value = []
mock_ctx_inst = mock.Mock()
@@ -247,7 +248,7 @@
self.assertEqual(return_list, ["file1"])
self.assertEqual(log_type, utils.LogType.GOOD)
- mock_debug2.assert_called_once_with("Found logs ['file1'] in 0101-0202")
+ mock_logger.debug2.assert_called_once_with("Found logs ['file1'] in 0101-0202")
@mock.patch('sys.stdout.flush')
@mock.patch('traceback.print_exc')
@@ -360,7 +361,7 @@
self.assertEqual(res, expected_result)
@mock.patch('crmsh.report.utils.get_timespan_str')
- @mock.patch('crmsh.report.utils.logger.debug2')
+ @mock.patch('crmsh.report.utils.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.report.utils.arch_logs')
def test_dump_logset_return(self, mock_arch, mock_debug, mock_timespan):
mock_arch.return_value = [[], ""]
@@ -428,7 +429,7 @@
@mock.patch('crmsh.utils.read_from_file')
@mock.patch('os.path.exists')
- @mock.patch('crmsh.report.utils.logger.debug2')
+ @mock.patch('crmsh.report.utils.logger', spec=crmsh.log.DEBUG2Logger)
def test_get_distro_info(self, mock_debug2, mock_exists, mock_read):
mock_exists.return_value = True
mock_read.return_value = """
@@ -442,7 +443,7 @@
@mock.patch('shutil.which')
@mock.patch('crmsh.report.utils.sh.LocalShell')
@mock.patch('os.path.exists')
- @mock.patch('crmsh.report.utils.logger.debug2')
+ @mock.patch('crmsh.report.utils.logger', spec=crmsh.log.DEBUG2Logger)
def test_get_distro_info_lsb(self, mock_debug2, mock_exists, mock_sh, mock_which):
mock_which.return_value = True
mock_exists.return_value = False
@@ -643,15 +644,15 @@
self.assertEqual(res, "")
@mock.patch('crmsh.report.utils.filter_lines')
- @mock.patch('crmsh.report.utils.logger.debug2')
+ @mock.patch('crmsh.report.utils.logger', spec=crmsh.log.DEBUG2Logger)
@mock.patch('crmsh.report.utils.findln_by_timestamp')
@mock.patch('crmsh.utils.read_from_file')
- def test_print_logseg(self, mock_read, mock_findln, mock_debug, mock_filter):
+ def test_print_logseg(self, mock_read, mock_findln, mock_logger, mock_filter):
mock_read.return_value = "line1\nline2\nline3"
mock_filter.return_value = "line1\nline2\nline3"
res = utils.print_logseg("log1", 0, 0)
self.assertEqual(res, mock_filter.return_value)
- mock_debug.assert_called_once_with("Including segment [%d-%d] from %s", 1, 3, "log1")
+ mock_logger.debug2.assert_called_once_with("Including segment [%d-%d] from %s", 1, 3, "log1")
def test_head(self):
data = "line1\nline2\nline3"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pipx for openSUSE:Factory checked in at 2023-12-11 21:50:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pipx (Old)
and /work/SRC/openSUSE:Factory/.python-pipx.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pipx"
Mon Dec 11 21:50:56 2023 rev:6 rq:1132378 version:1.3.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pipx/python-pipx.changes 2023-11-07 21:29:11.753782687 +0100
+++ /work/SRC/openSUSE:Factory/.python-pipx.new.25432/python-pipx.changes 2023-12-11 21:51:04.652697252 +0100
@@ -1,0 +2,6 @@
+Fri Dec 8 22:03:05 UTC 2023 - Eyad Issa <eyadlorenzo(a)gmail.com>
+
+- Upstream version 1.3.3
+ - Require python 3.8 or newer
+
+-------------------------------------------------------------------
Old:
----
pipx-1.2.1.tar.gz
New:
----
pipx-1.3.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pipx.spec ++++++
--- /var/tmp/diff_new_pack.DVvM9t/_old 2023-12-11 21:51:05.568731242 +0100
+++ /var/tmp/diff_new_pack.DVvM9t/_new 2023-12-11 21:51:05.568731242 +0100
@@ -18,25 +18,30 @@
%{?sle15_python_module_pythons}
Name: python-pipx
-Version: 1.2.1
+Version: 1.3.3
Release: 0
Summary: Install and Run Python Applications in Isolated Environments
License: MIT
URL: https://github.com/pypa/pipx
Source: https://files.pythonhosted.org/packages/source/p/pipx/pipx-%{version}.tar.gz
-BuildRequires: %{python_module hatchling >= 0.15.0}
+BuildRequires: %{python_module hatch-vcs >= 0.4}
+BuildRequires: %{python_module hatchling >= 1.18}
BuildRequires: %{python_module pip}
+BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Requires: python >= 3.8
+Requires: python-argcomplete >= 1.9.4
+Requires: python-packaging >= 20
+Requires: python-platformdirs >= 2.1
+Requires: python-tomli
+Requires: python-userpath >= 1.6
+BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module argcomplete >= 1.9.4}
-BuildRequires: %{python_module packaging >= 20.0}
-BuildRequires: %{python_module userpath >= 1.6.0}
+BuildRequires: %{python_module packaging >= 20}
+BuildRequires: %{python_module platformdirs >= 2.1}
+BuildRequires: %{python_module userpath >= 1.6}
# /SECTION
-BuildRequires: fdupes
-Requires: python-argcomplete >= 1.9.4
-Requires: python-packaging >= 20.0
-Requires: python-userpath >= 1.6.0
-BuildArch: noarch
%python_subpackages
%description
++++++ pipx-1.2.1.tar.gz -> pipx-1.3.3.tar.gz ++++++
++++ 4946 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-murmurhash for openSUSE:Factory checked in at 2023-12-11 21:50:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-murmurhash (Old)
and /work/SRC/openSUSE:Factory/.python-murmurhash.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-murmurhash"
Mon Dec 11 21:50:43 2023 rev:2 rq:1132371 version:1.0.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-murmurhash/python-murmurhash.changes 2023-09-07 21:12:48.865462765 +0200
+++ /work/SRC/openSUSE:Factory/.python-murmurhash.new.25432/python-murmurhash.changes 2023-12-11 21:50:53.996302605 +0100
@@ -1,0 +2,6 @@
+Sun Dec 10 21:50:28 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.0.10:
+ * Package updates and binary wheels for python 3.12.
+
+-------------------------------------------------------------------
Old:
----
murmurhash-1.0.9.tar.gz
New:
----
murmurhash-1.0.10.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-murmurhash.spec ++++++
--- /var/tmp/diff_new_pack.Gadg1I/_old 2023-12-11 21:50:54.624325862 +0100
+++ /var/tmp/diff_new_pack.Gadg1I/_new 2023-12-11 21:50:54.628326010 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-murmurhash
-Version: 1.0.9
+Version: 1.0.10
Release: 0
Summary: Cython bindings for MurmurHash
License: MIT
++++++ murmurhash-1.0.9.tar.gz -> murmurhash-1.0.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/murmurhash-1.0.9/PKG-INFO new/murmurhash-1.0.10/PKG-INFO
--- old/murmurhash-1.0.9/PKG-INFO 2022-10-14 14:12:16.585263000 +0200
+++ new/murmurhash-1.0.10/PKG-INFO 2023-09-15 16:52:42.815533000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: murmurhash
-Version: 1.0.9
+Version: 1.0.10
Summary: Cython bindings for MurmurHash
Home-page: https://github.com/explosion/murmurhash
Author: Explosion
@@ -21,6 +21,7 @@
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 :: Scientific/Engineering
Requires-Python: >=3.6
Description-Content-Type: text/markdown
@@ -30,7 +31,7 @@
# Cython bindings for MurmurHash2
-[![Azure Pipelines](https://img.shields.io/azure-devops/build/explosion-ai/public/5/…
+[![tests](https://github.com/explosion/murmurhash/actions/workflows/tests.yml/badge.svg)](https://github.com/explosion/murmurhash/actions/workflows/tests.yml)
[![pypi Version](https://img.shields.io/pypi/v/murmurhash.svg?style=flat-square&log…
[![conda Version](https://img.shields.io/conda/vn/conda-forge/murmurhash.svg?style=f…
[![Python wheels](https://img.shields.io/badge/wheels-%E2%9C%93-4c1.svg?longCache=tru…
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/murmurhash-1.0.9/README.md new/murmurhash-1.0.10/README.md
--- old/murmurhash-1.0.9/README.md 2022-10-14 14:12:05.000000000 +0200
+++ new/murmurhash-1.0.10/README.md 2023-09-15 16:52:24.000000000 +0200
@@ -2,7 +2,7 @@
# Cython bindings for MurmurHash2
-[![Azure Pipelines](https://img.shields.io/azure-devops/build/explosion-ai/public/5/…
+[![tests](https://github.com/explosion/murmurhash/actions/workflows/tests.yml/badge.svg)](https://github.com/explosion/murmurhash/actions/workflows/tests.yml)
[![pypi Version](https://img.shields.io/pypi/v/murmurhash.svg?style=flat-square&log…
[![conda Version](https://img.shields.io/conda/vn/conda-forge/murmurhash.svg?style=f…
[![Python wheels](https://img.shields.io/badge/wheels-%E2%9C%93-4c1.svg?longCache=tru…
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/murmurhash-1.0.9/murmurhash/about.py new/murmurhash-1.0.10/murmurhash/about.py
--- old/murmurhash-1.0.9/murmurhash/about.py 2022-10-14 14:12:05.000000000 +0200
+++ new/murmurhash-1.0.10/murmurhash/about.py 2023-09-15 16:52:24.000000000 +0200
@@ -1,5 +1,5 @@
__title__ = "murmurhash"
-__version__ = "1.0.9"
+__version__ = "1.0.10"
__summary__ = "Cython bindings for MurmurHash"
__uri__ = "https://github.com/explosion/murmurhash"
__author__ = "Explosion"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/murmurhash-1.0.9/murmurhash.egg-info/PKG-INFO new/murmurhash-1.0.10/murmurhash.egg-info/PKG-INFO
--- old/murmurhash-1.0.9/murmurhash.egg-info/PKG-INFO 2022-10-14 14:12:16.000000000 +0200
+++ new/murmurhash-1.0.10/murmurhash.egg-info/PKG-INFO 2023-09-15 16:52:42.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: murmurhash
-Version: 1.0.9
+Version: 1.0.10
Summary: Cython bindings for MurmurHash
Home-page: https://github.com/explosion/murmurhash
Author: Explosion
@@ -21,6 +21,7 @@
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 :: Scientific/Engineering
Requires-Python: >=3.6
Description-Content-Type: text/markdown
@@ -30,7 +31,7 @@
# Cython bindings for MurmurHash2
-[![Azure Pipelines](https://img.shields.io/azure-devops/build/explosion-ai/public/5/…
+[![tests](https://github.com/explosion/murmurhash/actions/workflows/tests.yml/badge.svg)](https://github.com/explosion/murmurhash/actions/workflows/tests.yml)
[![pypi Version](https://img.shields.io/pypi/v/murmurhash.svg?style=flat-square&log…
[![conda Version](https://img.shields.io/conda/vn/conda-forge/murmurhash.svg?style=f…
[![Python wheels](https://img.shields.io/badge/wheels-%E2%9C%93-4c1.svg?longCache=tru…
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/murmurhash-1.0.9/setup.py new/murmurhash-1.0.10/setup.py
--- old/murmurhash-1.0.9/setup.py 2022-10-14 14:12:05.000000000 +0200
+++ new/murmurhash-1.0.10/setup.py 2023-09-15 16:52:24.000000000 +0200
@@ -6,8 +6,8 @@
import contextlib
from setuptools import Extension, setup
-from distutils.command.build_ext import build_ext
-from distutils.sysconfig import get_python_inc
+from setuptools.command.build_ext import build_ext
+from sysconfig import get_path
from Cython.Build import cythonize
@@ -80,7 +80,7 @@
readme = f.read()
include_dirs = [
- get_python_inc(plat_specific=True),
+ get_path("include"),
os.path.join(root, "murmurhash", "include"),
]
@@ -131,6 +131,7 @@
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering",
],
cmdclass={"build_ext": build_ext_subclass},
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-opentelemetry-api for openSUSE:Factory checked in at 2023-12-11 21:50:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-opentelemetry-api (Old)
and /work/SRC/openSUSE:Factory/.python-opentelemetry-api.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-opentelemetry-api"
Mon Dec 11 21:50:41 2023 rev:10 rq:1132370 version:1.21.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-opentelemetry-api/python-opentelemetry-api.changes 2023-05-12 20:40:28.466918307 +0200
+++ /work/SRC/openSUSE:Factory/.python-opentelemetry-api.new.25432/python-opentelemetry-api.changes 2023-12-11 21:50:52.900262015 +0100
@@ -1,0 +2,41 @@
+Sun Dec 10 21:48:52 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.21.0:
+ * Fix `SumAggregation`  (#3390)
+ * Fix handling of empty metric collection cycles (#3335)
+ * Fix error when no LoggerProvider configured for
+ LoggingHandler (#3423)
+ * Make `opentelemetry_metrics_exporter` entrypoint support pull
+ exporters (#3428)
+ * Allow instrument names to have '/' and up to 255 characters
+ (#3442)
+ * Do not load Resource on sdk import (#3447)
+ * Update semantic conventions to version 1.21.0 (#3251)
+ * Add missing schema_url in global api for logging and metrics
+ (#3251)
+ * Prometheus exporter support for auto instrumentation (#3413)
+ * Modify Prometheus exporter to translate non-monotonic Sums
+ into Gauges (#3306)
+ * Update the body type in the log ($3343)
+ * Add max_scale option to Exponential Bucket Histogram
+ Aggregation (#3323)
+ * Use BoundedAttributes instead of raw dict to extract
+ attributes from LogRecord (#3310)
+ * Support dropped_attributes_count in LogRecord and exporters
+ (#3351)
+ * Add unit to view instrument selection criteria (#3341)
+ * Upgrade opentelemetry-proto to 0.20 and regen #3355)
+ * Include endpoint in Grpc transient error warning #3362)
+ * Fixed bug where logging export is tracked as trace #3375)
+ * Select histogram aggregation with an environment variable
+ * Move Protobuf encoding to its own package (#3169)
+ * Add experimental feature to detect resource detectors in auto
+ instrumentation (#3181)
+ * Fix exporting of ExponentialBucketHistogramAggregation from
+ opentelemetry.sdk.metrics.view (#3240)
+ * Fix headers types mismatch for OTLP Exporters (#3226)
+ * Fix suppress instrumentation for log batch processor (#3223)
+ * Add speced out environment variables and arguments for
+ BatchLogRecordProcessor (#3237)
+
+-------------------------------------------------------------------
Old:
----
opentelemetry_api-1.17.0.tar.gz
New:
----
opentelemetry_api-1.21.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-opentelemetry-api.spec ++++++
--- /var/tmp/diff_new_pack.CYFu5B/_old 2023-12-11 21:50:53.580287199 +0100
+++ /var/tmp/diff_new_pack.CYFu5B/_new 2023-12-11 21:50:53.580287199 +0100
@@ -19,7 +19,7 @@
%define skip_python2 1
%{?sle15_python_module_pythons}
Name: python-opentelemetry-api
-Version: 1.17.0
+Version: 1.21.0
Release: 0
Summary: OpenTelemetry Python API
License: Apache-2.0
@@ -29,7 +29,6 @@
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module importlib-metadata}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -39,7 +38,6 @@
BuildArch: noarch
Requires: python-Deprecated
Requires: python-importlib-metadata
-Requires: python-setuptools
%if %{python_version_nodots} < 37
Requires: python-aiocontextvars
%endif
++++++ opentelemetry_api-1.17.0.tar.gz -> opentelemetry_api-1.21.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/.gitignore new/opentelemetry_api-1.21.0/.gitignore
--- old/opentelemetry_api-1.17.0/.gitignore 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/.gitignore 2020-02-02 01:00:00.000000000 +0100
@@ -63,3 +63,6 @@
# Django example
docs/examples/django/db.sqlite3
+
+# Semantic conventions
+scripts/semconv/semantic-conventions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/PKG-INFO new/opentelemetry_api-1.21.0/PKG-INFO
--- old/opentelemetry_api-1.17.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: opentelemetry-api
-Version: 1.17.0
+Version: 1.21.0
Summary: OpenTelemetry Python API
Project-URL: Homepage, https://github.com/open-telemetry/opentelemetry-python/tree/main/openteleme…
Author-email: OpenTelemetry Authors <cncf-opentelemetry-contributors(a)lists.cncf.io>
@@ -19,8 +19,7 @@
Classifier: Typing :: Typed
Requires-Python: >=3.7
Requires-Dist: deprecated>=1.2.6
-Requires-Dist: importlib-metadata~=6.0.0
-Requires-Dist: setuptools>=16.0
+Requires-Dist: importlib-metadata<7.0,>=6.0
Provides-Extra: test
Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/pyproject.toml new/opentelemetry_api-1.21.0/pyproject.toml
--- old/opentelemetry_api-1.17.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
@@ -26,10 +26,9 @@
]
dependencies = [
"Deprecated >= 1.2.6",
- "setuptools >= 16.0",
# FIXME This should be able to be removed after 3.12 is released if there is a reliable API
# in importlib.metadata.
- "importlib-metadata ~= 6.0.0",
+ "importlib-metadata >= 6.0, < 7.0",
]
dynamic = [
"version",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/src/opentelemetry/_logs/_internal/__init__.py new/opentelemetry_api-1.21.0/src/opentelemetry/_logs/_internal/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/_logs/_internal/__init__.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/_logs/_internal/__init__.py 2020-02-02 01:00:00.000000000 +0100
@@ -37,6 +37,7 @@
from abc import ABC, abstractmethod
from logging import getLogger
from os import environ
+from time import time_ns
from typing import Any, Optional, cast
from opentelemetry._logs.severity import SeverityNumber
@@ -70,6 +71,8 @@
attributes: Optional["Attributes"] = None,
):
self.timestamp = timestamp
+ if observed_timestamp is None:
+ observed_timestamp = time_ns()
self.observed_timestamp = observed_timestamp
self.trace_id = trace_id
self.span_id = span_id
@@ -143,7 +146,7 @@
version: Optional. The version string of the
instrumenting library. Usually this should be the same as
- ``pkg_resources.get_distribution(instrumenting_library_name).version``.
+ ``importlib.metadata.version(instrumenting_library_name)``.
schema_url: Optional. Specifies the Schema URL of the emitted telemetry.
"""
@@ -199,19 +202,20 @@
_logger.warning("Overriding of current LoggerProvider is not allowed")
-def set_logger_provider(meter_provider: LoggerProvider) -> None:
+def set_logger_provider(logger_provider: LoggerProvider) -> None:
"""Sets the current global :class:`~.LoggerProvider` object.
This can only be done once, a warning will be logged if any further attempt
is made.
"""
- _set_logger_provider(meter_provider, log=True)
+ _set_logger_provider(logger_provider, log=True)
def get_logger(
instrumenting_module_name: str,
instrumenting_library_version: str = "",
logger_provider: Optional[LoggerProvider] = None,
+ schema_url: Optional[str] = None,
) -> "Logger":
"""Returns a `Logger` for use within a python process.
@@ -223,5 +227,5 @@
if logger_provider is None:
logger_provider = get_logger_provider()
return logger_provider.get_logger(
- instrumenting_module_name, instrumenting_library_version
+ instrumenting_module_name, instrumenting_library_version, schema_url
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/src/opentelemetry/context/__init__.py new/opentelemetry_api-1.21.0/src/opentelemetry/context/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/context/__init__.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/context/__init__.py 2020-02-02 01:00:00.000000000 +0100
@@ -172,3 +172,13 @@
_SUPPRESS_HTTP_INSTRUMENTATION_KEY = create_key(
"suppress_http_instrumentation"
)
+
+__all__ = [
+ "Context",
+ "attach",
+ "create_key",
+ "detach",
+ "get_current",
+ "get_value",
+ "set_value",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/src/opentelemetry/environment_variables.py new/opentelemetry_api-1.21.0/src/opentelemetry/environment_variables.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/environment_variables.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/environment_variables.py 2020-02-02 01:00:00.000000000 +0100
@@ -22,6 +22,29 @@
"""
.. envvar:: OTEL_METRICS_EXPORTER
+Specifies which exporter is used for metrics. See `General SDK Configuration
+<https://opentelemetry.io/docs/concepts/sdk-configuration/general-sdk-config…>`_.
+
+**Default value:** ``"otlp"``
+
+**Example:**
+
+``export OTEL_METRICS_EXPORTER="prometheus"``
+
+Accepted values for ``OTEL_METRICS_EXPORTER`` are:
+
+- ``"otlp"``
+- ``"prometheus"``
+- ``"none"``: No automatically configured exporter for metrics.
+
+.. note::
+
+ Exporter packages may add entry points for group ``opentelemetry_metrics_exporter`` which
+ can then be used with this environment variable by name. The entry point should point to
+ either a `opentelemetry.sdk.metrics.export.MetricExporter` (push exporter) or
+ `opentelemetry.sdk.metrics.export.MetricReader` (pull exporter) subclass; it must be
+ constructable without any required arguments. This mechanism is considered experimental and
+ may change in subsequent releases.
"""
OTEL_PROPAGATORS = "OTEL_PROPAGATORS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/src/opentelemetry/metrics/_internal/__init__.py new/opentelemetry_api-1.21.0/src/opentelemetry/metrics/_internal/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/metrics/_internal/__init__.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/metrics/_internal/__init__.py 2020-02-02 01:00:00.000000000 +0100
@@ -719,6 +719,7 @@
name: str,
version: str = "",
meter_provider: Optional[MeterProvider] = None,
+ schema_url: Optional[str] = None,
) -> "Meter":
"""Returns a `Meter` for use by the given instrumentation library.
@@ -729,7 +730,7 @@
"""
if meter_provider is None:
meter_provider = get_meter_provider()
- return meter_provider.get_meter(name, version)
+ return meter_provider.get_meter(name, version, schema_url)
def _set_meter_provider(meter_provider: MeterProvider, log: bool) -> None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/src/opentelemetry/metrics/_internal/instrument.py new/opentelemetry_api-1.21.0/src/opentelemetry/metrics/_internal/instrument.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/metrics/_internal/instrument.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/metrics/_internal/instrument.py 2020-02-02 01:00:00.000000000 +0100
@@ -38,7 +38,7 @@
_logger = getLogger(__name__)
-_name_regex = re_compile(r"[a-zA-Z][-_.a-zA-Z0-9]{0,62}")
+_name_regex = re_compile(r"[a-zA-Z][-_./a-zA-Z0-9]{0,254}")
_unit_regex = re_compile(r"[\x00-\x7F]{0,63}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/src/opentelemetry/propagate/__init__.py new/opentelemetry_api-1.21.0/src/opentelemetry/propagate/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/propagate/__init__.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/propagate/__init__.py 2020-02-02 01:00:00.000000000 +0100
@@ -144,11 +144,12 @@
)
).load()()
)
-
- except Exception: # pylint: disable=broad-except
- logger.exception(
- "Failed to load configured propagator: %s", propagator
+ except StopIteration:
+ raise ValueError(
+ f"Propagator {propagator} not found. It is either misspelled or not installed."
)
+ except Exception: # pylint: disable=broad-except
+ logger.exception("Failed to load propagator: %s", propagator)
raise
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/src/opentelemetry/trace/__init__.py new/opentelemetry_api-1.21.0/src/opentelemetry/trace/__init__.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/trace/__init__.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/trace/__init__.py 2020-02-02 01:00:00.000000000 +0100
@@ -588,6 +588,11 @@
description=f"{type(exc).__name__}: {exc}",
)
)
+
+ # This causes parent spans to set their status to ERROR and to record
+ # an exception as an event if a child span raises an exception even if
+ # such child span was started with both record_exception and
+ # set_status_on_exception attributes set to False.
raise
finally:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/src/opentelemetry/version.py new/opentelemetry_api-1.21.0/src/opentelemetry/version.py
--- old/opentelemetry_api-1.17.0/src/opentelemetry/version.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/src/opentelemetry/version.py 2020-02-02 01:00:00.000000000 +0100
@@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-__version__ = "1.17.0"
+__version__ = "1.21.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/tests/logs/test_log_record.py new/opentelemetry_api-1.21.0/tests/logs/test_log_record.py
--- old/opentelemetry_api-1.17.0/tests/logs/test_log_record.py 1970-01-01 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/tests/logs/test_log_record.py 2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,27 @@
+# Copyright The OpenTelemetry Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import unittest
+from unittest.mock import patch
+
+from opentelemetry._logs import LogRecord
+
+OBSERVED_TIMESTAMP = "OBSERVED_TIMESTAMP"
+
+
+class TestLogRecord(unittest.TestCase):
+ @patch("opentelemetry._logs._internal.time_ns")
+ def test_log_record_observed_timestamp_default(self, time_ns_mock): # type: ignore
+ time_ns_mock.return_value = OBSERVED_TIMESTAMP
+ self.assertEqual(LogRecord().observed_timestamp, OBSERVED_TIMESTAMP)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/tests/metrics/test_instruments.py new/opentelemetry_api-1.21.0/tests/metrics/test_instruments.py
--- old/opentelemetry_api-1.17.0/tests/metrics/test_instruments.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/tests/metrics/test_instruments.py 2020-02-02 01:00:00.000000000 +0100
@@ -564,14 +564,13 @@
)
def test_name_check(self):
-
instrument = ChildInstrument("name")
self.assertEqual(
instrument._check_name_unit_description(
- "a" * 63, "unit", "description"
+ "a" * 255, "unit", "description"
)["name"],
- "a" * 63,
+ "a" * 255,
)
self.assertEqual(
instrument._check_name_unit_description(
@@ -591,13 +590,25 @@
)["name"],
"a_",
)
+ self.assertEqual(
+ instrument._check_name_unit_description(
+ "a/", "unit", "description"
+ )["name"],
+ "a/",
+ )
- self.assertIsNone(
+ # the old max length
+ self.assertIsNotNone(
instrument._check_name_unit_description(
"a" * 64, "unit", "description"
)["name"]
)
self.assertIsNone(
+ instrument._check_name_unit_description(
+ "a" * 256, "unit", "description"
+ )["name"]
+ )
+ self.assertIsNone(
instrument._check_name_unit_description(
"Ñ", "unit", "description"
)["name"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opentelemetry_api-1.17.0/tests/propagators/test_propagators.py new/opentelemetry_api-1.21.0/tests/propagators/test_propagators.py
--- old/opentelemetry_api-1.17.0/tests/propagators/test_propagators.py 2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_api-1.21.0/tests/propagators/test_propagators.py 2020-02-02 01:00:00.000000000 +0100
@@ -15,7 +15,6 @@
# type: ignore
from importlib import reload
-from logging import ERROR
from os import environ
from unittest import TestCase
from unittest.mock import Mock, patch
@@ -109,16 +108,16 @@
)
def test_composite_propagators_error(self):
- # pylint: disable=import-outside-toplevel
- import opentelemetry.propagate
-
- with self.assertRaises(Exception):
- with self.assertLogs(level=ERROR) as err:
- reload(opentelemetry.propagate)
- self.assertIn(
- "Failed to load configured propagator `unknown`",
- err.output[0],
- )
+ with self.assertRaises(ValueError) as cm:
+ # pylint: disable=import-outside-toplevel
+ import opentelemetry.propagate
+
+ reload(opentelemetry.propagate)
+
+ self.assertEqual(
+ str(cm.exception),
+ "Propagator unknown not found. It is either misspelled or not installed.",
+ )
class TestTraceContextTextMapPropagator(TestCase):
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-parse_type for openSUSE:Factory checked in at 2023-12-11 21:50:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-parse_type (Old)
and /work/SRC/openSUSE:Factory/.python-parse_type.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-parse_type"
Mon Dec 11 21:50:40 2023 rev:7 rq:1132369 version:0.6.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-parse_type/python-parse_type.changes 2023-07-03 17:43:04.696822030 +0200
+++ /work/SRC/openSUSE:Factory/.python-parse_type.new.25432/python-parse_type.changes 2023-12-11 21:50:51.216199650 +0100
@@ -1,0 +2,11 @@
+Sun Dec 10 21:39:08 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 0.6.2:
+ * #21: tests/test_parse.py tests ``parse_type.parse`` (per
+ default).
+ * REASON: Using for older installed ``parse`` module may
+ cause weird problems.
+ * RELATED TO: ``parse v1.19.1`` (behavior changed compared to
+ ``v1.19.0``)
+
+-------------------------------------------------------------------
Old:
----
v0.6.1.tar.gz
New:
----
v0.6.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-parse_type.spec ++++++
--- /var/tmp/diff_new_pack.aOvY4s/_old 2023-12-11 21:50:51.896224833 +0100
+++ /var/tmp/diff_new_pack.aOvY4s/_new 2023-12-11 21:50:51.900224981 +0100
@@ -18,7 +18,7 @@
%bcond_without python2
Name: python-parse_type
-Version: 0.6.1
+Version: 0.6.2
Release: 0
Summary: Extension to the parse module
License: MIT
++++++ v0.6.1.tar.gz -> v0.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parse_type-0.6.1/.bumpversion.cfg new/parse_type-0.6.2/.bumpversion.cfg
--- old/parse_type-0.6.1/.bumpversion.cfg 2023-07-02 09:25:25.000000000 +0200
+++ new/parse_type-0.6.2/.bumpversion.cfg 2023-07-04 06:43:58.000000000 +0200
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 0.6.1
+current_version = 0.6.2
files = setup.py parse_type/__init__.py .bumpversion.cfg
commit = False
tag = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parse_type-0.6.1/CHANGES.txt new/parse_type-0.6.2/CHANGES.txt
--- old/parse_type-0.6.1/CHANGES.txt 2023-07-02 09:25:25.000000000 +0200
+++ new/parse_type-0.6.2/CHANGES.txt 2023-07-04 06:43:58.000000000 +0200
@@ -10,6 +10,15 @@
* Drop support for Python 2.7
* Support Python >= 3.7 (probably)
+Version: 0.6.2 (2023-07-04)
+-------------------------------------------------------------------------------
+
+FIXES:
+
+* #21: tests/test_parse.py tests ``parse_type.parse`` (per default).
+ REASON: Using for older installed ``parse`` module may cause weird problems.
+ RELATED TO: ``parse v1.19.1`` (behavior changed compared to ``v1.19.0``)
+
Version: 0.6.1 (2023-07-02)
-------------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parse_type-0.6.1/parse_type/__init__.py new/parse_type-0.6.2/parse_type/__init__.py
--- old/parse_type-0.6.1/parse_type/__init__.py 2023-07-02 09:25:25.000000000 +0200
+++ new/parse_type-0.6.2/parse_type/__init__.py 2023-07-04 06:43:58.000000000 +0200
@@ -11,4 +11,4 @@
from parse_type.builder import TypeBuilder, build_type_dict
__all__ = ["Cardinality", "TypeBuilder", "build_type_dict"]
-__version__ = "0.6.1"
+__version__ = "0.6.2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parse_type-0.6.1/pyproject.toml new/parse_type-0.6.2/pyproject.toml
--- old/parse_type-0.6.1/pyproject.toml 2023-07-02 09:25:25.000000000 +0200
+++ new/parse_type-0.6.2/pyproject.toml 2023-07-04 06:43:58.000000000 +0200
@@ -24,7 +24,7 @@
"Environment :: Console",
"Environment :: Web Environment",
"Intended Audience :: Developers",
- "License :: OSI Approved :: MIT",
+ "License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parse_type-0.6.1/setup.py new/parse_type-0.6.2/setup.py
--- old/parse_type-0.6.1/setup.py 2023-07-02 09:25:25.000000000 +0200
+++ new/parse_type-0.6.2/setup.py 2023-07-04 06:43:58.000000000 +0200
@@ -53,7 +53,7 @@
# -----------------------------------------------------------------------------
setup(
name = "parse_type",
- version = "0.6.1",
+ version = "0.6.2",
author = "Jens Engel",
author_email = "jenisys(a)noreply.github.com",
url = "https://github.com/jenisys/parse_type",
@@ -108,7 +108,7 @@
"Environment :: Console",
"Environment :: Web Environment",
"Intended Audience :: Developers",
- "License :: OSI Approved :: BSD License",
+ "License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parse_type-0.6.1/tests/test_parse.py new/parse_type-0.6.2/tests/test_parse.py
--- old/parse_type-0.6.1/tests/test_parse.py 2023-07-02 09:25:25.000000000 +0200
+++ new/parse_type-0.6.2/tests/test_parse.py 2023-07-04 06:43:58.000000000 +0200
@@ -26,9 +26,10 @@
# -- EXTENSION:
import os
-PARSE_MODULE = os.environ.get("PARSE_TYPE_PARSE_MODULE", "parse")
+PARSE_MODULE = os.environ.get("PARSE_TYPE_PARSE_MODULE", "parse_type")
if PARSE_MODULE.startswith("parse_type"):
- # -- USE VENDOR MODULE: parse_type.parse (probably older that original)
+ # -- USE EMBEDDED PARSE MODULE: parse_type.parse
+ # HINT: Has either same version or is older than original module.
from parse_type import parse
else:
# -- USE ORIGINAL MODULE: parse
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nextcloud-desktop for openSUSE:Factory checked in at 2023-12-11 21:50:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nextcloud-desktop (Old)
and /work/SRC/openSUSE:Factory/.nextcloud-desktop.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nextcloud-desktop"
Mon Dec 11 21:50:33 2023 rev:58 rq:1132357 version:3.10.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/nextcloud-desktop/nextcloud-desktop.changes 2023-10-25 18:05:43.740307663 +0200
+++ /work/SRC/openSUSE:Factory/.nextcloud-desktop.new.25432/nextcloud-desktop.changes 2023-12-11 21:50:46.848037885 +0100
@@ -1,0 +2,49 @@
+Sat Dec 9 03:43:16 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 3.10.2:
+ * Fix folder wizard warning color for local path in dark mode
+ (gh#nextcloud/desktop#6068).
+ * Bugfix/remove dead oauth code (gh#nextcloud/desktop#6075).
+ * Open Nextcloud after installation on macOS
+ (gh#nextcloud/desktop#6076).
+ * Fix Chunk v2 upload headers (gh#nextcloud/desktop#6086).
+ * Bugfix/legacy migration (gh#nextcloud/desktop#6095).
+ * Prevent empty password being passed into share creation
+ (gh#nextcloud/desktop#6107).
+ * Unhide discovery logs for file deleted on the server and for
+ discovered file (gh#nextcloud/desktop#6116).
+ * Fix issues on manpages (gh#nextcloud/desktop#6122).
+ * Fix chunk v2 destination header (gh#nextcloud/desktop#6141).
+ * Bugfix/restore folders recursively
+ (gh#nextcloud/desktop#6143).
+ * Show more informative error message when VFS hydration fails.
+ Displaya popup and put an error into activity list. More
+ detailed logs. (gh#nextcloud/desktop#6153).
+ * Do not show failure popul for VFS when hydration finished with
+ code 200 or 204. (gh#nextcloud/desktop#6163).
+ * Upgrade to Mac OS 12.0.0. (gh#nextcloud/desktop#6171).
+ * Enforce virtual file type when it is falsely marked as
+ non-virtual. Added more logs for scenarios when virtual
+ placeholder gets marked as non-virtual.
+ (gh#nextcloud/desktop#6172).
+ * we require version 12.0+ for macOS
+ (gh#nextcloud/desktop#6175).
+ * Fix crash when clicking on import legacy account dialog 'Skip'
+ button. (gh#nextcloud/desktop#6208).
+ * avoid restore algorithm by setting the data fingerprint from
+ sync DB (gh#nextcloud/desktop#6241).
+ * Fix crash. Remove unnecessary dependency injection causing
+ crash. (gh#nextcloud/desktop#6252).
+ * Fix. Bulk upload. Accumulate sent bytes. Fix negative value in
+ UI. (gh#nextcloud/desktop#6253).
+ * Bugfix/vfs toggle fix (gh#nextcloud/desktop#6251).
+ * maintain lock state if unlock happens during sync
+ (gh#nextcloud/desktop#6259).
+ * avoid modifying a placeholder (virtual files) when not needed
+ (gh#nextcloud/desktop#6262).
+ * Fix build with latest NextcloudKit, caused by search for
+ XCTest and friends (gh#nextcloud/desktop#6266).
+ * Feature. Do not allow move of external storage mounted
+ folders. (gh#nextcloud/desktop#6268).
+
+-------------------------------------------------------------------
Old:
----
nextcloud-desktop-3.10.1.tar.gz
New:
----
nextcloud-desktop-3.10.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nextcloud-desktop.spec ++++++
--- /var/tmp/diff_new_pack.EKF76B/_old 2023-12-11 21:50:47.708069734 +0100
+++ /var/tmp/diff_new_pack.EKF76B/_new 2023-12-11 21:50:47.712069882 +0100
@@ -19,7 +19,7 @@
%define soname libnextcloudsync
%define sover 0
Name: nextcloud-desktop
-Version: 3.10.1
+Version: 3.10.2
Release: 0
Summary: Nextcloud desktop synchronisation client
License: GPL-2.0-or-later AND LGPL-3.0-or-later
++++++ nextcloud-desktop-3.10.1.tar.gz -> nextcloud-desktop-3.10.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/nextcloud-desktop/nextcloud-desktop-3.10.1.tar.gz /work/SRC/openSUSE:Factory/.nextcloud-desktop.new.25432/nextcloud-desktop-3.10.2.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 kor for openSUSE:Factory checked in at 2023-12-11 21:50:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kor (Old)
and /work/SRC/openSUSE:Factory/.kor.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kor"
Mon Dec 11 21:50:30 2023 rev:8 rq:1132354 version:0.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/kor/kor.changes 2023-11-30 22:02:35.667891075 +0100
+++ /work/SRC/openSUSE:Factory/.kor.new.25432/kor.changes 2023-12-11 21:50:40.991821013 +0100
@@ -1,0 +2,11 @@
+Sun Dec 10 19:15:44 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 0.3.2:
+ * Add labels to all templates. (#174)
+ * Fix command in templates. (#175)
+ * Fix exporterInterval variable. (#176)
+ * feat: find evicted pods (#173)
+ * feat: add jobs cleaner (#168)
+ * Add discord server to Readme (#171)
+
+-------------------------------------------------------------------
Old:
----
kor-0.3.1.obscpio
New:
----
kor-0.3.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kor.spec ++++++
--- /var/tmp/diff_new_pack.ORjqk5/_old 2023-12-11 21:50:42.527877897 +0100
+++ /var/tmp/diff_new_pack.ORjqk5/_new 2023-12-11 21:50:42.531878046 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: kor
-Version: 0.3.1
+Version: 0.3.2
Release: 0
Summary: Tool to discover unused Kubernetes Resources
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.ORjqk5/_old 2023-12-11 21:50:42.575879675 +0100
+++ /var/tmp/diff_new_pack.ORjqk5/_new 2023-12-11 21:50:42.575879675 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/yonahd/kor</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.3.1</param>
+ <param name="revision">v0.3.2</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ORjqk5/_old 2023-12-11 21:50:42.603880712 +0100
+++ /var/tmp/diff_new_pack.ORjqk5/_new 2023-12-11 21:50:42.607880860 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/yonahd/kor</param>
- <param name="changesrevision">a459be1a0dfcf5d96ab0ed8c86ec8dc2d675de39</param></service></servicedata>
+ <param name="changesrevision">d5ad46865819f405591a7c37f34b631f8d756c89</param></service></servicedata>
(No newline at EOF)
++++++ kor-0.3.1.obscpio -> kor-0.3.2.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/README.md new/kor-0.3.2/README.md
--- old/kor-0.3.1/README.md 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/README.md 2023-12-09 22:04:13.000000000 +0100
@@ -2,6 +2,8 @@
![GitHub release (with filter)](https://img.shields.io/github/v/release/yonahd/kor?color=green&lin…)
![Docker Pulls](https://img.shields.io/docker/pulls/yonahdissen/kor)
[![codecov](https://codecov.io/gh/yonahd/kor/branch/main/graph/badge.svg?token=tNKcOjlxLo)](https://codecov.io/gh/yonahd/kor)
+[![Discord](https://discord.com/api/guilds/1159544275722321990/embed.png)](https://discord.gg/ajptYPwcJY)
+
# Kor - Kubernetes Orphaned Resources Finder
@@ -22,6 +24,8 @@
- PDBs
- CRDs
- PVs
+- Pods
+- Jobs
![Kor Screenshot](/images/screenshot.png)
@@ -82,11 +86,13 @@
- `statefulsets` - Gets unused StatefulSets for the specified namespace or all namespaces.
- `role` - Gets unused Roles for the specified namespace or all namespaces.
- `hpa` - Gets unused HPAs for the specified namespace or all namespaces.
+- `pods` - Gets unused Pods for the specified namespace or all namespaces.
- `pvc` - Gets unused PVCs for the specified namespace or all namespaces.
- `pv` - Gets unused PVs in the cluster(non namespaced resource).
- `ingress` - Gets unused Ingresses for the specified namespace or all namespaces.
- `pdb` - Gets unused PDBs for the specified namespace or all namespaces.
- `crd` - Gets unused CRDs in the cluster(non namespaced resource).
+- `jobs` - Gets unused jobs for the specified namespace or all namespaces.
- `exporter` - Export Prometheus metrics.
### Supported Flags
@@ -122,10 +128,10 @@
## Supported resources and limitations
-| Resource | What it looks for | Known False Positives ⚠️ |
+| Resource | What it looks for | Known False Positives ⚠️ |
|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
| ConfigMaps | ConfigMaps not used in the following places:<br/>- Pods<br/>- Containers<br/>- ConfigMaps used through Volumes<br/>- ConfigMaps used through environment variables | ConfigMaps used by resources which don't explicitly state them in the config.<br/> e.g Grafana dashboards loaded dynamically OPA policies fluentd configs |
-| Secrets | Secrets not used in the following places:<br/>- Pods<br/>- Containers<br/>- Secrets used through volumes<br/>- Secrets used through environment variables<br/>- Secrets used by Ingress TLS<br/>- Secrets used by ServiceAccounts | Secrets used by resources which don't explicitly state them in the config |
+| Secrets | Secrets not used in the following places:<br/>- Pods<br/>- Containers<br/>- Secrets used through volumes<br/>- Secrets used through environment variables<br/>- Secrets used by Ingress TLS<br/>- Secrets used by ServiceAccounts | Secrets used by resources which don't explicitly state them in the config |
| Services | Services with no endpoints | |
| Deployments | Deployments with no Replicas | |
| ServiceAccounts | ServiceAccounts unused by Pods<br/>ServiceAccounts unused by roleBinding or clusterRoleBinding | |
@@ -137,7 +143,7 @@
| CRDs | CRDs not used the cluster | |
| Pvs | PVs not bound to a PVC | |
| Pdbs | PDBs not used in Deployments<br/> PDBs not used in StatefulSets | |
-
+| Jobs | Jobs status is completed | |
## Deleting Unused resources
If you want to delete resources in an interactive way using Kor you can run:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/Chart.yaml new/kor-0.3.2/charts/kor/Chart.yaml
--- old/kor-0.3.1/charts/kor/Chart.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/Chart.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -15,10 +15,10 @@
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 0.1.2
+version: 0.1.3
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
-appVersion: "0.2.8"
+appVersion: "0.3.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/templates/cronjob.yaml new/kor-0.3.2/charts/kor/templates/cronjob.yaml
--- old/kor-0.3.1/charts/kor/templates/cronjob.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/templates/cronjob.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -4,6 +4,7 @@
metadata:
name: {{ .Release.Name }}
labels:
+ {{- include "kor.labels" . | nindent 4 }}
app: {{ .Release.Name }}
spec:
schedule: {{ .Values.cronJob.schedule }}
@@ -17,9 +18,13 @@
containers:
- name: {{ .Release.Name }}-container
image: {{ .Values.cronJob.image.repository }}:{{ .Values.cronJob.image.tag }}
- command: ["/bin/sh", "-c"]
+ command:
+ {{- toYaml .Values.cronJob.command | nindent 16 }}
+ args:
+ {{- toYaml .Values.cronJob.args | nindent 16 }}
{{- if .Values.cronJob.slackWebhookUrl }}
- args: ["{{ .Values.cronJob.command }} --slack-webhook-url $SLACK_WEBHOOK_URL"]
+ - '--slack-webhook-url'
+ - "${SLACK_WEBHOOK_URL}"
env:
- name: SLACK_WEBHOOK_URL
valueFrom:
@@ -27,15 +32,16 @@
name: {{ .Release.Name }}-slack-webhook-url-secret
key: slack-webhook-url
{{- else if and .Values.cronJob.slackChannel .Values.cronJob.slackAuthToken }}
- args: ["{{ .Values.cronJob.command }} --slack-channel {{ .Values.cronJob.slackChannel }} --slack-auth-token $SLACK_AUTH_TOKEN"]
+ - '--slack-channel'
+ - {{ .Values.cronJob.slackChannel | quote }}
+ - '--slack-auth-token'
+ - "${SLACK_AUTH_TOKEN}"
env:
- name: SLACK_AUTH_TOKEN
valueFrom:
secretKeyRef:
name: {{ .Release.Name }}-slack-auth-token-secret
key: slack-auth-token
- {{- else }}
- args: ["{{ .Values.cronJob.command }}"]
{{- end }}
{{- if .Values.cronJob.env }}
env:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/templates/deployment.yaml new/kor-0.3.2/charts/kor/templates/deployment.yaml
--- old/kor-0.3.1/charts/kor/templates/deployment.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/templates/deployment.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -4,6 +4,7 @@
metadata:
name: {{ .Values.prometheusExporter.name }}
labels:
+ {{- include "kor.labels" . | nindent 4 }}
app: {{ .Values.prometheusExporter.name }}
spec:
{{- with .Values.prometheusExporter.deployment.imagePullSecrets }}
@@ -27,8 +28,10 @@
{{ toYaml . | nindent 12 }}
{{- end }}
image: "{{ .Values.prometheusExporter.deployment.image.repository }}:{{ .Values.prometheusExporter.deployment.image.tag }}"
- command: ["/bin/sh", "-c"]
- args: ["{{ .Values.prometheusExporter.deployment.command }}"]
+ command:
+ {{- toYaml .Values.prometheusExporter.command | nindent 12 }}
+ args:
+ {{- toYaml .Values.prometheusExporter.args | nindent 12 }}
ports:
- containerPort: 8080
name: http
@@ -40,7 +43,7 @@
{{- if .Values.prometheusExporter.exporterInterval }}
env:
- name: EXPORTER_INTERVAL
- value: {{ .Values.prometheusExporter.exporterInterval }}
+ value: {{ .Values.prometheusExporter.exporterInterval | quote}}
{{- end}}
{{- with .Values.prometheusExporter.deployment.nodeSelector }}
nodeSelector:
@@ -63,4 +66,4 @@
securityContext:
{{- toYaml . | nindent 8}}
{{- end }}
-{{- end }}
\ No newline at end of file
+{{- end }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/templates/role.yaml new/kor-0.3.2/charts/kor/templates/role.yaml
--- old/kor-0.3.1/charts/kor/templates/role.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/templates/role.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -3,6 +3,8 @@
kind: Role
metadata:
name: {{ include "kor.serviceAccountName" . }}-read-resources-role
+ labels:
+ {{- include "kor.labels" . | nindent 4 }}
rules:
- apiGroups: ["*"]
resources:
@@ -32,6 +34,8 @@
kind: ClusterRole
metadata:
name: {{ include "kor.serviceAccountName" . }}-read-resources-clusterrole
+ labels:
+ {{- include "kor.labels" . | nindent 4 }}
rules:
- apiGroups: ["*"]
resources:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/templates/rolebinding.yaml new/kor-0.3.2/charts/kor/templates/rolebinding.yaml
--- old/kor-0.3.1/charts/kor/templates/rolebinding.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/templates/rolebinding.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -3,6 +3,8 @@
kind: RoleBinding
metadata:
name: {{ include "kor.serviceAccountName" . }}-read-resources-role-binding
+ labels:
+ {{- include "kor.labels" . | nindent 4 }}
subjects:
- kind: ServiceAccount
name: {{ include "kor.serviceAccountName" . }}
@@ -15,6 +17,8 @@
kind: ClusterRoleBinding
metadata:
name: {{ include "kor.serviceAccountName" . }}-read-resources-clusterrolebinding
+ labels:
+ {{- include "kor.labels" . | nindent 4 }}
subjects:
- kind: ServiceAccount
name: {{ include "kor.serviceAccountName" . }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/templates/secret.yaml new/kor-0.3.2/charts/kor/templates/secret.yaml
--- old/kor-0.3.1/charts/kor/templates/secret.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/templates/secret.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -4,6 +4,8 @@
kind: Secret
metadata:
name: {{ .Release.Name }}-slack-auth-token-secret
+ labels:
+ {{- include "kor.labels" . | nindent 4 }}
type: Opaque
data:
slack-auth-token: {{ .Values.cronJob.slackAuthToken | b64enc | quote }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/templates/service.yaml new/kor-0.3.2/charts/kor/templates/service.yaml
--- old/kor-0.3.1/charts/kor/templates/service.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/templates/service.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -8,6 +8,7 @@
prometheus.io/path: /metrics
prometheus.io/port: "8080"
labels:
+ {{- include "kor.labels" . | nindent 4 }}
app: {{ .Values.prometheusExporter.name }}
spec:
type: {{ .Values.prometheusExporter.service.type }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/templates/servicemonitor.yaml new/kor-0.3.2/charts/kor/templates/servicemonitor.yaml
--- old/kor-0.3.1/charts/kor/templates/servicemonitor.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/templates/servicemonitor.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -3,6 +3,7 @@
kind: ServiceMonitor
metadata:
labels:
+ {{- include "kor.labels" . | nindent 4 }}
app: {{ .Values.prometheusExporter.name }}
name: {{ .Values.prometheusExporter.name }}
{{- if .Values.prometheusExporter.serviceMonitor.namespace }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/charts/kor/values.yaml new/kor-0.3.2/charts/kor/values.yaml
--- old/kor-0.3.1/charts/kor/values.yaml 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/charts/kor/values.yaml 2023-12-09 22:04:13.000000000 +0100
@@ -6,7 +6,10 @@
repository: yonahdissen/kor
tag: latest
# e.g. kor configmap --include-namespace default,other-ns
- command: kor all
+ command:
+ - kor
+ args:
+ - all
slackWebhookUrl: ""
slackChannel: ""
slackAuthToken: ""
@@ -19,11 +22,14 @@
name: kor-exporter
# time in minutes, default is 10 minutes
exporterInterval: ""
+ command:
+ - kor
+ args:
+ - exporter
deployment:
image:
repository: yonahdissen/kor
tag: latest
- command: kor exporter
restartPolicy: Always
imagePullPolicy: Always
imagePullSecrets: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/cmd/kor/jobs.go new/kor-0.3.2/cmd/kor/jobs.go
--- old/kor-0.3.1/cmd/kor/jobs.go 1970-01-01 01:00:00.000000000 +0100
+++ new/kor-0.3.2/cmd/kor/jobs.go 2023-12-09 22:04:13.000000000 +0100
@@ -0,0 +1,29 @@
+package kor
+
+import (
+ "fmt"
+
+ "github.com/spf13/cobra"
+ "github.com/yonahd/kor/pkg/kor"
+ "github.com/yonahd/kor/pkg/utils"
+)
+
+var jobCmd = &cobra.Command{
+ Use: "job",
+ Aliases: []string{"job", "jobs"},
+ Short: "Gets unused jobs",
+ Args: cobra.ExactArgs(0),
+ Run: func(cmd *cobra.Command, args []string) {
+ clientset := kor.GetKubeClient(kubeconfig)
+ if response, err := kor.GetUnusedJobs(includeExcludeLists, filterOptions, clientset, outputFormat, opts); err != nil {
+ fmt.Println(err)
+ } else {
+ utils.PrintLogo(outputFormat)
+ fmt.Println(response)
+ }
+ },
+}
+
+func init() {
+ rootCmd.AddCommand(jobCmd)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/cmd/kor/pods.go new/kor-0.3.2/cmd/kor/pods.go
--- old/kor-0.3.1/cmd/kor/pods.go 1970-01-01 01:00:00.000000000 +0100
+++ new/kor-0.3.2/cmd/kor/pods.go 2023-12-09 22:04:13.000000000 +0100
@@ -0,0 +1,29 @@
+package kor
+
+import (
+ "fmt"
+
+ "github.com/spf13/cobra"
+ "github.com/yonahd/kor/pkg/kor"
+ "github.com/yonahd/kor/pkg/utils"
+)
+
+var podCmd = &cobra.Command{
+ Use: "pod",
+ Aliases: []string{"po", "pods"},
+ Short: "Gets unused pods",
+ Args: cobra.ExactArgs(0),
+ Run: func(cmd *cobra.Command, args []string) {
+ clientset := kor.GetKubeClient(kubeconfig)
+ if response, err := kor.GetUnusedPods(includeExcludeLists, filterOptions, clientset, outputFormat, opts); err != nil {
+ fmt.Println(err)
+ } else {
+ utils.PrintLogo(outputFormat)
+ fmt.Println(response)
+ }
+ },
+}
+
+func init() {
+ rootCmd.AddCommand(podCmd)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/pkg/kor/all.go new/kor-0.3.2/pkg/kor/all.go
--- old/kor-0.3.1/pkg/kor/all.go 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/pkg/kor/all.go 2023-12-09 22:04:13.000000000 +0100
@@ -138,6 +138,24 @@
return allPvDiff
}
+func getUnusedPods(clientset kubernetes.Interface, namespace string, filterOpts *FilterOptions) ResourceDiff {
+ podDiff, err := ProcessNamespacePods(clientset, namespace, filterOpts)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Failed to get %s namespace %s: %v\n", "pods", namespace, err)
+ }
+ namespacePodDiff := ResourceDiff{"Pod", podDiff}
+ return namespacePodDiff
+}
+
+func getUnusedJobs(clientset kubernetes.Interface, namespace string, filterOpts *FilterOptions) ResourceDiff {
+ jobDiff, err := ProcessNamespaceJobs(clientset, namespace, filterOpts)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Failed to get %s namespace %s: %v\n", "jobs", namespace, err)
+ }
+ namespaceSADiff := ResourceDiff{"Job", jobDiff}
+ return namespaceSADiff
+}
+
func GetUnusedAll(includeExcludeLists IncludeExcludeLists, filterOpts *FilterOptions, clientset kubernetes.Interface, apiExtClient apiextensionsclientset.Interface, dynamicClient dynamic.Interface, outputFormat string, opts Opts) (string, error) {
var outputBuffer bytes.Buffer
@@ -168,6 +186,8 @@
allDiffs = append(allDiffs, namespaceIngressDiff)
namespacePdbDiff := getUnusedPdbs(clientset, namespace, filterOpts)
allDiffs = append(allDiffs, namespacePdbDiff)
+ namespaceJobDiff := getUnusedJobs(clientset, namespace, filterOpts)
+ allDiffs = append(allDiffs, namespaceJobDiff)
output := FormatOutputAll(namespace, allDiffs, opts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/pkg/kor/create_test_resources.go new/kor-0.3.2/pkg/kor/create_test_resources.go
--- old/kor-0.3.1/pkg/kor/create_test_resources.go 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/pkg/kor/create_test_resources.go 2023-12-09 22:04:13.000000000 +0100
@@ -3,6 +3,7 @@
import (
appsv1 "k8s.io/api/apps/v1"
autoscalingv2 "k8s.io/api/autoscaling/v2"
+ batchv1 "k8s.io/api/batch/v1"
corev1 "k8s.io/api/core/v1"
networkingv1 "k8s.io/api/networking/v1"
policyv1 "k8s.io/api/policy/v1"
@@ -259,3 +260,26 @@
},
}
}
+
+func CreateTestJob(namespace, name string, status *batchv1.JobStatus) *batchv1.Job {
+ return &batchv1.Job{
+ ObjectMeta: v1.ObjectMeta{
+ Name: name,
+ Namespace: namespace,
+ },
+ Spec: batchv1.JobSpec{
+ Template: corev1.PodTemplateSpec{
+ Spec: corev1.PodSpec{
+ Containers: []corev1.Container{
+ {
+ Name: "test",
+ Image: "test",
+ },
+ },
+ RestartPolicy: corev1.RestartPolicyNever,
+ },
+ },
+ },
+ Status: *status,
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/pkg/kor/delete.go new/kor-0.3.2/pkg/kor/delete.go
--- old/kor-0.3.1/pkg/kor/delete.go 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/pkg/kor/delete.go 2023-12-09 22:04:13.000000000 +0100
@@ -7,6 +7,8 @@
"reflect"
"strings"
+ batchv1 "k8s.io/api/batch/v1"
+
appsv1 "k8s.io/api/apps/v1"
autoscalingv1 "k8s.io/api/autoscaling/v1"
corev1 "k8s.io/api/core/v1"
@@ -55,6 +57,12 @@
"PV": func(clientset kubernetes.Interface, namespace, name string) error {
return clientset.CoreV1().PersistentVolumes().Delete(context.TODO(), name, metav1.DeleteOptions{})
},
+ "Pod": func(clientset kubernetes.Interface, namespace, name string) error {
+ return clientset.CoreV1().Pods(namespace).Delete(context.TODO(), name, metav1.DeleteOptions{})
+ },
+ "Job": func(clientset kubernetes.Interface, namespace, name string) error {
+ return clientset.BatchV1().Jobs(namespace).Delete(context.TODO(), name, metav1.DeleteOptions{})
+ },
}
return deleteResourceApiMap
@@ -108,6 +116,10 @@
return clientset.CoreV1().ServiceAccounts(namespace).Update(context.TODO(), resource.(*corev1.ServiceAccount), metav1.UpdateOptions{})
case "PV":
return clientset.CoreV1().PersistentVolumes().Update(context.TODO(), resource.(*corev1.PersistentVolume), metav1.UpdateOptions{})
+ case "Pod":
+ return clientset.CoreV1().Pods(namespace).Update(context.TODO(), resource.(*corev1.Pod), metav1.UpdateOptions{})
+ case "Job":
+ return clientset.BatchV1().Jobs(namespace).Update(context.TODO(), resource.(*batchv1.Job), metav1.UpdateOptions{})
}
return nil, fmt.Errorf("resource type '%s' is not supported", resourceType)
}
@@ -138,6 +150,10 @@
return clientset.CoreV1().ServiceAccounts(namespace).Get(context.TODO(), resourceName, metav1.GetOptions{})
case "PV":
return clientset.CoreV1().PersistentVolumes().Get(context.TODO(), resourceName, metav1.GetOptions{})
+ case "Pod":
+ return clientset.CoreV1().Pods(namespace).Get(context.TODO(), resourceName, metav1.GetOptions{})
+ case "Job":
+ return clientset.BatchV1().Jobs(namespace).Get(context.TODO(), resourceName, metav1.GetOptions{})
}
return nil, fmt.Errorf("resource type '%s' is not supported", resourceType)
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/pkg/kor/jobs.go new/kor-0.3.2/pkg/kor/jobs.go
--- old/kor-0.3.1/pkg/kor/jobs.go 1970-01-01 01:00:00.000000000 +0100
+++ new/kor-0.3.2/pkg/kor/jobs.go 2023-12-09 22:04:13.000000000 +0100
@@ -0,0 +1,85 @@
+package kor
+
+import (
+ "bytes"
+ "context"
+ "encoding/json"
+ "fmt"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/client-go/kubernetes"
+ "os"
+)
+
+func ProcessNamespaceJobs(clientset kubernetes.Interface, namespace string, filterOpts *FilterOptions) ([]string, error) {
+ jobsList, err := clientset.BatchV1().Jobs(namespace).List(context.TODO(), metav1.ListOptions{})
+ if err != nil {
+ return nil, err
+ }
+
+ var unusedJobNames []string
+
+ for _, job := range jobsList.Items {
+ if job.Labels["kor/used"] == "true" {
+ continue
+ }
+
+ // checks if the resource has any labels that match the excluded selector specified in opts.ExcludeLabels.
+ // If it does, the resource is skipped.
+ if excluded, _ := HasExcludedLabel(job.Labels, filterOpts.ExcludeLabels); excluded {
+ continue
+ }
+ // checks if the resource's age (measured from its last modified time) matches the included criteria
+ // specified by the filter options.
+ if included, _ := HasIncludedAge(job.CreationTimestamp, filterOpts); !included {
+ continue
+ }
+
+ // if the job has completionTime and succeeded count greater than zero, think the job is completed
+ if job.Status.CompletionTime != nil && job.Status.Succeeded > 0 {
+ unusedJobNames = append(unusedJobNames, job.Name)
+ }
+ }
+
+ return unusedJobNames, nil
+}
+
+func GetUnusedJobs(includeExcludeLists IncludeExcludeLists, filterOpts *FilterOptions, clientset kubernetes.Interface, outputFormat string, opts Opts) (string, error) {
+ var outputBuffer bytes.Buffer
+ namespaces := SetNamespaceList(includeExcludeLists, clientset)
+ response := make(map[string]map[string][]string)
+
+ for _, namespace := range namespaces {
+ diff, err := ProcessNamespaceJobs(clientset, namespace, filterOpts)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
+ continue
+ }
+
+ if opts.DeleteFlag {
+ if diff, err = DeleteResource(diff, clientset, namespace, "Job", opts.NoInteractive); err != nil {
+ fmt.Fprintf(os.Stderr, "Failed to delete Job %s in namespace %s: %v\n", diff, namespace, err)
+ }
+ }
+ output := FormatOutput(namespace, diff, "Job", opts)
+ if output != "" {
+ outputBuffer.WriteString(output)
+ outputBuffer.WriteString("\n")
+
+ resourceMap := make(map[string][]string)
+ resourceMap["Jobs"] = diff
+ response[namespace] = resourceMap
+ }
+ }
+
+ jsonResponse, err := json.MarshalIndent(response, "", " ")
+ if err != nil {
+ return "", err
+ }
+
+ unusedJobs, err := unusedResourceFormatter(outputFormat, outputBuffer, opts, jsonResponse)
+ if err != nil {
+ fmt.Printf("err: %v\n", err)
+ }
+
+ return unusedJobs, nil
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/pkg/kor/jobs_test.go new/kor-0.3.2/pkg/kor/jobs_test.go
--- old/kor-0.3.1/pkg/kor/jobs_test.go 1970-01-01 01:00:00.000000000 +0100
+++ new/kor-0.3.2/pkg/kor/jobs_test.go 2023-12-09 22:04:13.000000000 +0100
@@ -0,0 +1,108 @@
+package kor
+
+import (
+ "context"
+ "encoding/json"
+ appsv1 "k8s.io/api/apps/v1"
+ batchv1 "k8s.io/api/batch/v1"
+ corev1 "k8s.io/api/core/v1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/client-go/kubernetes/fake"
+ "k8s.io/client-go/kubernetes/scheme"
+ "reflect"
+ "testing"
+ "time"
+)
+
+func createTestJobs(t *testing.T) *fake.Clientset {
+ clientset := fake.NewSimpleClientset()
+
+ _, err := clientset.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{
+ ObjectMeta: v1.ObjectMeta{Name: testNamespace},
+ }, v1.CreateOptions{})
+
+ if err != nil {
+ t.Fatalf("Error creating namespace %s: %v", testNamespace, err)
+ }
+
+ job1 := CreateTestJob(testNamespace, "test-job1", &batchv1.JobStatus{
+ Succeeded: 0,
+ Failed: 1,
+ })
+ job2 := CreateTestJob(testNamespace, "test-job2", &batchv1.JobStatus{
+ Succeeded: 1,
+ Failed: 0,
+ CompletionTime: &v1.Time{Time: time.Now()},
+ })
+
+ _, err = clientset.BatchV1().Jobs(testNamespace).Create(context.TODO(), job1, v1.CreateOptions{})
+ if err != nil {
+ t.Fatalf("Error creating fake job: %v", err)
+ }
+
+ _, err = clientset.BatchV1().Jobs(testNamespace).Create(context.TODO(), job2, v1.CreateOptions{})
+ if err != nil {
+ t.Fatalf("Error creating fake job: %v", err)
+ }
+ return clientset
+}
+
+func TestProcessNamespaceJobs(t *testing.T) {
+ clientset := createTestJobs(t)
+
+ completedJobs, err := ProcessNamespaceJobs(clientset, testNamespace, &FilterOptions{})
+ if err != nil {
+ t.Errorf("Expected no error, got %v", err)
+ }
+
+ if len(completedJobs) != 1 {
+ t.Errorf("Expected 1 job been completed, got %d", len(completedJobs))
+ }
+
+ if completedJobs[0] != "test-job2" {
+ t.Errorf("job2', got %s", completedJobs[0])
+ }
+}
+
+func TestGetUnusedJobsStructured(t *testing.T) {
+ clientset := createTestJobs(t)
+
+ includeExcludeLists := IncludeExcludeLists{
+ IncludeListStr: "",
+ ExcludeListStr: "",
+ }
+
+ opts := Opts{
+ WebhookURL: "",
+ Channel: "",
+ Token: "",
+ DeleteFlag: false,
+ NoInteractive: true,
+ }
+
+ output, err := GetUnusedJobs(includeExcludeLists, &FilterOptions{}, clientset, "json", opts)
+ if err != nil {
+ t.Fatalf("Error calling GetUnusedJobsStructured: %v", err)
+ }
+
+ expectedOutput := map[string]map[string][]string{
+ testNamespace: {
+ "Jobs": {"test-job2"},
+ },
+ }
+
+ var actualOutput map[string]map[string][]string
+ if err := json.Unmarshal([]byte(output), &actualOutput); err != nil {
+ t.Fatalf("Error unmarshaling actual output: %v", err)
+ }
+
+ if !reflect.DeepEqual(expectedOutput, actualOutput) {
+ t.Errorf("Expected output does not match actual output")
+ }
+}
+
+func init() {
+ scheme.Scheme = runtime.NewScheme()
+ _ = appsv1.AddToScheme(scheme.Scheme)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/pkg/kor/multi.go new/kor-0.3.2/pkg/kor/multi.go
--- old/kor-0.3.1/pkg/kor/multi.go 2023-11-29 19:52:39.000000000 +0100
+++ new/kor-0.3.2/pkg/kor/multi.go 2023-12-09 22:04:13.000000000 +0100
@@ -68,6 +68,10 @@
diffResult = getUnusedIngresses(clientset, namespace, filterOpts)
case "pdb", "poddisruptionbudget", "poddisruptionbudgets":
diffResult = getUnusedPdbs(clientset, namespace, filterOpts)
+ case "po", "pod", "pods":
+ diffResult = getUnusedPods(clientset, namespace, filterOpts)
+ case "job", "jobs":
+ diffResult = getUnusedJobs(clientset, namespace, filterOpts)
default:
fmt.Printf("resource type %q is not supported\n", resource)
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/pkg/kor/pods.go new/kor-0.3.2/pkg/kor/pods.go
--- old/kor-0.3.1/pkg/kor/pods.go 1970-01-01 01:00:00.000000000 +0100
+++ new/kor-0.3.2/pkg/kor/pods.go 2023-12-09 22:04:13.000000000 +0100
@@ -0,0 +1,87 @@
+package kor
+
+import (
+ "bytes"
+ "context"
+ "encoding/json"
+ "fmt"
+ "os"
+
+ corev1 "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/client-go/kubernetes"
+)
+
+func ProcessNamespacePods(clientset kubernetes.Interface, namespace string, filterOpts *FilterOptions) ([]string, error) {
+ podsList, err := clientset.CoreV1().Pods(namespace).List(context.TODO(), metav1.ListOptions{})
+ if err != nil {
+ return nil, err
+ }
+
+ var evictedPods []string
+
+ for _, pod := range podsList.Items {
+ if pod.Labels["kor/used"] == "true" {
+ continue
+ }
+
+ // checks if the resource has any labels that match the excluded selector specified in opts.ExcludeLabels.
+ // If it does, the resource is skipped.
+ if excluded, _ := HasExcludedLabel(pod.Labels, filterOpts.ExcludeLabels); excluded {
+ continue
+ }
+ // checks if the resource's age (measured from its last modified time) matches the included criteria
+ // specified by the filter options.
+ if included, _ := HasIncludedAge(pod.CreationTimestamp, filterOpts); !included {
+ continue
+ }
+
+ if pod.Status.Phase == corev1.PodFailed && pod.Status.Reason == "Evicted" {
+ evictedPods = append(evictedPods, pod.Name)
+ }
+
+ }
+
+ return evictedPods, nil
+}
+
+func GetUnusedPods(includeExcludeLists IncludeExcludeLists, filterOpts *FilterOptions, clientset kubernetes.Interface, outputFormat string, opts Opts) (string, error) {
+ var outputBuffer bytes.Buffer
+ namespaces := SetNamespaceList(includeExcludeLists, clientset)
+ response := make(map[string]map[string][]string)
+
+ for _, namespace := range namespaces {
+ diff, err := ProcessNamespacePods(clientset, namespace, filterOpts)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Failed to process namespace %s: %v\n", namespace, err)
+ continue
+ }
+
+ if opts.DeleteFlag {
+ if diff, err = DeleteResource(diff, clientset, namespace, "Pod", opts.NoInteractive); err != nil {
+ fmt.Fprintf(os.Stderr, "Failed to delete Pod %s in namespace %s: %v\n", diff, namespace, err)
+ }
+ }
+ output := FormatOutput(namespace, diff, "Pods", opts)
+ if output != "" {
+ outputBuffer.WriteString(output)
+ outputBuffer.WriteString("\n")
+
+ resourceMap := make(map[string][]string)
+ resourceMap["Pods"] = diff
+ response[namespace] = resourceMap
+ }
+ }
+
+ jsonResponse, err := json.MarshalIndent(response, "", " ")
+ if err != nil {
+ return "", err
+ }
+
+ unusedPods, err := unusedResourceFormatter(outputFormat, outputBuffer, opts, jsonResponse)
+ if err != nil {
+ fmt.Printf("err: %v\n", err)
+ }
+
+ return unusedPods, nil
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kor-0.3.1/pkg/kor/pods_test.go new/kor-0.3.2/pkg/kor/pods_test.go
--- old/kor-0.3.1/pkg/kor/pods_test.go 1970-01-01 01:00:00.000000000 +0100
+++ new/kor-0.3.2/pkg/kor/pods_test.go 2023-12-09 22:04:13.000000000 +0100
@@ -0,0 +1,146 @@
+package kor
+
+import (
+ "context"
+ "encoding/json"
+ "reflect"
+ "testing"
+
+ corev1 "k8s.io/api/core/v1"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/runtime"
+
+ fake "k8s.io/client-go/kubernetes/fake"
+ "k8s.io/client-go/kubernetes/scheme"
+)
+
+func createTestPods(t *testing.T) *fake.Clientset {
+ clientset := fake.NewSimpleClientset()
+
+ _, err := clientset.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{
+ ObjectMeta: v1.ObjectMeta{Name: testNamespace},
+ }, v1.CreateOptions{})
+
+ if err != nil {
+ t.Fatalf("Error creating namespace %s: %v", testNamespace, err)
+ }
+
+ pod1 := CreateTestPod(testNamespace, "pod-1", "", nil)
+ pod1.Status = corev1.PodStatus{
+ Phase: corev1.PodRunning,
+ Reason: "",
+ Message: "",
+ }
+ pod2 := CreateTestPod(testNamespace, "pod-2", "", nil)
+ pod2.Status = corev1.PodStatus{
+ Phase: corev1.PodFailed,
+ Reason: "Evicted",
+ Message: "",
+ }
+
+ pod3 := CreateTestPod(testNamespace, "pod-3", "", nil)
+ pod3.Status = corev1.PodStatus{
+ Phase: corev1.PodFailed,
+ Reason: "CrashLoopBackOff",
+ Message: "",
+ }
+
+ pod4 := CreateTestPod(testNamespace, "pod-4", "", nil)
+ pod4.Status = corev1.PodStatus{
+ Phase: corev1.PodSucceeded,
+ Reason: "",
+ Message: "",
+ }
+
+ pod5 := CreateTestPod(testNamespace, "pod-5", "", nil)
+ pod5.Labels = map[string]string{"kor/used": "true"}
+ pod5.Status = corev1.PodStatus{
+ Phase: corev1.PodFailed,
+ Reason: "Evicted",
+ Message: "",
+ }
+
+ pod6 := CreateTestPod(testNamespace, "pod-6", "", nil)
+ pod6.Labels = map[string]string{"kor/used": "false"}
+ pod6.Status = corev1.PodStatus{
+ Phase: corev1.PodFailed,
+ Reason: "Evicted",
+ Message: "",
+ }
+
+ pods := []*corev1.Pod{pod1, pod2, pod3, pod4, pod5, pod6}
+
+ // Add test pods to the clientset
+ for _, pod := range pods {
+ _, err = clientset.CoreV1().Pods(pod.Namespace).Create(context.TODO(), pod, v1.CreateOptions{})
+ if err != nil {
+ t.Fatalf("Error creating fake pod: %v", err)
+ }
+ }
+
+ return clientset
+}
+
+func TestProcessNamespacePods(t *testing.T) {
+ clientset := createTestPods(t)
+ evictedPods, err := ProcessNamespacePods(clientset, testNamespace, &FilterOptions{})
+ if err != nil {
+ t.Errorf("Unexpected error: %v", err)
+ }
+
+ expectedEvictedPods := []string{"pod-2", "pod-6"}
+
+ if len(evictedPods) != len(expectedEvictedPods) {
+ t.Errorf("Expected %d evicted pods, got %d", len(expectedEvictedPods), len(evictedPods))
+ }
+
+ for i, pod := range evictedPods {
+ if pod != expectedEvictedPods[i] {
+ t.Errorf("Expected evicted pod %s, got %s", expectedEvictedPods[i], pod)
+ }
+ }
+}
+
+func TestGetUnusedPodsStructured(t *testing.T) {
+ clientset := createTestPods(t)
+
+ includeExcludeLists := IncludeExcludeLists{
+ IncludeListStr: "",
+ ExcludeListStr: "",
+ }
+
+ opts := Opts{
+ WebhookURL: "",
+ Channel: "",
+ Token: "",
+ DeleteFlag: false,
+ NoInteractive: true,
+ }
+
+ output, err := GetUnusedPods(includeExcludeLists, &FilterOptions{}, clientset, "json", opts)
+ if err != nil {
+ t.Fatalf("Error calling GetUnusedPodsStructured: %v", err)
+ }
+
+ expectedOutput := map[string]map[string][]string{
+ testNamespace: {
+ "Pods": {"pod-2", "pod-6"},
+ },
+ }
+
+ var actualOutput map[string]map[string][]string
+ if err := json.Unmarshal([]byte(output), &actualOutput); err != nil {
+ t.Fatalf("Error unmarshaling actual output: %v", err)
+ }
+
+ if !reflect.DeepEqual(expectedOutput, actualOutput) {
+ t.Errorf("Expected output does not match actual output")
+ t.Errorf("Expected: %v", expectedOutput)
+ t.Errorf("Actual: %v", actualOutput)
+ }
+}
+
+func init() {
+ scheme.Scheme = runtime.NewScheme()
+ _ = corev1.AddToScheme(scheme.Scheme)
+}
++++++ kor.obsinfo ++++++
--- /var/tmp/diff_new_pack.ORjqk5/_old 2023-12-11 21:50:42.767886785 +0100
+++ /var/tmp/diff_new_pack.ORjqk5/_new 2023-12-11 21:50:42.771886934 +0100
@@ -1,5 +1,5 @@
name: kor
-version: 0.3.1
-mtime: 1701283959
-commit: a459be1a0dfcf5d96ab0ed8c86ec8dc2d675de39
+version: 0.3.2
+mtime: 1702155853
+commit: d5ad46865819f405591a7c37f34b631f8d756c89
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/kor/vendor.tar.gz /work/SRC/openSUSE:Factory/.kor.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 guile-fibers for openSUSE:Factory checked in at 2023-12-11 21:50:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/guile-fibers (Old)
and /work/SRC/openSUSE:Factory/.guile-fibers.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "guile-fibers"
Mon Dec 11 21:50:27 2023 rev:2 rq:1132351 version:1.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/guile-fibers/guile-fibers.changes 2023-07-25 11:52:35.725976696 +0200
+++ /work/SRC/openSUSE:Factory/.guile-fibers.new.25432/guile-fibers.changes 2023-12-11 21:50:39.271757314 +0100
@@ -1,0 +2,5 @@
+Fri Nov 17 20:33:30 UTC 2023 - Bernhard Wiedemann <bwiedemann(a)suse.com>
+
+- do sequential build for reproducible .go files (boo#1102408)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ guile-fibers.spec ++++++
--- /var/tmp/diff_new_pack.IPU81Q/_old 2023-12-11 21:50:40.127789015 +0100
+++ /var/tmp/diff_new_pack.IPU81Q/_new 2023-12-11 21:50:40.127789015 +0100
@@ -37,7 +37,8 @@
%build
%configure
-make %{?_smp_mflags}
+# do sequential build for reproducible .go files = https://issues.guix.gnu.org/issue/20272 - boo#1102408
+make
%install
%make_install
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package typescript for openSUSE:Factory checked in at 2023-12-11 21:50:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/typescript (Old)
and /work/SRC/openSUSE:Factory/.typescript.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "typescript"
Mon Dec 11 21:50:24 2023 rev:20 rq:1132346 version:5.3.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/typescript/typescript.changes 2023-11-24 23:36:07.218375191 +0100
+++ /work/SRC/openSUSE:Factory/.typescript.new.25432/typescript.changes 2023-12-11 21:50:35.119603548 +0100
@@ -1,0 +2,10 @@
+Sun Dec 10 17:41:41 UTC 2023 - Andrea Manzini <andrea.manzini(a)suse.com>
+
+- Update to version 5.3.3:
+ * Make JSDoc Parsing Configurable using the transpileModule method
+ * Fixed an issue in boolean comparison narrowing when the reference is an optional chain
+ * Type narrowing regression with property comparison to boolean false
+ * Deprecated types (AssertEntry, AssertClause) redefined as type aliases, rather than interfaces
+ * Type error in typescript.d.ts with exactOptionalPropertyTypes = true
+
+-------------------------------------------------------------------
Old:
----
typescript-5.3.2.tgz
New:
----
typescript-5.3.3.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ typescript.spec ++++++
--- /var/tmp/diff_new_pack.JLwkre/_old 2023-12-11 21:50:35.883631842 +0100
+++ /var/tmp/diff_new_pack.JLwkre/_new 2023-12-11 21:50:35.887631991 +0100
@@ -17,7 +17,7 @@
Name: typescript
-Version: 5.3.2
+Version: 5.3.3
Release: 0
Summary: A language for application scale JavaScript development
License: Apache-2.0
++++++ typescript-5.3.2.tgz -> typescript-5.3.3.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/package/lib/tsc.js new/package/lib/tsc.js
--- old/package/lib/tsc.js 1985-10-26 09:15:00.000000000 +0100
+++ new/package/lib/tsc.js 1985-10-26 09:15:00.000000000 +0100
@@ -18,7 +18,7 @@
// src/compiler/corePublic.ts
var versionMajorMinor = "5.3";
-var version = "5.3.2";
+var version = "5.3.3";
// src/compiler/core.ts
var emptyArray = [];
@@ -3678,7 +3678,7 @@
TypeFlags2[TypeFlags2["InstantiablePrimitive"] = 406847488] = "InstantiablePrimitive";
TypeFlags2[TypeFlags2["Instantiable"] = 465829888] = "Instantiable";
TypeFlags2[TypeFlags2["StructuredOrInstantiable"] = 469499904] = "StructuredOrInstantiable";
- TypeFlags2[TypeFlags2["ObjectFlagsType"] = 138117121] = "ObjectFlagsType";
+ TypeFlags2[TypeFlags2["ObjectFlagsType"] = 3899393] = "ObjectFlagsType";
TypeFlags2[TypeFlags2["Simplifiable"] = 25165824] = "Simplifiable";
TypeFlags2[TypeFlags2["Singleton"] = 67358815] = "Singleton";
TypeFlags2[TypeFlags2["Narrowable"] = 536624127] = "Narrowable";
@@ -15971,7 +15971,7 @@
return (_a = symbol.declarations) == null ? void 0 : _a.find(isClassLike);
}
function getObjectFlags(type) {
- return type.flags & 138117121 /* ObjectFlagsType */ ? type.objectFlags : 0;
+ return type.flags & 3899393 /* ObjectFlagsType */ ? type.objectFlags : 0;
}
function isUMDExportSymbol(symbol) {
return !!symbol && !!symbol.declarations && !!symbol.declarations[0] && isNamespaceExportDeclaration(symbol.declarations[0]);
@@ -56944,7 +56944,7 @@
}
}
function removeStringLiteralsMatchedByTemplateLiterals(types) {
- const templates = filter(types, (t) => !!(t.flags & 134217728 /* TemplateLiteral */) && isPatternLiteralType(t) && t.types.every((t2) => !(t2.flags & 2097152 /* Intersection */) || !areIntersectedTypesAvoidingPrimitiveReduction(t2.types)));
+ const templates = filter(types, (t) => !!(t.flags & 134217728 /* TemplateLiteral */) && isPatternLiteralType(t));
if (templates.length) {
let i = types.length;
while (i > 0) {
@@ -57344,19 +57344,14 @@
function getConstituentCountOfTypes(types) {
return reduceLeft(types, (n, t) => n + getConstituentCount(t), 0);
}
- function areIntersectedTypesAvoidingPrimitiveReduction(types, primitiveFlags = 4 /* String */ | 8 /* Number */ | 64 /* BigInt */) {
- if (types.length !== 2) {
- return false;
- }
- const [t1, t2] = types;
- return !!(t1.flags & primitiveFlags) && t2 === emptyTypeLiteralType || !!(t2.flags & primitiveFlags) && t1 === emptyTypeLiteralType;
- }
function getTypeFromIntersectionTypeNode(node) {
const links = getNodeLinks(node);
if (!links.resolvedType) {
const aliasSymbol = getAliasSymbolForTypeNode(node);
const types = map(node.types, getTypeFromTypeNode);
- const noSupertypeReduction = areIntersectedTypesAvoidingPrimitiveReduction(types);
+ const emptyIndex = types.length === 2 ? types.indexOf(emptyTypeLiteralType) : -1;
+ const t = emptyIndex >= 0 ? types[1 - emptyIndex] : unknownType;
+ const noSupertypeReduction = !!(t.flags & (4 /* String */ | 8 /* Number */ | 64 /* BigInt */) || t.flags & 134217728 /* TemplateLiteral */ && isPatternLiteralType(t));
links.resolvedType = getIntersectionType(types, aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol), noSupertypeReduction);
}
return links.resolvedType;
@@ -57568,11 +57563,6 @@
}
function createTemplateLiteralType(texts, types) {
const type = createType(134217728 /* TemplateLiteral */);
- type.objectFlags = getPropagatingFlagsOfTypes(
- types,
- /*excludeKinds*/
- 98304 /* Nullable */
- );
type.texts = texts;
type.types = types;
return type;
@@ -57867,7 +57857,15 @@
}
function isPatternLiteralPlaceholderType(type) {
if (type.flags & 2097152 /* Intersection */) {
- return !isGenericType(type) && some(type.types, (t) => !!(t.flags & (2944 /* Literal */ | 98304 /* Nullable */)) || isPatternLiteralPlaceholderType(t));
+ let seenPlaceholder = false;
+ for (const t of type.types) {
+ if (t.flags & (2944 /* Literal */ | 98304 /* Nullable */) || isPatternLiteralPlaceholderType(t)) {
+ seenPlaceholder = true;
+ } else if (!(t.flags & 524288 /* Object */)) {
+ return false;
+ }
+ }
+ return seenPlaceholder;
}
return !!(type.flags & (1 /* Any */ | 4 /* String */ | 8 /* Number */ | 64 /* BigInt */)) || isPatternLiteralType(type);
}
@@ -57884,7 +57882,7 @@
return !!(getGenericObjectFlags(type) & 8388608 /* IsGenericIndexType */);
}
function getGenericObjectFlags(type) {
- if (type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */)) {
+ if (type.flags & 3145728 /* UnionOrIntersection */) {
if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) {
type.objectFlags |= 2097152 /* IsGenericTypeComputed */ | reduceLeft(type.types, (flags, t) => flags | getGenericObjectFlags(t), 0);
}
@@ -57896,7 +57894,7 @@
}
return type.objectFlags & 12582912 /* IsGenericType */;
}
- return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* IsGenericObjectType */ : 0) | (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* IsGenericIndexType */ : 0);
+ return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* IsGenericObjectType */ : 0) | (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* IsGenericIndexType */ : 0);
}
function getSimplifiedType(type, writing) {
return type.flags & 8388608 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type, writing) : type.flags & 16777216 /* Conditional */ ? getSimplifiedConditionalType(type, writing) : type;
@@ -58922,7 +58920,7 @@
result = target.objectFlags & 4 /* Reference */ ? createDeferredTypeReference(type.target, type.node, newMapper, newAliasSymbol, newAliasTypeArguments) : target.objectFlags & 32 /* Mapped */ ? instantiateMappedType(target, newMapper, newAliasSymbol, newAliasTypeArguments) : instantiateAnonymousType(target, newMapper, newAliasSymbol, newAliasTypeArguments);
target.instantiations.set(id, result);
const resultObjectFlags = getObjectFlags(result);
- if (result.flags & 138117121 /* ObjectFlagsType */ && !(resultObjectFlags & 524288 /* CouldContainTypeVariablesComputed */)) {
+ if (result.flags & 3899393 /* ObjectFlagsType */ && !(resultObjectFlags & 524288 /* CouldContainTypeVariablesComputed */)) {
const resultCouldContainTypeVariables = some(typeArguments, couldContainTypeVariables);
if (!(getObjectFlags(result) & 524288 /* CouldContainTypeVariablesComputed */)) {
if (resultObjectFlags & (32 /* Mapped */ | 16 /* Anonymous */ | 4 /* Reference */)) {
@@ -63636,8 +63634,8 @@
if (objectFlags & 524288 /* CouldContainTypeVariablesComputed */) {
return !!(objectFlags & 1048576 /* CouldContainTypeVariables */);
}
- const result = !!(type.flags & 465829888 /* Instantiable */ || type.flags & 524288 /* Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* Reference */ && (type.node || some(getTypeArguments(type), couldContainTypeVariables)) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && type.symbol.declarations || objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 4194304 /* ObjectRestType */ | 8388608 /* InstantiationExpressionType */)) || type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */) && !(type.flags & 1024 /* EnumLiteral */) && !isNonGenericTopLevelType(type) && some(type.types, couldContainTypeVariables));
- if (type.flags & 138117121 /* ObjectFlagsType */) {
+ const result = !!(type.flags & 465829888 /* Instantiable */ || type.flags & 524288 /* Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* Reference */ && (type.node || some(getTypeArguments(type), couldContainTypeVariables)) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && type.symbol.declarations || objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 4194304 /* ObjectRestType */ | 8388608 /* InstantiationExpressionType */)) || type.flags & 3145728 /* UnionOrIntersection */ && !(type.flags & 1024 /* EnumLiteral */) && !isNonGenericTopLevelType(type) && some(type.types, couldContainTypeVariables));
+ if (type.flags & 3899393 /* ObjectFlagsType */) {
type.objectFlags |= 524288 /* CouldContainTypeVariablesComputed */ | (result ? 1048576 /* CouldContainTypeVariables */ : 0);
}
return result;
@@ -66155,10 +66153,10 @@
if (isMatchingConstructorReference(right)) {
return narrowTypeByConstructor(type, operator, left, assumeTrue);
}
- if (isBooleanLiteral(right)) {
+ if (isBooleanLiteral(right) && !isAccessExpression(left)) {
return narrowTypeByBooleanComparison(type, left, right, operator, assumeTrue);
}
- if (isBooleanLiteral(left)) {
+ if (isBooleanLiteral(left) && !isAccessExpression(right)) {
return narrowTypeByBooleanComparison(type, right, left, operator, assumeTrue);
}
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/package/lib/tsserver.js new/package/lib/tsserver.js
--- old/package/lib/tsserver.js 1985-10-26 09:15:00.000000000 +0100
+++ new/package/lib/tsserver.js 1985-10-26 09:15:00.000000000 +0100
@@ -2328,7 +2328,7 @@
// src/compiler/corePublic.ts
var versionMajorMinor = "5.3";
-var version = "5.3.2";
+var version = "5.3.3";
var Comparison = /* @__PURE__ */ ((Comparison3) => {
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -6670,7 +6670,7 @@
TypeFlags2[TypeFlags2["InstantiablePrimitive"] = 406847488] = "InstantiablePrimitive";
TypeFlags2[TypeFlags2["Instantiable"] = 465829888] = "Instantiable";
TypeFlags2[TypeFlags2["StructuredOrInstantiable"] = 469499904] = "StructuredOrInstantiable";
- TypeFlags2[TypeFlags2["ObjectFlagsType"] = 138117121] = "ObjectFlagsType";
+ TypeFlags2[TypeFlags2["ObjectFlagsType"] = 3899393] = "ObjectFlagsType";
TypeFlags2[TypeFlags2["Simplifiable"] = 25165824] = "Simplifiable";
TypeFlags2[TypeFlags2["Singleton"] = 67358815] = "Singleton";
TypeFlags2[TypeFlags2["Narrowable"] = 536624127] = "Narrowable";
@@ -20036,7 +20036,7 @@
return (_a = symbol.declarations) == null ? void 0 : _a.find(isClassLike);
}
function getObjectFlags(type) {
- return type.flags & 138117121 /* ObjectFlagsType */ ? type.objectFlags : 0;
+ return type.flags & 3899393 /* ObjectFlagsType */ ? type.objectFlags : 0;
}
function forSomeAncestorDirectory(directory, callback) {
return !!forEachAncestorDirectory(directory, (d) => callback(d) ? true : void 0);
@@ -61648,7 +61648,7 @@
}
}
function removeStringLiteralsMatchedByTemplateLiterals(types) {
- const templates = filter(types, (t) => !!(t.flags & 134217728 /* TemplateLiteral */) && isPatternLiteralType(t) && t.types.every((t2) => !(t2.flags & 2097152 /* Intersection */) || !areIntersectedTypesAvoidingPrimitiveReduction(t2.types)));
+ const templates = filter(types, (t) => !!(t.flags & 134217728 /* TemplateLiteral */) && isPatternLiteralType(t));
if (templates.length) {
let i = types.length;
while (i > 0) {
@@ -62048,19 +62048,14 @@
function getConstituentCountOfTypes(types) {
return reduceLeft(types, (n, t) => n + getConstituentCount(t), 0);
}
- function areIntersectedTypesAvoidingPrimitiveReduction(types, primitiveFlags = 4 /* String */ | 8 /* Number */ | 64 /* BigInt */) {
- if (types.length !== 2) {
- return false;
- }
- const [t1, t2] = types;
- return !!(t1.flags & primitiveFlags) && t2 === emptyTypeLiteralType || !!(t2.flags & primitiveFlags) && t1 === emptyTypeLiteralType;
- }
function getTypeFromIntersectionTypeNode(node) {
const links = getNodeLinks(node);
if (!links.resolvedType) {
const aliasSymbol = getAliasSymbolForTypeNode(node);
const types = map(node.types, getTypeFromTypeNode);
- const noSupertypeReduction = areIntersectedTypesAvoidingPrimitiveReduction(types);
+ const emptyIndex = types.length === 2 ? types.indexOf(emptyTypeLiteralType) : -1;
+ const t = emptyIndex >= 0 ? types[1 - emptyIndex] : unknownType;
+ const noSupertypeReduction = !!(t.flags & (4 /* String */ | 8 /* Number */ | 64 /* BigInt */) || t.flags & 134217728 /* TemplateLiteral */ && isPatternLiteralType(t));
links.resolvedType = getIntersectionType(types, aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol), noSupertypeReduction);
}
return links.resolvedType;
@@ -62272,11 +62267,6 @@
}
function createTemplateLiteralType(texts, types) {
const type = createType(134217728 /* TemplateLiteral */);
- type.objectFlags = getPropagatingFlagsOfTypes(
- types,
- /*excludeKinds*/
- 98304 /* Nullable */
- );
type.texts = texts;
type.types = types;
return type;
@@ -62571,7 +62561,15 @@
}
function isPatternLiteralPlaceholderType(type) {
if (type.flags & 2097152 /* Intersection */) {
- return !isGenericType(type) && some(type.types, (t) => !!(t.flags & (2944 /* Literal */ | 98304 /* Nullable */)) || isPatternLiteralPlaceholderType(t));
+ let seenPlaceholder = false;
+ for (const t of type.types) {
+ if (t.flags & (2944 /* Literal */ | 98304 /* Nullable */) || isPatternLiteralPlaceholderType(t)) {
+ seenPlaceholder = true;
+ } else if (!(t.flags & 524288 /* Object */)) {
+ return false;
+ }
+ }
+ return seenPlaceholder;
}
return !!(type.flags & (1 /* Any */ | 4 /* String */ | 8 /* Number */ | 64 /* BigInt */)) || isPatternLiteralType(type);
}
@@ -62588,7 +62586,7 @@
return !!(getGenericObjectFlags(type) & 8388608 /* IsGenericIndexType */);
}
function getGenericObjectFlags(type) {
- if (type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */)) {
+ if (type.flags & 3145728 /* UnionOrIntersection */) {
if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) {
type.objectFlags |= 2097152 /* IsGenericTypeComputed */ | reduceLeft(type.types, (flags, t) => flags | getGenericObjectFlags(t), 0);
}
@@ -62600,7 +62598,7 @@
}
return type.objectFlags & 12582912 /* IsGenericType */;
}
- return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* IsGenericObjectType */ : 0) | (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* IsGenericIndexType */ : 0);
+ return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* IsGenericObjectType */ : 0) | (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* IsGenericIndexType */ : 0);
}
function getSimplifiedType(type, writing) {
return type.flags & 8388608 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type, writing) : type.flags & 16777216 /* Conditional */ ? getSimplifiedConditionalType(type, writing) : type;
@@ -63626,7 +63624,7 @@
result = target.objectFlags & 4 /* Reference */ ? createDeferredTypeReference(type.target, type.node, newMapper, newAliasSymbol, newAliasTypeArguments) : target.objectFlags & 32 /* Mapped */ ? instantiateMappedType(target, newMapper, newAliasSymbol, newAliasTypeArguments) : instantiateAnonymousType(target, newMapper, newAliasSymbol, newAliasTypeArguments);
target.instantiations.set(id, result);
const resultObjectFlags = getObjectFlags(result);
- if (result.flags & 138117121 /* ObjectFlagsType */ && !(resultObjectFlags & 524288 /* CouldContainTypeVariablesComputed */)) {
+ if (result.flags & 3899393 /* ObjectFlagsType */ && !(resultObjectFlags & 524288 /* CouldContainTypeVariablesComputed */)) {
const resultCouldContainTypeVariables = some(typeArguments, couldContainTypeVariables);
if (!(getObjectFlags(result) & 524288 /* CouldContainTypeVariablesComputed */)) {
if (resultObjectFlags & (32 /* Mapped */ | 16 /* Anonymous */ | 4 /* Reference */)) {
@@ -68340,8 +68338,8 @@
if (objectFlags & 524288 /* CouldContainTypeVariablesComputed */) {
return !!(objectFlags & 1048576 /* CouldContainTypeVariables */);
}
- const result = !!(type.flags & 465829888 /* Instantiable */ || type.flags & 524288 /* Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* Reference */ && (type.node || some(getTypeArguments(type), couldContainTypeVariables)) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && type.symbol.declarations || objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 4194304 /* ObjectRestType */ | 8388608 /* InstantiationExpressionType */)) || type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */) && !(type.flags & 1024 /* EnumLiteral */) && !isNonGenericTopLevelType(type) && some(type.types, couldContainTypeVariables));
- if (type.flags & 138117121 /* ObjectFlagsType */) {
+ const result = !!(type.flags & 465829888 /* Instantiable */ || type.flags & 524288 /* Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* Reference */ && (type.node || some(getTypeArguments(type), couldContainTypeVariables)) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && type.symbol.declarations || objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 4194304 /* ObjectRestType */ | 8388608 /* InstantiationExpressionType */)) || type.flags & 3145728 /* UnionOrIntersection */ && !(type.flags & 1024 /* EnumLiteral */) && !isNonGenericTopLevelType(type) && some(type.types, couldContainTypeVariables));
+ if (type.flags & 3899393 /* ObjectFlagsType */) {
type.objectFlags |= 524288 /* CouldContainTypeVariablesComputed */ | (result ? 1048576 /* CouldContainTypeVariables */ : 0);
}
return result;
@@ -70859,10 +70857,10 @@
if (isMatchingConstructorReference(right)) {
return narrowTypeByConstructor(type, operator, left, assumeTrue);
}
- if (isBooleanLiteral(right)) {
+ if (isBooleanLiteral(right) && !isAccessExpression(left)) {
return narrowTypeByBooleanComparison(type, left, right, operator, assumeTrue);
}
- if (isBooleanLiteral(left)) {
+ if (isBooleanLiteral(left) && !isAccessExpression(right)) {
return narrowTypeByBooleanComparison(type, right, left, operator, assumeTrue);
}
break;
@@ -137311,7 +137309,7 @@
options
),
setExternalModuleIndicator: getSetExternalModuleIndicator(options),
- jsDocParsingMode: 1 /* ParseNone */
+ jsDocParsingMode: transpileOptions.jsDocParsingMode ?? 0 /* ParseAll */
}
);
if (transpileOptions.moduleName) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/package/lib/typescript.d.ts new/package/lib/typescript.d.ts
--- old/package/lib/typescript.d.ts 1985-10-26 09:15:00.000000000 +0100
+++ new/package/lib/typescript.d.ts 1985-10-26 09:15:00.000000000 +0100
@@ -6018,9 +6018,11 @@
/** @deprecated */
type AssertionKey = ImportAttributeName;
/** @deprecated */
- type AssertEntry = ImportAttribute;
+ interface AssertEntry extends ImportAttribute {
+ }
/** @deprecated */
- type AssertClause = ImportAttributes;
+ interface AssertClause extends ImportAttributes {
+ }
type ImportAttributeName = Identifier | StringLiteral;
interface ImportAttribute extends Node {
readonly kind: SyntaxKind.ImportAttribute;
@@ -10416,7 +10418,7 @@
installPackage?(options: InstallPackageOptions): Promise<ApplyCodeActionCommandResult>;
writeFile?(fileName: string, content: string): void;
getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;
- jsDocParsingMode?: JSDocParsingMode;
+ jsDocParsingMode?: JSDocParsingMode | undefined;
}
type WithMetadata<T> = T & {
metadata?: unknown;
@@ -11612,6 +11614,7 @@
moduleName?: string;
renamedDependencies?: MapLike<string>;
transformers?: CustomTransformers;
+ jsDocParsingMode?: JSDocParsingMode;
}
interface TranspileOutput {
outputText: string;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/package/lib/typescript.js new/package/lib/typescript.js
--- old/package/lib/typescript.js 1985-10-26 09:15:00.000000000 +0100
+++ new/package/lib/typescript.js 1985-10-26 09:15:00.000000000 +0100
@@ -35,7 +35,7 @@
"src/compiler/corePublic.ts"() {
"use strict";
versionMajorMinor = "5.3";
- version = "5.3.2";
+ version = "5.3.3";
Comparison = /* @__PURE__ */ ((Comparison3) => {
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -4435,7 +4435,7 @@
TypeFlags2[TypeFlags2["InstantiablePrimitive"] = 406847488] = "InstantiablePrimitive";
TypeFlags2[TypeFlags2["Instantiable"] = 465829888] = "Instantiable";
TypeFlags2[TypeFlags2["StructuredOrInstantiable"] = 469499904] = "StructuredOrInstantiable";
- TypeFlags2[TypeFlags2["ObjectFlagsType"] = 138117121] = "ObjectFlagsType";
+ TypeFlags2[TypeFlags2["ObjectFlagsType"] = 3899393] = "ObjectFlagsType";
TypeFlags2[TypeFlags2["Simplifiable"] = 25165824] = "Simplifiable";
TypeFlags2[TypeFlags2["Singleton"] = 67358815] = "Singleton";
TypeFlags2[TypeFlags2["Narrowable"] = 536624127] = "Narrowable";
@@ -17337,7 +17337,7 @@
return (_a = symbol.declarations) == null ? void 0 : _a.find(isClassLike);
}
function getObjectFlags(type) {
- return type.flags & 138117121 /* ObjectFlagsType */ ? type.objectFlags : 0;
+ return type.flags & 3899393 /* ObjectFlagsType */ ? type.objectFlags : 0;
}
function forSomeAncestorDirectory(directory, callback) {
return !!forEachAncestorDirectory(directory, (d) => callback(d) ? true : void 0);
@@ -59415,7 +59415,7 @@
}
}
function removeStringLiteralsMatchedByTemplateLiterals(types) {
- const templates = filter(types, (t) => !!(t.flags & 134217728 /* TemplateLiteral */) && isPatternLiteralType(t) && t.types.every((t2) => !(t2.flags & 2097152 /* Intersection */) || !areIntersectedTypesAvoidingPrimitiveReduction(t2.types)));
+ const templates = filter(types, (t) => !!(t.flags & 134217728 /* TemplateLiteral */) && isPatternLiteralType(t));
if (templates.length) {
let i = types.length;
while (i > 0) {
@@ -59815,19 +59815,14 @@
function getConstituentCountOfTypes(types) {
return reduceLeft(types, (n, t) => n + getConstituentCount(t), 0);
}
- function areIntersectedTypesAvoidingPrimitiveReduction(types, primitiveFlags = 4 /* String */ | 8 /* Number */ | 64 /* BigInt */) {
- if (types.length !== 2) {
- return false;
- }
- const [t1, t2] = types;
- return !!(t1.flags & primitiveFlags) && t2 === emptyTypeLiteralType || !!(t2.flags & primitiveFlags) && t1 === emptyTypeLiteralType;
- }
function getTypeFromIntersectionTypeNode(node) {
const links = getNodeLinks(node);
if (!links.resolvedType) {
const aliasSymbol = getAliasSymbolForTypeNode(node);
const types = map(node.types, getTypeFromTypeNode);
- const noSupertypeReduction = areIntersectedTypesAvoidingPrimitiveReduction(types);
+ const emptyIndex = types.length === 2 ? types.indexOf(emptyTypeLiteralType) : -1;
+ const t = emptyIndex >= 0 ? types[1 - emptyIndex] : unknownType;
+ const noSupertypeReduction = !!(t.flags & (4 /* String */ | 8 /* Number */ | 64 /* BigInt */) || t.flags & 134217728 /* TemplateLiteral */ && isPatternLiteralType(t));
links.resolvedType = getIntersectionType(types, aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol), noSupertypeReduction);
}
return links.resolvedType;
@@ -60039,11 +60034,6 @@
}
function createTemplateLiteralType(texts, types) {
const type = createType(134217728 /* TemplateLiteral */);
- type.objectFlags = getPropagatingFlagsOfTypes(
- types,
- /*excludeKinds*/
- 98304 /* Nullable */
- );
type.texts = texts;
type.types = types;
return type;
@@ -60338,7 +60328,15 @@
}
function isPatternLiteralPlaceholderType(type) {
if (type.flags & 2097152 /* Intersection */) {
- return !isGenericType(type) && some(type.types, (t) => !!(t.flags & (2944 /* Literal */ | 98304 /* Nullable */)) || isPatternLiteralPlaceholderType(t));
+ let seenPlaceholder = false;
+ for (const t of type.types) {
+ if (t.flags & (2944 /* Literal */ | 98304 /* Nullable */) || isPatternLiteralPlaceholderType(t)) {
+ seenPlaceholder = true;
+ } else if (!(t.flags & 524288 /* Object */)) {
+ return false;
+ }
+ }
+ return seenPlaceholder;
}
return !!(type.flags & (1 /* Any */ | 4 /* String */ | 8 /* Number */ | 64 /* BigInt */)) || isPatternLiteralType(type);
}
@@ -60355,7 +60353,7 @@
return !!(getGenericObjectFlags(type) & 8388608 /* IsGenericIndexType */);
}
function getGenericObjectFlags(type) {
- if (type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */)) {
+ if (type.flags & 3145728 /* UnionOrIntersection */) {
if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) {
type.objectFlags |= 2097152 /* IsGenericTypeComputed */ | reduceLeft(type.types, (flags, t) => flags | getGenericObjectFlags(t), 0);
}
@@ -60367,7 +60365,7 @@
}
return type.objectFlags & 12582912 /* IsGenericType */;
}
- return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* IsGenericObjectType */ : 0) | (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* IsGenericIndexType */ : 0);
+ return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* IsGenericObjectType */ : 0) | (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* IsGenericIndexType */ : 0);
}
function getSimplifiedType(type, writing) {
return type.flags & 8388608 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type, writing) : type.flags & 16777216 /* Conditional */ ? getSimplifiedConditionalType(type, writing) : type;
@@ -61393,7 +61391,7 @@
result = target.objectFlags & 4 /* Reference */ ? createDeferredTypeReference(type.target, type.node, newMapper, newAliasSymbol, newAliasTypeArguments) : target.objectFlags & 32 /* Mapped */ ? instantiateMappedType(target, newMapper, newAliasSymbol, newAliasTypeArguments) : instantiateAnonymousType(target, newMapper, newAliasSymbol, newAliasTypeArguments);
target.instantiations.set(id, result);
const resultObjectFlags = getObjectFlags(result);
- if (result.flags & 138117121 /* ObjectFlagsType */ && !(resultObjectFlags & 524288 /* CouldContainTypeVariablesComputed */)) {
+ if (result.flags & 3899393 /* ObjectFlagsType */ && !(resultObjectFlags & 524288 /* CouldContainTypeVariablesComputed */)) {
const resultCouldContainTypeVariables = some(typeArguments, couldContainTypeVariables);
if (!(getObjectFlags(result) & 524288 /* CouldContainTypeVariablesComputed */)) {
if (resultObjectFlags & (32 /* Mapped */ | 16 /* Anonymous */ | 4 /* Reference */)) {
@@ -66107,8 +66105,8 @@
if (objectFlags & 524288 /* CouldContainTypeVariablesComputed */) {
return !!(objectFlags & 1048576 /* CouldContainTypeVariables */);
}
- const result = !!(type.flags & 465829888 /* Instantiable */ || type.flags & 524288 /* Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* Reference */ && (type.node || some(getTypeArguments(type), couldContainTypeVariables)) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && type.symbol.declarations || objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 4194304 /* ObjectRestType */ | 8388608 /* InstantiationExpressionType */)) || type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */) && !(type.flags & 1024 /* EnumLiteral */) && !isNonGenericTopLevelType(type) && some(type.types, couldContainTypeVariables));
- if (type.flags & 138117121 /* ObjectFlagsType */) {
+ const result = !!(type.flags & 465829888 /* Instantiable */ || type.flags & 524288 /* Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* Reference */ && (type.node || some(getTypeArguments(type), couldContainTypeVariables)) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && type.symbol.declarations || objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 4194304 /* ObjectRestType */ | 8388608 /* InstantiationExpressionType */)) || type.flags & 3145728 /* UnionOrIntersection */ && !(type.flags & 1024 /* EnumLiteral */) && !isNonGenericTopLevelType(type) && some(type.types, couldContainTypeVariables));
+ if (type.flags & 3899393 /* ObjectFlagsType */) {
type.objectFlags |= 524288 /* CouldContainTypeVariablesComputed */ | (result ? 1048576 /* CouldContainTypeVariables */ : 0);
}
return result;
@@ -68626,10 +68624,10 @@
if (isMatchingConstructorReference(right)) {
return narrowTypeByConstructor(type, operator, left, assumeTrue);
}
- if (isBooleanLiteral(right)) {
+ if (isBooleanLiteral(right) && !isAccessExpression(left)) {
return narrowTypeByBooleanComparison(type, left, right, operator, assumeTrue);
}
- if (isBooleanLiteral(left)) {
+ if (isBooleanLiteral(left) && !isAccessExpression(right)) {
return narrowTypeByBooleanComparison(type, right, left, operator, assumeTrue);
}
break;
@@ -135680,7 +135678,7 @@
options
),
setExternalModuleIndicator: getSetExternalModuleIndicator(options),
- jsDocParsingMode: 1 /* ParseNone */
+ jsDocParsingMode: transpileOptions.jsDocParsingMode ?? 0 /* ParseAll */
}
);
if (transpileOptions.moduleName) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/package/lib/typingsInstaller.js new/package/lib/typingsInstaller.js
--- old/package/lib/typingsInstaller.js 1985-10-26 09:15:00.000000000 +0100
+++ new/package/lib/typingsInstaller.js 1985-10-26 09:15:00.000000000 +0100
@@ -54,7 +54,7 @@
// src/compiler/corePublic.ts
var versionMajorMinor = "5.3";
-var version = "5.3.2";
+var version = "5.3.3";
// src/compiler/core.ts
var emptyArray = [];
@@ -3112,7 +3112,7 @@
TypeFlags2[TypeFlags2["InstantiablePrimitive"] = 406847488] = "InstantiablePrimitive";
TypeFlags2[TypeFlags2["Instantiable"] = 465829888] = "Instantiable";
TypeFlags2[TypeFlags2["StructuredOrInstantiable"] = 469499904] = "StructuredOrInstantiable";
- TypeFlags2[TypeFlags2["ObjectFlagsType"] = 138117121] = "ObjectFlagsType";
+ TypeFlags2[TypeFlags2["ObjectFlagsType"] = 3899393] = "ObjectFlagsType";
TypeFlags2[TypeFlags2["Simplifiable"] = 25165824] = "Simplifiable";
TypeFlags2[TypeFlags2["Singleton"] = 67358815] = "Singleton";
TypeFlags2[TypeFlags2["Narrowable"] = 536624127] = "Narrowable";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/package/package.json new/package/package.json
--- old/package/package.json 1985-10-26 09:15:00.000000000 +0100
+++ new/package/package.json 1985-10-26 09:15:00.000000000 +0100
@@ -2,7 +2,7 @@
"name": "typescript",
"author": "Microsoft Corp.",
"homepage": "https://www.typescriptlang.org/",
- "version": "5.3.2",
+ "version": "5.3.3",
"license": "Apache-2.0",
"description": "TypeScript is a language for application scale JavaScript development",
"keywords": [
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-astropy for openSUSE:Factory checked in at 2023-12-11 21:50:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-astropy (Old)
and /work/SRC/openSUSE:Factory/.python-astropy.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-astropy"
Mon Dec 11 21:50:10 2023 rev:48 rq:1132348 version:6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-astropy/python-astropy.changes 2023-11-08 22:19:05.986197036 +0100
+++ /work/SRC/openSUSE:Factory/.python-astropy.new.25432/python-astropy.changes 2023-12-11 21:50:20.727070553 +0100
@@ -1,0 +2,393 @@
+Sat Dec 9 18:08:42 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 6.0.0
+ ## New Features
+ ### astropy.config
+ * The new ConfigNamespace.help() method provides a convenient way
+ to get information about configuration items. [#13499]
+ ### astropy.coordinates
+ * Support has been added to create geodetic representations not
+ just for existing ellipsoids from ERFA, but also with
+ explicitly provided values, by defining a subclass of
+ BaseGeodeticRepresentation with the equatorial radius and
+ flattening assigned to _equatorial_radius and _flattening
+ attributes. [#14763]
+ * Add BaseBodycentricRepresentation, a new spheroidal
+ representation for bodycentric latitudes and longitudes.
+ [#14851]
+ * Support Numpy broadcasting over frame data and attributes.
+ [#15121]
+ ### astropy.cosmology
+ * Registered a latex writer for exporting a Cosmology object to a
+ LaTex table. [#14701]
+ * Added argument rename to Cosmology’s I/O, allowing for input
+ and output symbols to be renamed. [#14780]
+ * All non-abstract Cosmology subclasses are now automatically
+ registered to work with Astropy’s YAML serialization. [#14979]
+ * Cosmology I/O now auto-identifies the ‘.tex’ suffix with the
+ ‘ascii.latex’ format. [#15088]
+ * The Cosmology class now has a new property to access the
+ parameters of the cosmology: .parameters. This property return
+ a read-only dictionary of all the non-derived parameter values
+ on the cosmology object. When accessed from the class (not an
+ instance) the dictionary contains Parameter instances, not the
+ values. [#15168]
+ * The field default has been added to Parameter. This can be used
+ to introspect the default value of a parameter on a cosmology
+ class e.g. LambdaCDM.H0.default. [#15400]
+ ### astropy.io.fits
+ * Add new option decompress_in_memory to fits.open, to decompress
+ the whole file in memory at once, instead of decompressing the
+ file progressively as data is needed. Default behavior is
+ better for memory usage but sometimes slow, especially for
+ files with many small HDUs. [#15501]
+ ### astropy.io.votable
+ * Add support for Parquet serialization of VOTables. Writing of
+ this serialization is available with using the new
+ 'votable.parquet' format. [#15281]
+ * Added MIVOT feature through the MivotBlock class that allows
+ model annotations reading and writing in VOTable. [#15390]
+ ### astropy.modeling
+ * Added a GeneralSersic2D model that can have “boxy” or “disky”
+ isophotes. [#15545]
+ ### astropy.nddata
+ * A more flexible and/or compact string representation is now
+ available for NDData objects which visually indicates masked
+ entries, and provides for better for dask array support.
+ [#14438]
+ ### astropy.table
+ * The new Row.get() method, analogous to dict.get(), returns the
+ value of the specified column from the row if the column
+ present, otherwise it returns a fallback value, which by
+ default is None. [#14878]
+ ### astropy.time
+ * Masked Time instances now use astropy’s own Masked class
+ internally. This means that Masked input is now properly
+ recognized, and that masks get propagated also to Quantity
+ output (such as from a TimeDelta converted to a unit of time),
+ creating MaskedQuantity instances. [#15231]
+ * Added a TimeDelta format quantity_str that represents the time
+ delta as a string with one or more Quantity components. This
+ format provides a human-readable multi-scale string
+ representation of a time delta. The default output sub-format
+ is not considered stable in this release, please see
+ astropy/astropy#15485 for more information. [#15264]
+ ### astropy.uncertainty
+ * Uncertainty Distribution now support structured data types, and
+ as a result it now works also with EarthLocation. [#15304]
+ * Uncertainty Distribution can now be used inside
+ representations, which also allows basic support in SkyCoord.
+ While most calculations work, there are remaining issues. For
+ instance, the repr does not show that the coordinates are
+ distributions. [#15395]
+ ### astropy.units
+ * Add support for gc2gde and gd2gce erfa functions to allow
+ geodetic representations using equatorial radius and
+ flattening. [#14729]
+ ### astropy.utils
+ * The astropy.utils.metadata.MetaData default dictionary can now
+ be set with the default_factory keyword argument. [#15265]
+ * astropy.utils.decorators.deprecated now adds the __deprecated__
+ attribute to the objects it wraps, following the practice in
+ https://peps.python.org/pep-0702/. [#15310]
+ ### astropy.visualization
+ * Add WCSAxes.text_coord method to print text using SkyCoord
+ objects parallel to plotting data points with
+ WCSAxes.plot_coord. [#14661]
+ ### astropy.wcs
+ * Support WCS descriptions of basic planetary coordinate frames.
+ [#14820]
+ * Updated bundled WCSLIB version to 8.1. This update adds support
+ planetary keywords A_RADIUS, B_RADIUS, C_RADIUS, BLON_OBS,
+ BLAT_OBS, and BDIS_OBS in auxprm and adds wcsprm::time to the
+ wcsprm struct to record the TIME axis. This update also
+ includes several bug fixes. For a full list of changes - see
+ http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES [#15035]
+ ## API Changes
+ ### astropy.config
+ * Removed deprecated ConfigurationMissingWarning class and
+ update_default_config function; There are no replacements as
+ they should no be used anymore. [#15466]
+ ### astropy.convolution
+ * Invalid kernel arithmetic operations now raise a
+ KernelArithmeticError instead of a bare Exception. [#14728]
+ * Added base KernelError error class and removed
+ DiscretizationError error class (a ValueError will be raised
+ instead). [#14732]
+ * discretize_model will now raise a ValueError if
+ mode='oversample' and factor does not have an integer value.
+ [#14794]
+ ### astropy.coordinates
+ * Removed deprecated angle parsing and formatting utilities from
+ angle_utilities. Use the functions from angle_formats instead.
+ [#14675]
+ * The deprecated functionality of initializing Angle or Longitude
+ from a tuple is no longer supported. [#15205]
+ * Angle-related classes and functions have been moved within
+ astropy.coordinates. There is no change to public API as
+ everything moved should still be imported from
+ astropy.coordinates, not a sub-module. If you are using private
+ API, try importing from astropy.coordinates instead. If you
+ need something that has been moved and is not available in
+ astropy.coordinates, please open an issue on the Astropy issue
+ tracker. [#15220]
+ * It is no longer possible to pass frame classes to the
+ transform_to() method of a low-level coordinate-frame class. It
+ is still possible to pass frame instances. The transform_to()
+ method of the high-level SkyCoord class is unaffected. [#15500]
+ ### astropy.cosmology
+ * Removed support of importing private constants and functions
+ from astropy.cosmology.flrw. [#14672]
+ * Removed deprecated Cosmology Parameter argument fmt. [#14673]
+ * Removed deprecated vectorize_if_needed and inf_like from
+ cosmology.utils. [#14677]
+ * Removed deprecated import paths from astropy.cosmology.core.
+ [#14782]
+ * Cosmology Parameter is now a dataclass, and can work with all
+ of Python’s dataclasses machinery, like field introspection and
+ type conversion. [#14874]
+ * A new property – scale_factor0 – has been added to Cosmology
+ objects. This is the scale factor at redshift 0, and is defined
+ to be 1.0. [#14931]
+ * Added registration label ascii.latex to Cosmology IO. [#14938]
+ * The private module astropy.cosmology.utils has been deprecated.
+ [#14980]
+ * Removed deprecated get_cosmology_from_string class method in
+ default_cosmology; use get instead. [#15467]
+ ### astropy.io.ascii
+ * Several arguments in functions within astropy.io.ascii have
+ been deprecated and are either renamed or scheduled to be
+ removed.
+ * read(): - Reader will be removed. Instead supply the equivalent
+ format argument. - Inputter has been renamed to inputter_cls. -
+ Outputter has been renamed to outputter_cls.
+ * get_reader(): - Reader has been renamed to reader_cls. -
+ Inputter has been renamed to inputter_cls. - Outputter has been
+ renamed to outputter_cls.
+ * write(): - Writer will be removed. Instead supply the
+ equivalent format argument.
+ * get_writer(): - Writer has been renamed to writer_cls. [#14914]
+ * Removed deprecated astropy.io.ascii.tests.common.raises test
+ helper; use pytest.raises instead. [#15470]
+ ### astropy.io.fits
+ * Deprecate _ExtensionHDU and _NonstandardExtHDU (use
+ ExtensionHDU or NonstandardExtHDU instead). [#15396]
+ * Remove special handling of TCTYP TCUNI TCRPX TCRVL TCDLT TRPOS
+ (#7157). [#15396]
+ * Rename and deprecate TableHDU.update to TableHDU.update_header,
+ for consistency with ImageHDU. [#15396]
+ ### astropy.io.misc
+ * Removed deprecated astropy.io.misc.asdf subpackage. Use
+ asdf-astropy package instead. [#14668]
+ * fnunpickle and fnpickle are deprecated because they are not
+ used anywhere within astropy. If you must, use the module from
+ Python standard library but be advised that pickle is insecure
+ so you should only unpickle data that you trust. [#15418]
+ ### astropy.io.votable
+ * Removed deprecated pedantic option from the
+ astropy.io.votable.table.parse() function and the corresponding
+ configuration setting. Use the verify option instead. [#14669]
+ * Class astropy.io.votable.tree.Table has been renamed to
+ TableElement to avoid sharing the name with
+ astropy.table.Table. [#15372]
+ * Fully removed support for version = ‘1.0’ on
+ VOTableFile__init__() and changed its tests to check correctly.
+ It was raising a DeprecationWarning and now is raising a
+ ValueError. [#15490]
+ ### astropy.modeling
+ * Removed the AliasDict class from modeling.utils. [#12943]
+ * Creating a model instance with parameters that have
+ incompatible shapes will now raise a ValueError rather than an
+ IncompatibleShapeError. [#15209]
+ * Removal of deprecated code _model_to_fit_params and
+ _fitter_to_model_params from fitting.py. [#15461]
+ ### astropy.stats
+ * The BoxLeastSquares, BoxLeastSquaresResults and LombScargle
+ classes are not available from astropy.stats anymore, they are
+ now available only from astropy.timeseries. [#15530]
+ ### astropy.tests
+ * Removed deprecated deprecation, warning, and exception handling
+ functionality provided by astropy.tests.helper. [#14670]
+ * astropy.tests.command.FixRemoteDataOption and
+ astropy.tests.command.AstropyTest are deprecated. They are no
+ longer necessary after sunsetting astropy-helpers. [#15204]
+ ### astropy.time
+ * Time has switched to use Masked arrays internally, instead of
+ indicating masked values using NaN in the internal jd2
+ attribute. As a result, any output from instances, such as one
+ gets with, say, the .isot format, will also use Masked by
+ default.
+ * For backwards compatibility, a new configuration item,
+ astropy.time.conf.masked_array_type is introduced which is set
+ to “astropy” by default (which indicates one wants to use
+ Masked), but can also be set to “numpy”, in which case
+ numpy.ma.MaskedArray will be used where possible (essentially,
+ for all but Quantity). [#15231]
+ * Changed the TimeDelta init signature to be consistent with that
+ of Time. Previously the argument order was val, val2, format,
+ scale, copy. Now the order is val, val2, format, scale, *,
+ precision, in_subfmt, out_subfmt, copy, where the arguments
+ after the * must be specified by keyword. [#15264]
+ ### astropy.timeseries
+ * Removed deprecated midpoint_epoch in fold function; use
+ epoch_time instead. [#15462]
+ ### astropy.uncertainty
+ * The .dtype attribute exposed by Distribution is now that of the
+ samples, rather than one that has a “samples” entry. This makes
+ quantities with structured data types and units easier to
+ support, and generally makes the Distribution appear more
+ similar to regular arrays. It should have little effect on
+ code. For instance, distribution["samples"] still will return
+ the actual distribution.
+ * As a consequence of this refactoring, most arrays that are not
+ C-contiguous can now be viewed and will thus not be copied on
+ input any more. The only exceptions are arrays for which the
+ strides are negative.
+ * Note that the true data type is considered an implementation
+ detail. But for reference, it now is a structured data type
+ with a single field, “samples”, which itself is an array of
+ “sample” fields, which contain the actual data. [#15304]
+ ### astropy.units
+ * Like np.ndarray, under numpy 2.0 Quantity and all its
+ subclasses (Angle, Masked, etc.) will no longer support the
+ .ptp() method. Use np.ptp(...) instead.
+ * Similarly, support for the much less frequently used
+ .newbyteorder() and .itemset() methods has been removed.
+ [#15378]
+ * The following deprecated functionality has been removed:
+ - littleh unit and with_H0 equivalency. They are still
+ available from cosmology.units.
+ - brightness_temperature equivalency no longer automatically
+ swaps the order of its arguments if it does not match the
+ expectation.
+ - PhysicalType no longer supports str methods and attributes.
+ [#15514]
+ ### astropy.utils
+ * Removed deprecated OrderedDescriptor,
+ OrderedDescriptorContainer, and set_locale in
+ astropy.utils.misc. [#14679]
+ * is_path_hidden() and walk_skip_hidden() are deprecated.
+ [#14759]
+ * The structure of utils.metadata has been refactored, but all
+ the available functions and classes are still present and
+ should be imported as before. [#15166]
+ * The astropy.utils.metadata.MetaData class, which is used
+ throughout astropy to carry metadata on tables, columns, etc.,
+ can now also be used on dataclasses.
+ * When accessing the meta attribute on a class
+ astropy.utils.metadata.MetaData now returns None instead of
+ itself. [#15237]
+ * The astropy.utils.metadata.MetaData class, which is used
+ throughout astropy to carry metadata on tables, columns, etc.,
+ can now also be used on frozen dataclasses. [#15404]
+ * Removed deprecated version_path in minversion function; it is
+ no longer used. [#15468]
+ ### astropy.visualization
+ * The bboxes, ticklabels_bbox, and tick_out_size arguments to
+ astropy.visualization.wcaxes.ticklabels.TickLabels.draw() now
+ have no effect and are deprecated. This is to allow rasterized
+ ticks to be drawn correctly on WCSAxes. [#14760]
+ * It is now not possible to pass any keyword arguments to
+ astropy.visualization.wcsaxes.WCSAxes.draw(). Previously
+ passing any keyword arguments would have errored anyway, as
+ matplotlib.axes.Axes.draw() does not accept keyword arguments.
+ [#14772]
+ * Deprecated the exp attribute in the LogStretch,
+ InvertedLogStretch, PowerDistStretch, and
+ InvertedPowerDistStretch stretch classes, and the power
++++ 96 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/python-astropy/python-astropy.changes
++++ and /work/SRC/openSUSE:Factory/.python-astropy.new.25432/python-astropy.changes
Old:
----
astropy-5.3.4.tar.gz
astropy-pr15479-pvstar.patch
New:
----
astropy-6.0.0.tar.gz
BETA DEBUG BEGIN:
Old: * Update bundled expat to 2.5.0. [#15585]
- Drop astropy-pr15479-pvstar.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-astropy.spec ++++++
--- /var/tmp/diff_new_pack.NTc0Qd/_old 2023-12-11 21:50:21.799110254 +0100
+++ /var/tmp/diff_new_pack.NTc0Qd/_new 2023-12-11 21:50:21.799110254 +0100
@@ -48,7 +48,7 @@
%{?unbundle_wcs}
Name: python-astropy%{psuffix}
-Version: 5.3.4
+Version: 6.0.0
Release: 0
Summary: Community-developed python astronomy tools
License: BSD-3-Clause
@@ -58,18 +58,12 @@
# Mark wcs headers as false positives for devel-file-in-non-devel-package
# These are used by the python files so they must be available.
Source100: python-astropy-rpmlintrc
-# PATCH-FIX-UPSTREAM astropy-pr15479-pvstar.patch gh#astropy/astropy#15479 gh#astropy/astropy#15476 gh#astropy/astropy#15537
-Patch0: https://github.com/astropy/astropy/pull/15479.patch#/astropy-pr15479-pvstar…
-# https://docs.astropy.org/en/v5.3/install.html#requirements
-BuildRequires: %{python_module Cython >= 0.29.36 with %python-Cython < 3}
-BuildRequires: %{python_module Jinja2}
-BuildRequires: %{python_module PyYAML >= 3.13}
+# https://docs.astropy.org/en/v6.0/install.html#requirements
+BuildRequires: %{python_module Cython >= 3 with %python-Cython < 3.1}
BuildRequires: %{python_module devel >= 3.9}
BuildRequires: %{python_module extension-helpers}
BuildRequires: %{python_module numpy-devel >= 1.25 with %python-numpy-devel < 2}
-BuildRequires: %{python_module packaging >= 19.0}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module pyerfa >= 2.0}
BuildRequires: %{python_module setuptools_scm >= 6.2}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
@@ -78,58 +72,65 @@
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
Requires: python-PyYAML >= 3.13
+Requires: python-astropy-iers-data >= 0.2023.10.30.0.29.53
Requires: python-packaging >= 19.0
Requires: python-pyerfa >= 2.0
-Requires: (python-numpy >= 1.21 with python-numpy < 2)
+Requires: (python-numpy >= 1.22 with python-numpy < 2)
Requires(post): update-alternatives
Requires(postun):update-alternatives
-Recommends: libxml2-tools
-Recommends: python-Bottleneck
-Recommends: python-asdf >= 2.9.2
-Recommends: python-asdf-astropy
-Recommends: python-beautifulsoup4
-Recommends: python-bleach
-Recommends: python-fsspec >= 2022.8.2
-Recommends: python-h5py
-Recommends: python-html5lib
-Recommends: python-jplephem
-Recommends: python-matplotlib >= 3.3
-Recommends: python-mpmath
-Recommends: python-pandas
-Recommends: python-pyarrow >= 5
-Recommends: python-scipy >= 1.5
-Recommends: python-setuptools
-Recommends: python-sortedcontainers
-Recommends: python-typing_extensions >= 3.10.0.1
+# %%{_bindir}/showtable namespace clash
Conflicts: perl-Data-ShowTable
+# [recommended]
+Recommends: python-scipy >= 1.5
+Recommends: python-matplotlib >= 3.3
Conflicts: python-matplotlib = 3.4.0
Conflicts: python-matplotlib = 3.5.2
+# [all]
+Suggests: python-h5py
+Suggests: python-beautifulsoup4
+Suggests: python-html5lib
+Suggests: python-bleach
+Suggests: libxml2-tools
+Suggests: python-pandas
+Suggests: python-sortedcontainers
+Suggests: python-pytz
+Suggests: python-jplephem
+Suggests: python-setuptools
+Suggests: python-mpmath
+Suggests: python-asdf-astropy >= 0.3
+Suggests: python-Bottleneck
+Suggests: python-pyarrow >= 5
+Suggests: python-fsspec >= 2023.4.0
+# Suggests: python-s3fs
%if %{with system_expat}
BuildRequires: pkgconfig(expat)
%endif
%if %{with system_wcslib}
-BuildRequires: pkgconfig(wcslib) >= 7
+BuildRequires: pkgconfig(wcslib) >= 8.1
%endif
%if %{with test}
-# SECTION Optional requirements
+# SECTION [all]+[recommends]
BuildRequires: %{python_module Bottleneck}
-BuildRequires: %{python_module asdf >= 2.10.0}
-BuildRequires: %{python_module asdf-astropy}
+BuildRequires: %{python_module asdf-astropy >= 0.3}
BuildRequires: %{python_module beautifulsoup4}
BuildRequires: %{python_module bleach}
+BuildRequires: %{python_module fsspec >= 2023.4.0}
BuildRequires: %{python_module h5py}
BuildRequires: %{python_module html5lib}
BuildRequires: %{python_module jplephem}
BuildRequires: %{python_module matplotlib >= 3.3}
BuildRequires: %{python_module mpmath}
BuildRequires: %{python_module pandas}
+%ifnarch %arm
BuildRequires: %{python_module pyarrow >= 5}
-BuildRequires: %{python_module scipy >= 1.3}
+%endif
+BuildRequires: %{python_module pytz}
+BuildRequires: %{python_module scipy >= 1.5}
BuildRequires: %{python_module sortedcontainers}
BuildRequires: %{python_module typing_extensions >= 3.10.0.1}
BuildRequires: libxml2-tools
# /SECTION
-# SECTION test requirements
+# SECTION [test]
# We need the compiled package for testing
BuildRequires: %{python_module astropy = %{version}}
BuildRequires: %{python_module ipython >= 4.2}
@@ -177,7 +178,10 @@
suppress_health_check=[hypothesis.HealthCheck.too_slow]
)
" >> astropy/conftest.py
-sed -i 's/--color=yes//' setup.cfg
+sed -i 's/--color=yes//' pyproject.toml
+find astropy -name .gitignore -delete
+find astropy -name .empty -delete
+find astropy -name '*.c' -exec chmod -x {} ';'
%build
%{?unbundle_libs}
@@ -202,22 +206,16 @@
donttest+=" or (test_standard_profile and test_main)"
# segfaults on obs, but are okay when run on live system -- gh#astropy/astropy/13286
donttest+=" or test_celprm or test_prjprm"
-%ifarch aarch64
-# doctest failure because of precision errors
- donttest+=" or bayesian_info_criterion_lsq"
-%endif
%ifarch %arm32
- # gh#astropy/astropy#12017
- donttest+=" or test_stats"
-%endif
-%ifarch %ix86 %arm
- donttest+=" or (test_models_quantities and test_models_fitting and LevMarLSQFitter)"
+ # precision issues
+ donttest+=" or (TestFits2Bitmap and test_orientation)"
%endif
# http://docs.astropy.org/en/latest/development/testguide.html#running-tests
# running pytest directly would require building the extensions inplace
%{python_exec -B -c "
import sys, astropy
pytestargs = ('-v '
+ '-rsfE '
'-n auto ' # pytest-xdist
'-p no:cacheprovider '
'--hypothesis-profile=obs '
++++++ astropy-5.3.4.tar.gz -> astropy-6.0.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-astropy/astropy-5.3.4.tar.gz /work/SRC/openSUSE:Factory/.python-astropy.new.25432/astropy-6.0.0.tar.gz differ: char 5, line 1
++++++ python-astropy-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.NTc0Qd/_old 2023-12-11 21:50:21.875113068 +0100
+++ /var/tmp/diff_new_pack.NTc0Qd/_new 2023-12-11 21:50:21.895113809 +0100
@@ -1,4 +1,4 @@
-addFilter('devel-file-in-non-devel-package .*/wcs/.*')
-addFilter('hidden-file-or-dir .*/tests/data/.*')
-addFilter('zero-length .*/tests/data/.*')
+addFilter('devel-file-in-non-devel-package')
+addFilter('hidden-file-or-dir .*/tests/data')
+addFilter('zero-length .*/tests/data')
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-maturin for openSUSE:Factory checked in at 2023-12-11 21:50:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-maturin (Old)
and /work/SRC/openSUSE:Factory/.python-maturin.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-maturin"
Mon Dec 11 21:50:04 2023 rev:36 rq:1132505 version:1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-maturin/python-maturin.changes 2023-11-15 21:07:31.449898810 +0100
+++ /work/SRC/openSUSE:Factory/.python-maturin.new.25432/python-maturin.changes 2023-12-11 21:50:14.910855163 +0100
@@ -1,0 +2,33 @@
+Mon Dec 11 13:45:20 UTC 2023 - Mia Herkt <mia(a)0x0.st>
+
+- Update to 1.4.0
+ * Fix two tiny typos in README.md!
+ gh#PyO3/maturin#1853
+ * Bump MSRV to 1.67
+ gh#PyO3/maturin#1847
+ * Tiny tweak: Use Rust markdown block
+ gh#PyO3/maturin#1855
+ * Recommend using pipx to install maturin
+ gh#PyO3/maturin#1859
+ * [pre-commit.ci] pre-commit autoupdate
+ gh#PyO3/maturin#1860
+ * Update cargo-options to 0.7.1
+ gh#PyO3/maturin#1862
+ * Add support for cross compiling with cross
+ gh#PyO3/maturin#1865
+ * Bump the crates-io group with 8 updates
+ gh#PyO3/maturin#1866
+ * [pre-commit.ci] pre-commit autoupdate
+ gh#PyO3/maturin#1867
+ * Bump openssl from 0.10.59 to 0.10.60
+ gh#PyO3/maturin#1868
+ * Bump actions/github-script from 6 to 7
+ gh#PyO3/maturin#1873
+ * Bump conda-incubator/setup-miniconda from 2 to 3
+ gh#PyO3/maturin#1872
+ * Bump mymindstorm/setup-emsdk from 12 to 13
+ gh#PyO3/maturin#1871
+ * Update rustls-pemfile to 2.0.0
+ gh#PyO3/maturin#1874
+
+-------------------------------------------------------------------
Old:
----
cargo_config
maturin-1.3.2.tar.gz
New:
----
maturin-1.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-maturin.spec ++++++
--- /var/tmp/diff_new_pack.oRtWcD/_old 2023-12-11 21:50:16.542915602 +0100
+++ /var/tmp/diff_new_pack.oRtWcD/_new 2023-12-11 21:50:16.542915602 +0100
@@ -18,14 +18,13 @@
%{?sle15_python_module_pythons}
Name: python-maturin
-Version: 1.3.2
+Version: 1.4.0
Release: 0
Summary: Rust/Python Interoperability
License: Apache-2.0 OR MIT
URL: https://github.com/PyO3/maturin
Source: https://files.pythonhosted.org/packages/source/m/maturin/maturin-%{version}…
Source1: vendor.tar.xz
-Source2: cargo_config
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools-rust >= 1.4.0}
@@ -52,8 +51,6 @@
%prep
%autosetup -a1 -p1 -n maturin-%{version}
-mkdir .cargo
-cp %{SOURCE2} .cargo/config
sed -i '1{/env python/d}' maturin/__init__.py
sed -i 's/--locked/--offline/' setup.py
++++++ maturin-1.3.2.tar.gz -> maturin-1.4.0.tar.gz ++++++
++++ 2628 lines of diff (skipped)
++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/python-maturin/vendor.tar.xz /work/SRC/openSUSE:Factory/.python-maturin.new.25432/vendor.tar.xz differ: char 8, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package raspberrypi-firmware-dt for openSUSE:Factory checked in at 2023-12-11 21:49:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/raspberrypi-firmware-dt (Old)
and /work/SRC/openSUSE:Factory/.raspberrypi-firmware-dt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "raspberrypi-firmware-dt"
Mon Dec 11 21:49:56 2023 rev:53 rq:1132458 version:2023.11.21
Changes:
--------
--- /work/SRC/openSUSE:Factory/raspberrypi-firmware-dt/raspberrypi-firmware-dt.changes 2023-11-23 21:38:46.919367030 +0100
+++ /work/SRC/openSUSE:Factory/.raspberrypi-firmware-dt.new.25432/raspberrypi-firmware-dt.changes 2023-12-11 21:50:05.310499636 +0100
@@ -1,0 +2,11 @@
+Mon Dec 11 09:03:47 UTC 2023 - Ivan Ivanov <ivan.ivanov(a)suse.com>
+
+- They are vendor changes in bcm2835-dma driver around new RPi5
+ which makes new device trees unusable without corresponding
+ changes in DMA driver. Lets revert offending commit.
+ Fixes bsc#1217512.
+
+- Add patch:
+ * 0001-Revert-bcm2711-rpi-ds-Switch-to-dma40-channel-for-hd.patch
+
+-------------------------------------------------------------------
New:
----
0001-Revert-bcm2711-rpi-ds-Switch-to-dma40-channel-for-hd.patch
BETA DEBUG BEGIN:
New:- Add patch:
* 0001-Revert-bcm2711-rpi-ds-Switch-to-dma40-channel-for-hd.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ raspberrypi-firmware-dt.spec ++++++
--- /var/tmp/diff_new_pack.oK610x/_old 2023-12-11 21:50:06.070527781 +0100
+++ /var/tmp/diff_new_pack.oK610x/_new 2023-12-11 21:50:06.070527781 +0100
@@ -32,6 +32,7 @@
Source100: get-from-git.sh
Patch0: 0001-ARM-dts-bcm2711-rpi-Reuse-bcm2836-vchiq-driver.patch
Patch1: 0001-ARM-dts-bcm27xx-Use-better-name-for-spidev.patch
+Patch2: 0001-Revert-bcm2711-rpi-ds-Switch-to-dma40-channel-for-hd.patch
Requires: raspberrypi-firmware
BuildRequires: dtc
BuildRequires: raspberrypi-firmware
++++++ 0001-Revert-bcm2711-rpi-ds-Switch-to-dma40-channel-for-hd.patch ++++++
From b9239483e122a6236fa75841f727bc1ad7a6240f Mon Sep 17 00:00:00 2001
From: "Ivan T. Ivanov" <iivanov(a)suse.de>
Date: Mon, 11 Dec 2023 09:54:46 +0100
Subject: [PATCH] Revert "bcm2711-rpi-ds: Switch to dma40 channel for hdmi
audio"
They are vendor changes in bcm2835-dma driver around new RPi5
which makes new device trees unusable without corresponding
changes in DMA driver.
Fixes [1] [RPi4] kernel: vc4_hdmi fef00700.hdmi: Could not...
[1] https://bugzilla.suse.com/show_bug.cgi?id=1217512
This reverts commit 0491a0aecb999b1a013ad4a6ad3816c535ac6e73.
Signed-off-by: Ivan T. Ivanov <iivanov(a)suse.de>
---
arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
index 968db6362989..147a56fdbb68 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
@@ -374,7 +374,7 @@ &hdmi0 {
<&firmware_clocks 14>,
<&dvp 0>,
<&clk_27MHz>;
- dmas = <&dma40 (10|(1<<30)|(1<<24)|(10<<16)|(15<<20))>;
+ dmas = <&dma (10|(1<<27)|(1<<24)|(10<<16)|(15<<20))>;
status = "disabled";
};
@@ -407,7 +407,7 @@ &hdmi1 {
<&firmware_clocks 14>,
<&dvp 1>,
<&clk_27MHz>;
- dmas = <&dma40 (17|(1<<30)|(1<<24)|(10<<16)|(15<<20))>;
+ dmas = <&dma (17|(1<<27)|(1<<24)|(10<<16)|(15<<20))>;
status = "disabled";
};
--
2.35.3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mailx for openSUSE:Factory checked in at 2023-12-11 21:49:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mailx (Old)
and /work/SRC/openSUSE:Factory/.mailx.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mailx"
Mon Dec 11 21:49:53 2023 rev:49 rq:1132451 version:12.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/mailx/mailx.changes 2023-11-07 21:25:38.153917098 +0100
+++ /work/SRC/openSUSE:Factory/.mailx.new.25432/mailx.changes 2023-12-11 21:49:59.938300688 +0100
@@ -1,0 +2,6 @@
+Wed Dec 6 12:02:04 UTC 2023 - Stefan Schubert <schubi(a)suse.com>
+
+- Moving /etc/mailrc to /usr/etc/mail.rc
+ * Add patch mailx-usr-etc.patch
+
+-------------------------------------------------------------------
New:
----
mailx-usr-etc.patch
BETA DEBUG BEGIN:
New:- Moving /etc/mailrc to /usr/etc/mail.rc
* Add patch mailx-usr-etc.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mailx.spec ++++++
--- /var/tmp/diff_new_pack.8ax8Cw/_old 2023-12-11 21:50:00.674327945 +0100
+++ /var/tmp/diff_new_pack.8ax8Cw/_new 2023-12-11 21:50:00.674327945 +0100
@@ -72,6 +72,8 @@
Patch14: fix-sendmail-name.patch
#PATCH-FIX-SUSE: bsc#1192916 - mailx does not send mails unless run via strace or in verbose mode
Patch15: mailx-12.5-systemd.patch
+#Moving /etc/mailrc to /usr/etc/mail.rc
+Patch16: mailx-usr-etc.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -99,13 +101,18 @@
%patch14 -p1 -b .sendmail
%patch15 -p0 -b .systemd
%patch0 -p1 -b .0
+%patch16 -p1 -b .usretc
%build
CC=gcc
CFLAGS="%{optflags} -pipe -D_GNU_SOURCE -DOPENSSL_NO_SSL_INTERN $(pkg-config --cflags openssl)"
export CC CFLAGS
$SHELL ./makeconfig
+%if 0%{?suse_version} > 1500
+ make %{?_smp_mflags} PREFIX=/usr CC="$CC" CFLAGS="$CFLAGS" DISTCONF="-DDISTCONFMAILRC=\"\\\"/usr/etc/mail.rc\\\"\""
+%else
make %{?_smp_mflags} PREFIX=/usr CC="$CC" CFLAGS="$CFLAGS"
+%endif
tbl < mailx.1 | groff -mandocdb -Tps | grep -v %%%%CreationDate > manual.ps
gzip -9fn manual.ps
@@ -153,7 +160,14 @@
group=mail, Mail
EOF
%endif
+
+%if 0%{?suse_version} > 1500
+ mkdir -p %{buildroot}%{_distconfdir}
+ install -m 0644 mail.rc %{buildroot}%{_distconfdir}
+ rm %{buildroot}/etc/mail.rc
+%else
install -m 0644 mail.rc %{buildroot}/etc
+%endif
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
%if ! %{with libalternatives}
@@ -171,20 +185,40 @@
if test ! -e %{_bindir}/mailx; then
%{_sbindir}/update-alternatives --quiet --force --remove mail %{_bindir}/mailx
fi
-%else
+%endif
%pre
+echo "Calling pre installation script"
+%if %{with libalternatives}
# removing old update-alternatives entries
if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] ; then
%{_sbindir}/update-alternatives --quiet --force --remove mail %{_bindir}/mailx
fi
%endif
+%if 0%{?suse_version} > 1500
+# Prepare for migration to /usr/etc; save any old .rpmsave
+for i in mail.rc; do
+ test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
+done
+%endif
+
+%if 0%{?suse_version} > 1500
+%posttrans
+# Migration to /usr/etc, restore just created .rpmsave
+for i in mail.rc; do
+ test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
+done
+%endif
%files
%defattr(-,root,root)
%license COPYING
%doc README manual.ps.gz nail.rc
+%if 0%{?suse_version} > 1500
+%{_distconfdir}/mail.rc
+%else
%config /etc/mail.rc
+%endif
%if 0%{?suse_version} < 1550
/bin/mail
%endif
++++++ mailx-usr-etc.patch ++++++
diff -ur a/main.c b/main.c
--- a/main.c 2023-12-05 09:54:32.727382197 +0100
+++ b/main.c 2023-12-06 11:07:50.176112126 +0100
@@ -454,8 +454,15 @@
input = stdin;
rcvmode = !to && !tflag;
spreserve();
- if (!nosrc)
- load(PATH_MASTER_RC);
+ if (!nosrc) {
+#ifdef DISTCONFMAILRC
+ struct stat st;
+ if (stat(PATH_MASTER_RC, &st) < 0)
+ load(DISTCONFMAILRC);
+ else
+#endif
+ load(PATH_MASTER_RC);
+ }
/*
* Expand returns a savestr, but load only uses the file name
* for fopen, so it's safe to do this.
diff -ur a/Makefile b/Makefile
--- a/Makefile 2023-12-05 09:54:32.727382197 +0100
+++ b/Makefile 2023-12-06 11:08:00.418064025 +0100
@@ -60,7 +60,7 @@
###########################################################################
###########################################################################
-FEATURES = $(IPv6)
+FEATURES = $(IPv6) $(DISTCONF)
OBJ = aux.o base64.o cache.o cmd1.o cmd2.o cmd3.o cmdtab.o collect.o \
dotlock.o edit.o fio.o getname.o getopt.o head.o hmac.o \
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package jitterentropy for openSUSE:Factory checked in at 2023-12-11 21:49:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jitterentropy (Old)
and /work/SRC/openSUSE:Factory/.jitterentropy.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jitterentropy"
Mon Dec 11 21:49:52 2023 rev:6 rq:1132447 version:3.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/jitterentropy/jitterentropy.changes 2023-03-25 18:54:24.186364948 +0100
+++ /work/SRC/openSUSE:Factory/.jitterentropy.new.25432/jitterentropy.changes 2023-12-11 21:49:58.942263802 +0100
@@ -1,0 +2,5 @@
+Wed Dec 6 15:44:30 UTC 2023 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Make use of distro flags with %set_build_flags
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jitterentropy.spec ++++++
--- /var/tmp/diff_new_pack.n8aup7/_old 2023-12-11 21:49:59.578287356 +0100
+++ /var/tmp/diff_new_pack.n8aup7/_new 2023-12-11 21:49:59.582287504 +0100
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects
Name: jitterentropy
Summary: A userspace library for jitter entropy generation
@@ -71,6 +72,7 @@
%autosetup -n jitterentropy-library-%version
%build
+%set_build_flags
%make_build PREFIX="%_prefix" LIBDIR="%_lib"
%install
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package zenity for openSUSE:Factory checked in at 2023-12-11 21:49:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zenity (Old)
and /work/SRC/openSUSE:Factory/.zenity.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "zenity"
Mon Dec 11 21:49:48 2023 rev:77 rq:1132440 version:4.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/zenity/zenity.changes 2023-12-05 17:02:05.458658983 +0100
+++ /work/SRC/openSUSE:Factory/.zenity.new.25432/zenity.changes 2023-12-11 21:49:54.102084557 +0100
@@ -1,0 +2,23 @@
+Fri Dec 8 09:58:40 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 4.0.0:
+ + 1st stable release of Zenity based on libadwaita/gtk4.
+ + Several command-line options have been deprecated since 3.x.
+ These deprecations will either activate an alternate action, or
+ do nothing. In either case, a deprecation warning will be
+ printed to STDERR. This is to ensure as smooth a transition
+ from scripts targeting Zenity 3.x as possible.
+ + Changes and bugfixes since 3.99.91:
+ - Add rudimentary test suite
+ - progress: --auto-close and --percentage=100 don't co-mingle
+ - about: Port to libadwaita; update copyright info
+ - forms:
+ . Remove unused variable
+ . Port GtkComboBox to GtkDropDown
+ - tree/colview: Implement missing --hide-header option
+ - progress: OK should be clickable if --percentage=100 at the
+ outset
+ - NEWS: fix typo
+ - Updated translations.
+
+-------------------------------------------------------------------
Old:
----
zenity-3.99.91.tar.xz
New:
----
zenity-4.0.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zenity.spec ++++++
--- /var/tmp/diff_new_pack.aALRxs/_old 2023-12-11 21:49:54.702106778 +0100
+++ /var/tmp/diff_new_pack.aALRxs/_new 2023-12-11 21:49:54.706106925 +0100
@@ -17,13 +17,13 @@
Name: zenity
-Version: 3.99.91
+Version: 4.0.0
Release: 0
Summary: GNOME Command Line Dialog Utility
License: LGPL-2.1-or-later
Group: System/GUI/GNOME
URL: https://wiki.gnome.org/Projects/Zenity
-Source0: https://download.gnome.org/sources/zenity/3.99/%{name}-%{version}.tar.xz
+Source0: https://download.gnome.org/sources/zenity/4.0/%{name}-%{version}.tar.xz
BuildRequires: desktop-file-utils
BuildRequires: fdupes
++++++ zenity-3.99.91.tar.xz -> zenity-4.0.0.tar.xz ++++++
++++ 2415 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-zope.security for openSUSE:Factory checked in at 2023-12-11 21:49:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zope.security (Old)
and /work/SRC/openSUSE:Factory/.python-zope.security.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zope.security"
Mon Dec 11 21:49:45 2023 rev:14 rq:1132430 version:6.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zope.security/python-zope.security.changes 2023-06-12 15:24:28.438350064 +0200
+++ /work/SRC/openSUSE:Factory/.python-zope.security.new.25432/python-zope.security.changes 2023-12-11 21:49:50.933967233 +0100
@@ -1,0 +2,11 @@
+Mon Dec 11 08:17:19 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.2:
+ * Make ``next()`` on C proxies call ``__next__`` rather than
+ ``next`` (see PEP 3114), and drop support for the Python 2
+ ``next`` method name from pure-Python proxies.
+ * Drop using ``setup_requires`` due to constant problems on
+ GHA.
+ * Add support for Python 3.12.
+
+-------------------------------------------------------------------
Old:
----
zope.security-6.1.tar.gz
New:
----
zope.security-6.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zope.security.spec ++++++
--- /var/tmp/diff_new_pack.nfitSS/_old 2023-12-11 21:49:51.565990639 +0100
+++ /var/tmp/diff_new_pack.nfitSS/_new 2023-12-11 21:49:51.569990786 +0100
@@ -27,7 +27,7 @@
%bcond_with test
%endif
Name: python-zope.security%{psuffix}
-Version: 6.1
+Version: 6.2
Release: 0
Summary: Zope Security Framework
License: ZPL-2.1
++++++ zope.security-6.1.tar.gz -> zope.security-6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/.manylinux-install.sh new/zope.security-6.2/.manylinux-install.sh
--- old/zope.security-6.1/.manylinux-install.sh 2023-01-15 10:49:35.000000000 +0100
+++ new/zope.security-6.2/.manylinux-install.sh 2023-10-05 14:07:44.000000000 +0200
@@ -33,6 +33,7 @@
*"cp39"*) echo 'py39';;
*"cp310"*) echo 'py310';;
*"cp311"*) echo 'py311';;
+ *"cp312"*) echo 'py312';;
*) echo 'py';;
esac
}
@@ -41,6 +42,7 @@
for PYBIN in /opt/python/*/bin; do
if \
[[ "${PYBIN}" == *"cp311"* ]] || \
+ [[ "${PYBIN}" == *"cp312"* ]] || \
[[ "${PYBIN}" == *"cp37"* ]] || \
[[ "${PYBIN}" == *"cp38"* ]] || \
[[ "${PYBIN}" == *"cp39"* ]] || \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/.readthedocs.yaml new/zope.security-6.2/.readthedocs.yaml
--- old/zope.security-6.1/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/zope.security-6.2/.readthedocs.yaml 2023-10-05 13:01:16.000000000 +0200
@@ -0,0 +1,25 @@
+# Generated from:
+# https://github.com/zopefoundation/meta/tree/master/config/c-code
+# 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
+ - method: pip
+ path: .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/CHANGES.rst new/zope.security-6.2/CHANGES.rst
--- old/zope.security-6.1/CHANGES.rst 2023-01-18 08:34:58.000000000 +0100
+++ new/zope.security-6.2/CHANGES.rst 2023-10-05 15:08:46.000000000 +0200
@@ -2,6 +2,18 @@
Changes
=========
+6.2 (2023-10-05)
+----------------
+
+- Make ``next()`` on C proxies call ``__next__`` rather than ``next`` (see
+ PEP 3114), and drop support for the Python 2 ``next`` method name from
+ pure-Python proxies.
+
+- Drop using ``setup_requires`` due to constant problems on GHA.
+
+- Add support for Python 3.12.
+
+
6.1 (2023-01-18)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/MANIFEST.in new/zope.security-6.2/MANIFEST.in
--- old/zope.security-6.1/MANIFEST.in 2023-01-15 10:49:35.000000000 +0100
+++ new/zope.security-6.2/MANIFEST.in 2023-10-05 13:01:16.000000000 +0200
@@ -14,6 +14,8 @@
recursive-include docs Makefile
recursive-include src *.py
+include *.yaml
include *.sh
recursive-include docs *.bat
+recursive-include include *.h
recursive-include src *.zcml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/PKG-INFO new/zope.security-6.2/PKG-INFO
--- old/zope.security-6.1/PKG-INFO 2023-01-18 08:48:20.164631600 +0100
+++ new/zope.security-6.2/PKG-INFO 2023-10-05 16:10:03.783095800 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.security
-Version: 6.1
+Version: 6.2
Summary: Zope Security Framework
Home-page: http://github.com/zopefoundation/zope.security
Author: Zope Foundation and Contributors
@@ -21,6 +21,7 @@
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
@@ -71,6 +72,18 @@
Changes
=========
+6.2 (2023-10-05)
+----------------
+
+- Make ``next()`` on C proxies call ``__next__`` rather than ``next`` (see
+ PEP 3114), and drop support for the Python 2 ``next`` method name from
+ pure-Python proxies.
+
+- Drop using ``setup_requires`` due to constant problems on GHA.
+
+- Add support for Python 3.12.
+
+
6.1 (2023-01-18)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/appveyor.yml new/zope.security-6.2/appveyor.yml
--- old/zope.security-6.1/appveyor.yml 2023-01-15 10:49:35.000000000 +0100
+++ new/zope.security-6.2/appveyor.yml 2023-10-05 14:07:44.000000000 +0200
@@ -14,6 +14,7 @@
- python: 39-x64
- python: 310-x64
- python: 311-x64
+ - python: 312-x64
install:
- "SET PYTHONVERSION=%PYTHON%"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/docs/_build/doctest/output.txt new/zope.security-6.2/docs/_build/doctest/output.txt
--- old/zope.security-6.1/docs/_build/doctest/output.txt 2023-01-17 10:36:28.000000000 +0100
+++ new/zope.security-6.2/docs/_build/doctest/output.txt 2023-10-05 13:02:03.000000000 +0200
@@ -1,14 +1,6 @@
-Results of doctest builder run on 2023-01-17 10:36:28
+Results of doctest builder run on 2023-10-05 13:02:03
=====================================================
-Document: proxy
----------------
-1 items passed all tests:
- 36 tests in default
-36 tests in 1 items.
-36 passed and 0 failed.
-Test passed.
-
Document: api/zcml
------------------
1 items passed all tests:
@@ -17,12 +9,12 @@
30 passed and 0 failed.
Test passed.
-Document: api/permission
-------------------------
+Document: api/decorator
+-----------------------
1 items passed all tests:
- 34 tests in default
-34 tests in 1 items.
-34 passed and 0 failed.
+ 53 tests in default
+53 tests in 1 items.
+53 passed and 0 failed.
Test passed.
1 items passed all tests:
1 tests in default (cleanup code)
@@ -30,12 +22,12 @@
1 passed and 0 failed.
Test passed.
-Document: api/checker
----------------------
+Document: proxy
+---------------
1 items passed all tests:
- 357 tests in default
-357 tests in 1 items.
-357 passed and 0 failed.
+ 36 tests in default
+36 tests in 1 items.
+36 passed and 0 failed.
Test passed.
Document: api/proxy
@@ -51,12 +43,12 @@
1 passed and 0 failed.
Test passed.
-Document: api/decorator
------------------------
+Document: api/permission
+------------------------
1 items passed all tests:
- 53 tests in default
-53 tests in 1 items.
-53 passed and 0 failed.
+ 34 tests in default
+34 tests in 1 items.
+34 passed and 0 failed.
Test passed.
1 items passed all tests:
1 tests in default (cleanup code)
@@ -64,6 +56,14 @@
1 passed and 0 failed.
Test passed.
+Document: api/checker
+---------------------
+1 items passed all tests:
+ 357 tests in default
+357 tests in 1 items.
+357 passed and 0 failed.
+Test passed.
+
Doctest summary
===============
521 tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/docs/conf.py new/zope.security-6.2/docs/conf.py
--- old/zope.security-6.1/docs/conf.py 2023-01-03 13:45:40.000000000 +0100
+++ new/zope.security-6.2/docs/conf.py 2023-10-05 14:07:44.000000000 +0200
@@ -106,7 +106,7 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'default'
+html_theme = 'sphinx_rtd_theme'
# 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/docs/requirements.txt new/zope.security-6.2/docs/requirements.txt
--- old/zope.security-6.1/docs/requirements.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/zope.security-6.2/docs/requirements.txt 2023-10-05 14:07:44.000000000 +0200
@@ -0,0 +1,5 @@
+Sphinx
+repoze.sphinx.autointerface
+sphinx_rtd_theme>1
+docutils<0.19
+zope.security
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/include/zope.proxy/zope/proxy/proxy.h new/zope.security-6.2/include/zope.proxy/zope/proxy/proxy.h
--- old/zope.security-6.1/include/zope.proxy/zope/proxy/proxy.h 1970-01-01 01:00:00.000000000 +0100
+++ new/zope.security-6.2/include/zope.proxy/zope/proxy/proxy.h 2023-04-20 10:04:16.000000000 +0200
@@ -0,0 +1,53 @@
+#ifndef _proxy_H_
+#define _proxy_H_ 1
+
+typedef struct {
+ PyObject_HEAD
+ PyObject *proxy_object;
+} ProxyObject;
+
+#define Proxy_GET_OBJECT(ob) (((ProxyObject *)(ob))->proxy_object)
+
+typedef struct {
+ PyTypeObject *proxytype;
+ int (*check)(PyObject *obj);
+ PyObject *(*create)(PyObject *obj);
+ PyObject *(*getobject)(PyObject *proxy);
+} ProxyInterface;
+
+#ifndef PROXY_MODULE
+
+/* These are only defined in the public interface, and are not
+ * available within the module implementation. There we use the
+ * classic Python/C API only.
+ */
+
+static ProxyInterface *_proxy_api = NULL;
+
+static int
+Proxy_Import(void)
+{
+ if (_proxy_api == NULL) {
+ PyObject *m = PyImport_ImportModule("zope.proxy");
+ if (m != NULL) {
+ PyObject *tmp = PyObject_GetAttrString(m, "_CAPI");
+ if (tmp != NULL) {
+ if (PyCapsule_CheckExact(tmp))
+ _proxy_api = (ProxyInterface *)
+ PyCapsule_GetPointer(tmp, NULL);
+ Py_DECREF(tmp);
+ }
+ }
+ }
+ return (_proxy_api == NULL) ? -1 : 0;
+}
+
+#define ProxyType (*_proxy_api->proxytype)
+#define Proxy_Check(obj) (_proxy_api->check((obj)))
+#define Proxy_CheckExact(obj) ((obj)->ob_type == ProxyType)
+#define Proxy_New(obj) (_proxy_api->create((obj)))
+#define Proxy_GetObject(proxy) (_proxy_api->getobject((proxy)))
+
+#endif /* PROXY_MODULE */
+
+#endif /* _proxy_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/rtd.txt new/zope.security-6.2/rtd.txt
--- old/zope.security-6.1/rtd.txt 2023-01-03 13:45:40.000000000 +0100
+++ new/zope.security-6.2/rtd.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-repoze.sphinx.autointerface
-Sphinx
-zope.component
-zope.configuration
-zope.interface
-zope.location
-zope.proxy
-zope.testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/setup.cfg new/zope.security-6.2/setup.cfg
--- old/zope.security-6.1/setup.cfg 2023-01-18 08:48:20.165342600 +0100
+++ new/zope.security-6.2/setup.cfg 2023-10-05 16:10:03.783392700 +0200
@@ -15,13 +15,18 @@
.meta.toml
docs/_build/html/_sources/*
docs/_build/doctest/*
- docs/_build/html/_sources/api/*
+ docs/_build/*/*/*/*/*
+ docs/_build/*/*/*/*
+ docs/_build/*/*/*
+ docs/_build/*/*
+ docs/_build/*
+ src/coverage.xml
[isort]
force_single_line = True
combine_as_imports = True
sections = FUTURE,STDLIB,THIRDPARTY,ZOPE,FIRSTPARTY,LOCALFOLDER
-known_third_party = six, docutils, pkg_resources
+known_third_party = docutils, pkg_resources, pytz
known_zope =
known_first_party =
default_section = ZOPE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/setup.py new/zope.security-6.2/setup.py
--- old/zope.security-6.1/setup.py 2023-01-18 08:35:09.000000000 +0100
+++ new/zope.security-6.2/setup.py 2023-10-05 15:09:00.000000000 +0200
@@ -65,35 +65,12 @@
with open(os.path.join(os.path.dirname(__file__), *rnames)) as f:
return f.read()
-# Include directories for C extensions
-# Sniff the location of the headers in the package distribution
-
-
-class ModuleHeaderDir:
-
- def __init__(self, require_spec, where='../..'):
- # By default, assume top-level pkg has the same name as the dist.
- # Also assume that headers are located in the package dir, and
- # are meant to be included as follows:
- # #include "module/header_name.h"
- self._require_spec = require_spec
- self._where = where
-
- def __str__(self):
- from pkg_resources import require
- from pkg_resources import resource_filename
- require(self._require_spec)
- path = resource_filename(self._require_spec, self._where)
- return os.path.abspath(path)
-
-
-include = [ModuleHeaderDir('zope.proxy')]
codeoptimization = [
Extension(
"zope.security._proxy",
- [os.path.join('src', 'zope', 'security', "_proxy.c")],
- include_dirs=include,
+ include_dirs=[os.path.join('include', 'zope.proxy')],
+ sources=[os.path.join('src', 'zope', 'security', "_proxy.c")]
),
Extension(
"zope.security._zope_security_checker",
@@ -111,10 +88,8 @@
is_jython = 'java' in sys.platform
if is_pypy or is_jython:
- setup_requires = []
ext_modules = []
else:
- setup_requires = ['zope.proxy >= 4.3.0']
ext_modules = codeoptimization
@@ -129,7 +104,7 @@
setup(name='zope.security',
- version='6.1',
+ version='6.2',
author='Zope Foundation and Contributors',
author_email='zope-dev(a)zope.org',
description='Zope Security Framework',
@@ -151,6 +126,7 @@
'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',
'Natural Language :: English',
@@ -169,7 +145,6 @@
packages=find_packages('src'),
package_dir={'': 'src'},
namespace_packages=['zope'],
- setup_requires=setup_requires,
cmdclass={
'build_ext': optional_build_ext,
},
@@ -199,6 +174,7 @@
'docs': [
'Sphinx',
'repoze.sphinx.autointerface',
+ 'sphinx_rtd_theme',
'zope.configuration',
'zope.testing',
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/src/zope/security/_proxy.c new/zope.security-6.2/src/zope/security/_proxy.c
--- old/zope.security-6.1/src/zope/security/_proxy.c 2023-01-18 08:34:11.000000000 +0100
+++ new/zope.security-6.2/src/zope/security/_proxy.c 2023-04-18 08:53:23.000000000 +0200
@@ -58,7 +58,7 @@
DECLARE_STRING(__hash__);
DECLARE_STRING(__iter__);
DECLARE_STRING(__len__);
-DECLARE_STRING(next);
+DECLARE_STRING(__next__);
DECLARE_STRING(op_abs);
DECLARE_STRING(op_add);
DECLARE_STRING(op_and);
@@ -351,7 +351,7 @@
{
PyObject *result = NULL;
- if (check(self, str_check_getattr, str_next) >= 0)
+ if (check(self, str_check_getattr, str___next__) >= 0)
{
result = PyIter_Next(self->proxy.proxy_object);
PROXY_RESULT(self, result);
@@ -878,7 +878,7 @@
INIT_STRING(__hash__);
INIT_STRING(__iter__);
INIT_STRING(__len__);
- INIT_STRING(next);
+ INIT_STRING(__next__);
INIT_STRING_OP(abs);
INIT_STRING_OP(add);
INIT_STRING_OP(and);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/src/zope/security/proxy.py new/zope.security-6.2/src/zope/security/proxy.py
--- old/zope.security-6.1/src/zope/security/proxy.py 2023-01-18 08:34:11.000000000 +0100
+++ new/zope.security-6.2/src/zope/security/proxy.py 2023-04-18 08:53:23.000000000 +0200
@@ -274,7 +274,6 @@
'__delitem__',
'__iter__',
'__next__',
- 'next',
'__contains__',
'__neg__',
'__pos__',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/src/zope/security/tests/test_checker.py new/zope.security-6.2/src/zope/security/tests/test_checker.py
--- old/zope.security-6.1/src/zope/security/tests/test_checker.py 2023-01-18 08:34:11.000000000 +0100
+++ new/zope.security-6.2/src/zope/security/tests/test_checker.py 2023-04-18 08:53:23.000000000 +0200
@@ -586,8 +586,6 @@
finally:
self.index += 1
- next = __next__
-
def __length_hint__(self):
self.hint_called = True
return self.hint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/src/zope/security/tests/test_proxy.py new/zope.security-6.2/src/zope/security/tests/test_proxy.py
--- old/zope.security-6.1/src/zope/security/tests/test_proxy.py 2023-01-16 15:43:05.000000000 +0100
+++ new/zope.security-6.2/src/zope/security/tests/test_proxy.py 2023-04-18 08:53:23.000000000 +0200
@@ -1490,7 +1490,9 @@
unproxied_types = {str, }
def check_getattr(self, _object, name):
- if name not in ("foo", "next", "__class__", "__name__", "__module__"):
+ if name in ("__class__", "__name__", "__module__"):
+ return
+ if not self.ok or name not in ("__next__", "foo"):
raise RuntimeError
def check_setattr(self, _object, name):
@@ -1535,7 +1537,6 @@
def __next__(self):
return 42 # Infinite sequence
- next = __next__
def __len__(self):
return 42
@@ -1651,10 +1652,10 @@
self.shouldFail(iter, self.p)
def testNextOK(self):
- self.assertEqual(self.p.next(), 42)
+ self.assertEqual(next(self.p), 42)
def testNextFail(self):
- self.shouldFail(self.p.next)
+ self.shouldFail(next, self.p)
def testHashOK(self):
self.assertEqual(hash(self.p), hash(self.x))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/src/zope.security.egg-info/PKG-INFO new/zope.security-6.2/src/zope.security.egg-info/PKG-INFO
--- old/zope.security-6.1/src/zope.security.egg-info/PKG-INFO 2023-01-18 08:48:20.000000000 +0100
+++ new/zope.security-6.2/src/zope.security.egg-info/PKG-INFO 2023-10-05 16:10:03.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.security
-Version: 6.1
+Version: 6.2
Summary: Zope Security Framework
Home-page: http://github.com/zopefoundation/zope.security
Author: Zope Foundation and Contributors
@@ -21,6 +21,7 @@
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
@@ -71,6 +72,18 @@
Changes
=========
+6.2 (2023-10-05)
+----------------
+
+- Make ``next()`` on C proxies call ``__next__`` rather than ``next`` (see
+ PEP 3114), and drop support for the Python 2 ``next`` method name from
+ pure-Python proxies.
+
+- Drop using ``setup_requires`` due to constant problems on GHA.
+
+- Add support for Python 3.12.
+
+
6.1 (2023-01-18)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/src/zope.security.egg-info/SOURCES.txt new/zope.security-6.2/src/zope.security.egg-info/SOURCES.txt
--- old/zope.security-6.1/src/zope.security.egg-info/SOURCES.txt 2023-01-18 08:48:20.000000000 +0100
+++ new/zope.security-6.2/src/zope.security.egg-info/SOURCES.txt 2023-10-05 16:10:03.000000000 +0200
@@ -1,6 +1,7 @@
.coveragerc
.manylinux-install.sh
.manylinux.sh
+.readthedocs.yaml
CHANGES.rst
CONTRIBUTING.md
COPYRIGHT.txt
@@ -9,7 +10,6 @@
README.rst
appveyor.yml
buildout.cfg
-rtd.txt
setup.cfg
setup.py
tox.ini
@@ -22,6 +22,7 @@
docs/make.bat
docs/narr.rst
docs/proxy.rst
+docs/requirements.txt
docs/_build/doctest/output.txt
docs/_build/html/_sources/changes.rst.txt
docs/_build/html/_sources/example.rst.txt
@@ -53,6 +54,7 @@
docs/api/simplepolicies.rst
docs/api/testing.rst
docs/api/zcml.rst
+include/zope.proxy/zope/proxy/proxy.h
src/zope/__init__.py
src/zope.security.egg-info/PKG-INFO
src/zope.security.egg-info/SOURCES.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/src/zope.security.egg-info/requires.txt new/zope.security-6.2/src/zope.security.egg-info/requires.txt
--- old/zope.security-6.1/src/zope.security.egg-info/requires.txt 2023-01-18 08:48:20.000000000 +0100
+++ new/zope.security-6.2/src/zope.security.egg-info/requires.txt 2023-10-05 16:10:03.000000000 +0200
@@ -9,6 +9,7 @@
[docs]
Sphinx
repoze.sphinx.autointerface
+sphinx_rtd_theme
zope.configuration
zope.testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.security-6.1/tox.ini new/zope.security-6.2/tox.ini
--- old/zope.security-6.1/tox.ini 2023-01-16 15:43:05.000000000 +0100
+++ new/zope.security-6.2/tox.ini 2023-10-05 14:07:44.000000000 +0200
@@ -9,6 +9,7 @@
py39,py39-pure
py310,py310-pure
py311,py311-pure
+ py312,py312-pure
pypy3
docs
coverage
@@ -17,11 +18,14 @@
[testenv]
usedevelop = true
deps =
+ py37: urllib3 < 2
setenv =
pure: PURE_PYTHON=1
!pure-!pypy3: PURE_PYTHON=0
ZOPE_INTERFACE_STRICT_IRO=1
watch: ZOPE_WATCH_CHECKERS=1
+ py312: VIRTUALENV_PIP=23.1.2
+ py312: PIP_REQUIRE_VIRTUALENV=0
commands =
zope-testrunner --test-path=src {posargs:-vc}
sphinx-build -b doctest -d {envdir}/.cache/doctrees docs {envdir}/.cache/doctest
@@ -35,6 +39,7 @@
mkdir
deps =
coverage
+ py37: urllib3 < 2
setenv =
PURE_PYTHON=1
commands =
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-zope.testrunner for openSUSE:Factory checked in at 2023-12-11 21:49:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zope.testrunner (Old)
and /work/SRC/openSUSE:Factory/.python-zope.testrunner.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zope.testrunner"
Mon Dec 11 21:49:45 2023 rev:20 rq:1132429 version:6.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zope.testrunner/python-zope.testrunner.changes 2023-06-12 15:24:27.526344669 +0200
+++ /work/SRC/openSUSE:Factory/.python-zope.testrunner.new.25432/python-zope.testrunner.changes 2023-12-11 21:49:48.917892572 +0100
@@ -1,0 +2,8 @@
+Mon Dec 11 08:13:01 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 6.2:
+ * Add support for Python 3.12.
+ * Update code and tests to ``python-subunit >= 1.4.3`` thus
+ requiring at least this version.
+
+-------------------------------------------------------------------
Old:
----
zope.testrunner-6.0.tar.gz
New:
----
zope.testrunner-6.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zope.testrunner.spec ++++++
--- /var/tmp/diff_new_pack.LD1g0L/_old 2023-12-11 21:49:50.665957307 +0100
+++ /var/tmp/diff_new_pack.LD1g0L/_new 2023-12-11 21:49:50.669957456 +0100
@@ -26,7 +26,7 @@
%endif
%{?sle15_python_module_pythons}
Name: python-zope.testrunner
-Version: 6.0
+Version: 6.2
Release: 0
Summary: Zope testrunner script
License: ZPL-2.1
++++++ zope.testrunner-6.0.tar.gz -> zope.testrunner-6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/.readthedocs.yaml new/zope.testrunner-6.2/.readthedocs.yaml
--- old/zope.testrunner-6.0/.readthedocs.yaml 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/.readthedocs.yaml 2023-11-08 08:20:24.000000000 +0100
@@ -1,10 +1,25 @@
+# Generated from:
+# https://github.com/zopefoundation/meta/tree/master/config/pure-python
+# 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-20.04"
+ os: ubuntu-22.04
tools:
- python: "3.8"
+ 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: doc-requirements.txt
+ install:
+ - requirements: docs/requirements.txt
+ - method: pip
+ path: .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/CHANGES.rst new/zope.testrunner-6.2/CHANGES.rst
--- old/zope.testrunner-6.0/CHANGES.rst 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/CHANGES.rst 2023-11-08 08:20:24.000000000 +0100
@@ -2,6 +2,22 @@
zope.testrunner Changelog
===========================
+6.2 (2023-11-08)
+================
+
+- Add support for Python 3.12.
+
+- Update code and tests to ``python-subunit >= 1.4.3`` thus requiring at least
+ this version.
+
+
+6.1 (2023-08-26)
+================
+
+- Add preliminary support for Python 3.12b4.
+ (`#149 <https://github.com/zopefoundation/zope.testrunner/issues/149>`_)
+
+
6.0 (2023-03-28)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/PKG-INFO new/zope.testrunner-6.2/PKG-INFO
--- old/zope.testrunner-6.0/PKG-INFO 2023-03-28 09:18:18.029008900 +0200
+++ new/zope.testrunner-6.2/PKG-INFO 2023-11-08 08:20:24.685677500 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.testrunner
-Version: 6.0
+Version: 6.2
Summary: Zope testrunner script.
Home-page: https://github.com/zopefoundation/zope.testrunner
Author: Zope Foundation and Contributors
@@ -19,15 +19,24 @@
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.7
+License-File: LICENSE.md
+Requires-Dist: setuptools
+Requires-Dist: zope.exceptions
+Requires-Dist: zope.interface
Provides-Extra: test
+Requires-Dist: zope.testing; extra == "test"
Provides-Extra: subunit
+Requires-Dist: python-subunit>=1.4.3; extra == "subunit"
+Requires-Dist: testtools>=0.9.30; extra == "subunit"
Provides-Extra: docs
-License-File: LICENSE.md
+Requires-Dist: Sphinx; extra == "docs"
+Requires-Dist: sphinxcontrib-programoutput; extra == "docs"
=================
zope.testrunner
@@ -209,6 +218,22 @@
zope.testrunner Changelog
===========================
+6.2 (2023-11-08)
+================
+
+- Add support for Python 3.12.
+
+- Update code and tests to ``python-subunit >= 1.4.3`` thus requiring at least
+ this version.
+
+
+6.1 (2023-08-26)
+================
+
+- Add preliminary support for Python 3.12b4.
+ (`#149 <https://github.com/zopefoundation/zope.testrunner/issues/149>`_)
+
+
6.0 (2023-03-28)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/doc-requirements.txt new/zope.testrunner-6.2/doc-requirements.txt
--- old/zope.testrunner-6.0/doc-requirements.txt 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/doc-requirements.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-.[docs]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/docs/index.rst new/zope.testrunner-6.2/docs/index.rst
--- old/zope.testrunner-6.0/docs/index.rst 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/docs/index.rst 2023-11-08 08:20:24.000000000 +0100
@@ -10,8 +10,8 @@
:target: https://pypi.org/project/zope.testrunner/
:alt: Supported Python versions
-.. image:: https://travis-ci.org/zopefoundation/zope.testrunner.svg?branch=master
- :target: https://travis-ci.org/zopefoundation/zope.testrunner
+.. image:: https://github.com/zopefoundation/zope.testrunner/actions/workflows/tests.y…
+ :target: https://github.com/zopefoundation/zope.testrunner/actions/workflows/tests.y…
.. image:: https://coveralls.io/repos/github/zopefoundation/zope.testrunner/badge.svg?…
:target: https://coveralls.io/github/zopefoundation/zope.testrunner?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/docs/requirements.txt new/zope.testrunner-6.2/docs/requirements.txt
--- old/zope.testrunner-6.0/docs/requirements.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/zope.testrunner-6.2/docs/requirements.txt 2023-11-08 08:20:24.000000000 +0100
@@ -0,0 +1,3 @@
+Sphinx
+sphinxcontrib.programoutput
+zope.testrunner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/setup.py new/zope.testrunner-6.2/setup.py
--- old/zope.testrunner-6.0/setup.py 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/setup.py 2023-11-08 08:20:24.000000000 +0100
@@ -23,7 +23,7 @@
from setuptools.command.test import test
-version = '6.0'
+version = '6.2'
INSTALL_REQUIRES = [
'setuptools',
@@ -38,7 +38,7 @@
EXTRAS_REQUIRE = {
'test': TESTS_REQUIRE,
'subunit': [
- 'python-subunit >= 0.0.11',
+ 'python-subunit >= 1.4.3',
'testtools >= 0.9.30',
],
'docs': [
@@ -152,6 +152,7 @@
"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 :: Software Development :: Libraries :: Python Modules",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/src/zope/testrunner/formatter.py new/zope.testrunner-6.2/src/zope/testrunner/formatter.py
--- old/zope.testrunner-6.0/src/zope/testrunner/formatter.py 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/src/zope/testrunner/formatter.py 2023-11-08 08:20:24.000000000 +0100
@@ -766,7 +766,7 @@
# dependency on subunit.
try:
import subunit
- from subunit.iso8601 import Utc
+ from iso8601 import UTC
subunit.StreamResultToBytes
except (ImportError, AttributeError):
subunit = None
@@ -880,7 +880,7 @@
def __init__(self, options, stream=None):
if subunit is None:
- raise Exception('Requires subunit 0.0.11 or better')
+ raise Exception('Requires python-subunit 1.4.3 or better')
if testtools is None:
raise Exception('Requires testtools 0.9.30 or better')
self.options = options
@@ -893,7 +893,7 @@
# Used to track the last layer that was set up or torn down. Either
# None or (layer_name, last_touched_time).
self._last_layer = None
- self.UTC = Utc()
+ self.UTC = UTC
# Content types used in the output.
self.TRACEBACK_CONTENT_TYPE = ContentType(
'text', 'x-traceback', {'language': 'python', 'charset': 'utf8'})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/src/zope/testrunner/tb_format.py new/zope.testrunner-6.2/src/zope/testrunner/tb_format.py
--- old/zope.testrunner-6.0/src/zope/testrunner/tb_format.py 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/src/zope/testrunner/tb_format.py 2023-11-08 08:20:24.000000000 +0100
@@ -43,6 +43,20 @@
yield from it
+def _parse_value_tb(exc, value, tb):
+ # Taken straight from the traceback module code on Python 3.10, which
+ # introduced the ability to call print_exception with an exception
+ # instance as first parameter
+ if (value is None) != (tb is None):
+ raise ValueError("Both or neither of value and tb must be given")
+ if value is tb is None:
+ if exc is not None:
+ return exc, exc.__traceback__
+ else:
+ return None, None
+ return value, tb
+
+
def format_exception(t, v, tb, limit=None, chain=None):
if chain:
values = _iter_chain(v, tb)
@@ -56,7 +70,8 @@
return fmt.formatException(t, v, tb)
-def print_exception(t, v, tb, limit=None, file=None, chain=None):
+def print_exception(t, v=None, tb=None, limit=None, file=None, chain=None):
+ v, tb = _parse_value_tb(t, v, tb)
if chain:
values = _iter_chain(v, tb)
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/src/zope/testrunner/tests/testrunner-subunit-v2.rst new/zope.testrunner-6.2/src/zope/testrunner/tests/testrunner-subunit-v2.rst
--- old/zope.testrunner-6.0/src/zope/testrunner/tests/testrunner-subunit-v2.rst 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/src/zope/testrunner/tests/testrunner-subunit-v2.rst 2023-11-08 08:20:24.000000000 +0100
@@ -32,7 +32,7 @@
... eof=False, mime_type=None, route_code=None,
... timestamp=None):
... if (test_id, file_name) == self._last_file:
- ... self.stream.write(file_bytes.decode('utf-8', 'replace'))
+ ... self.stream.write(file_bytes.tobytes().decode('utf-8', 'replace'))
... return
... elif self._last_file is not None:
... self.stream.write('\n')
@@ -49,7 +49,7 @@
... self.stream.write('\n')
... if file_name is not None:
... self.stream.write('%s (%s)\n' % (file_name, mime_type))
- ... self.stream.write(file_bytes.decode('utf-8', 'replace'))
+ ... self.stream.write(file_bytes.tobytes().decode('utf-8', 'replace'))
... self._last_file = (test_id, file_name)
... self.stream.flush()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/src/zope.testrunner.egg-info/PKG-INFO new/zope.testrunner-6.2/src/zope.testrunner.egg-info/PKG-INFO
--- old/zope.testrunner-6.0/src/zope.testrunner.egg-info/PKG-INFO 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/src/zope.testrunner.egg-info/PKG-INFO 2023-11-08 08:20:24.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.testrunner
-Version: 6.0
+Version: 6.2
Summary: Zope testrunner script.
Home-page: https://github.com/zopefoundation/zope.testrunner
Author: Zope Foundation and Contributors
@@ -19,15 +19,24 @@
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.7
+License-File: LICENSE.md
+Requires-Dist: setuptools
+Requires-Dist: zope.exceptions
+Requires-Dist: zope.interface
Provides-Extra: test
+Requires-Dist: zope.testing; extra == "test"
Provides-Extra: subunit
+Requires-Dist: python-subunit>=1.4.3; extra == "subunit"
+Requires-Dist: testtools>=0.9.30; extra == "subunit"
Provides-Extra: docs
-License-File: LICENSE.md
+Requires-Dist: Sphinx; extra == "docs"
+Requires-Dist: sphinxcontrib-programoutput; extra == "docs"
=================
zope.testrunner
@@ -209,6 +218,22 @@
zope.testrunner Changelog
===========================
+6.2 (2023-11-08)
+================
+
+- Add support for Python 3.12.
+
+- Update code and tests to ``python-subunit >= 1.4.3`` thus requiring at least
+ this version.
+
+
+6.1 (2023-08-26)
+================
+
+- Add preliminary support for Python 3.12b4.
+ (`#149 <https://github.com/zopefoundation/zope.testrunner/issues/149>`_)
+
+
6.0 (2023-03-28)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/src/zope.testrunner.egg-info/SOURCES.txt new/zope.testrunner-6.2/src/zope.testrunner.egg-info/SOURCES.txt
--- old/zope.testrunner-6.0/src/zope.testrunner.egg-info/SOURCES.txt 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/src/zope.testrunner.egg-info/SOURCES.txt 2023-11-08 08:20:24.000000000 +0100
@@ -7,7 +7,6 @@
MANIFEST.in
README.rst
buildout.cfg
-doc-requirements.txt
setup.cfg
setup.py
tox.ini
@@ -17,6 +16,7 @@
docs/conf.py
docs/getting-started.rst
docs/index.rst
+docs/requirements.txt
docs/testrunner-arguments.rst
docs/testrunner-colors.rst
docs/testrunner-coverage.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/src/zope.testrunner.egg-info/requires.txt new/zope.testrunner-6.2/src/zope.testrunner.egg-info/requires.txt
--- old/zope.testrunner-6.0/src/zope.testrunner.egg-info/requires.txt 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/src/zope.testrunner.egg-info/requires.txt 2023-11-08 08:20:24.000000000 +0100
@@ -7,7 +7,7 @@
sphinxcontrib-programoutput
[subunit]
-python-subunit>=0.0.11
+python-subunit>=1.4.3
testtools>=0.9.30
[test]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testrunner-6.0/tox.ini new/zope.testrunner-6.2/tox.ini
--- old/zope.testrunner-6.0/tox.ini 2023-03-28 09:18:17.000000000 +0200
+++ new/zope.testrunner-6.2/tox.ini 2023-11-08 08:20:24.000000000 +0100
@@ -3,41 +3,58 @@
[tox]
minversion = 3.18
envlist =
+ release-check
lint
py37
py38
py39
py310
py311
+ py312
pypy3
docs
coverage
- py{37,38,39,310,311,py3}-subunit
+ py{37,38,39,310,311,312,py3}-subunit
[testenv]
usedevelop = true
+package = wheel
+wheel_build_env = .pkg
deps =
+setenv =
+ py312: VIRTUALENV_PIP=23.1.2
+ py312: PIP_REQUIRE_VIRTUALENV=0
commands =
zope-testrunner --test-path=src {posargs:-vc}
extras =
test
subunit: subunit
coverage: subunit
-
-[testenv:lint]
+[testenv:release-check]
+description = ensure that the distribution is ready to release
basepython = python3
skip_install = true
+deps =
+ twine
+ build
+ check-manifest
+ check-python-versions >= 0.20.0
+ wheel
commands =
- isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py
- flake8 src setup.py
check-manifest
check-python-versions
+ python -m build --sdist --no-isolation
+ twine check dist/*
+
+[testenv:lint]
+basepython = python3
+skip_install = true
deps =
- check-manifest
- check-python-versions >= 0.19.1
- wheel
- flake8
isort
+ flake8
+commands =
+ isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py
+ flake8 src setup.py
[testenv:isort-apply]
basepython = python3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package selinux-policy for openSUSE:Factory checked in at 2023-12-11 21:49:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/selinux-policy (Old)
and /work/SRC/openSUSE:Factory/.selinux-policy.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "selinux-policy"
Mon Dec 11 21:49:43 2023 rev:54 rq:1132428 version:20231124
Changes:
--------
--- /work/SRC/openSUSE:Factory/selinux-policy/selinux-policy.changes 2023-11-26 19:36:46.497001008 +0100
+++ /work/SRC/openSUSE:Factory/.selinux-policy.new.25432/selinux-policy.changes 2023-12-11 21:49:46.137789618 +0100
@@ -1,0 +2,6 @@
+Tue Nov 28 14:40:23 UTC 2023 - Hu <cathy.hu(a)suse.com>
+
+- Trigger rebuild of the policy when pcre2 gets updated to avoid
+ regex version mismatch errors (bsc#1216747).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ selinux-policy.spec ++++++
--- /var/tmp/diff_new_pack.UQal3Y/_old 2023-12-11 21:49:48.285869167 +0100
+++ /var/tmp/diff_new_pack.UQal3Y/_new 2023-12-11 21:49:48.285869167 +0100
@@ -539,6 +539,10 @@
%postun targeted
%post_un $1 targeted
+%triggerin -- libpcre2-8-0
+%{_sbindir}/selinuxenabled && %{_sbindir}/semodule -nB
+exit 0
+
%files targeted -f %{buildroot}%{_datadir}/selinux/targeted/nonbasemodules.lst
%config(noreplace) %{_sysconfdir}/selinux/targeted/contexts/users/unconfined_u
%config(noreplace) %{_sysconfdir}/selinux/targeted/contexts/users/sysadm_u
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openblas for openSUSE:Factory checked in at 2023-12-11 21:49:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openblas (Old)
and /work/SRC/openSUSE:Factory/.openblas.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openblas"
Mon Dec 11 21:49:42 2023 rev:58 rq:1132392 version:0.3.25
Changes:
--------
--- /work/SRC/openSUSE:Factory/openblas/openblas.changes 2023-11-06 21:13:49.714271304 +0100
+++ /work/SRC/openSUSE:Factory/.openblas.new.25432/openblas.changes 2023-12-11 21:49:43.957708882 +0100
@@ -1,0 +2,52 @@
+Wed Nov 29 05:43:18 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 0.3.25:
+ * General:
+ - improved the error message shown on exceeding the maximum
+ thread count
+ - improved the code to add supplementary thread buffers in
+ case of overflow
+ - fixed a potential division by zero in ?ROTG
+ - improved the ?MATCOPY functions to accept zero-sized rows or
+ columns
+ - corrected empty prototypes in function declarations
+ - cleaned up unused declarations in the f2c-converted versions
+ of the LAPACK sources
+ - fixed compilation with the Cray CCE Compiler suite
+ - improved link line rewriting to avoid mixed libgomp/libomp
+ builds with clang&gfortran
+ - worked around OPENMP builds with LLVM14's libomp hanging on
+ FreeBSD
+ - improved the Makefiles to require less option duplication on
+ "make install"
+ - imported the following changes from the upcoming release
+ 3.12 of Reference-LAPACK: LAPACK PR 900, LAPACK PR 904,
+ LAPACK PR 907, LAPACK PR 909, LAPACK PR 926, LAPACK PR 927,
+ LAPACK PR 928 & 930
+ * x86-64:
+ - fixed compile-time autodetection of AMD Ryzen3 and Ryzen4
+ cpus
+ - fixed capability-based fallback selection for unknown cpus
+ in DYNAMIC_ARCH
+ - added AVX512 optimizations for ?ASUM on Sapphire Rapids and
+ Cooper Lake
+ * ARM64:
+ - fixed building on Apple with homebrew gcc
+ - fixed building with XCODE 15
+ - fixed building on A64FX and Cortex A710/X1/X2
+ - increased the default buffer size for recent ARM server cpus
+ * POWER:
+ - fixed building with the IBM xlf 16.1.1 compiler
+ - fixed building with IBM XL C
+ - added support for DYNAMIC_ARCH builds with clang
+ - fixed union declaration in the BFLOAT16 test case
+ - enable optimizations for the AIX assembler on POWER10
+ * LOONGARCH64:
+ - added an optimized SGEMV kernel
+ - added an optimized DTRSM kernel
+- Minor rebase of openblas-ppc64be_up2_p8.patch to apply cleanly.
+- Drop upstreamed patches:
+ * Use-blasint-for-INTERFACE64-compatibility.patch
+ * remove-spurious-loops.patch
+
+-------------------------------------------------------------------
Old:
----
OpenBLAS-0.3.21.tar.gz
Use-blasint-for-INTERFACE64-compatibility.patch
remove-spurious-loops.patch
New:
----
OpenBLAS-0.3.25.tar.gz
BETA DEBUG BEGIN:
Old:- Drop upstreamed patches:
* Use-blasint-for-INTERFACE64-compatibility.patch
* remove-spurious-loops.patch
Old: * Use-blasint-for-INTERFACE64-compatibility.patch
* remove-spurious-loops.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openblas.spec ++++++
--- /var/tmp/diff_new_pack.dbr4OV/_old 2023-12-11 21:49:45.685772878 +0100
+++ /var/tmp/diff_new_pack.dbr4OV/_new 2023-12-11 21:49:45.685772878 +0100
@@ -18,8 +18,8 @@
%global flavor @BUILD_FLAVOR@%{nil}
-%define _vers 0_3_21
-%define vers 0.3.21
+%define _vers 0_3_25
+%define vers 0.3.25
%define so_v 0
%define pname openblas
@@ -224,8 +224,6 @@
Source1: README.SUSE
Source2: README.HPC.SUSE
Source3: openblas.rpmlintrc
-Patch1: Use-blasint-for-INTERFACE64-compatibility.patch
-Patch2: remove-spurious-loops.patch
Patch101: Link-library-with-z-noexecstack.patch
# PATCH port
Patch102: Handle-s390-correctly.patch
++++++ Link-library-with-z-noexecstack.patch ++++++
--- /var/tmp/diff_new_pack.dbr4OV/_old 2023-12-11 21:49:45.705773618 +0100
+++ /var/tmp/diff_new_pack.dbr4OV/_new 2023-12-11 21:49:45.709773767 +0100
@@ -10,10 +10,10 @@
---
exports/Makefile | 1 +
1 file changed, 1 insertion(+)
-diff --git a/exports/Makefile b/exports/Makefile
-index d8173534..a23fbc7f 100644
---- a/exports/Makefile
-+++ b/exports/Makefile
+Index: OpenBLAS-0.3.25/exports/Makefile
+===================================================================
+--- OpenBLAS-0.3.25.orig/exports/Makefile
++++ OpenBLAS-0.3.25/exports/Makefile
@@ -193,6 +193,7 @@ else ifeq ($(F_COMPILER), FLANG)
else
ifneq ($(C_COMPILER), LSB)
++++++ OpenBLAS-0.3.21.tar.gz -> OpenBLAS-0.3.25.tar.gz ++++++
/work/SRC/openSUSE:Factory/openblas/OpenBLAS-0.3.21.tar.gz /work/SRC/openSUSE:Factory/.openblas.new.25432/OpenBLAS-0.3.25.tar.gz differ: char 14, line 1
++++++ openblas-ppc64be_up2_p8.patch ++++++
--- /var/tmp/diff_new_pack.dbr4OV/_old 2023-12-11 21:49:45.777776285 +0100
+++ /var/tmp/diff_new_pack.dbr4OV/_new 2023-12-11 21:49:45.777776285 +0100
@@ -15,19 +15,18 @@
driver/others/dynamic_power.c | 11 +++++++++++
2 files changed, 18 insertions(+), 3 deletions(-)
-Index: OpenBLAS-0.3.14/driver/others/dynamic_power.c
+Index: OpenBLAS-0.3.25/driver/others/dynamic_power.c
===================================================================
---- OpenBLAS-0.3.14.orig/driver/others/dynamic_power.c
-+++ OpenBLAS-0.3.14/driver/others/dynamic_power.c
-@@ -3,6 +3,7 @@
+--- OpenBLAS-0.3.25.orig/driver/others/dynamic_power.c
++++ OpenBLAS-0.3.25/driver/others/dynamic_power.c
+@@ -3,12 +3,14 @@
extern gotoblas_t gotoblas_POWER6;
extern gotoblas_t gotoblas_POWER8;
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
- #if (!defined __GNUC__) || ( __GNUC__ >= 6)
+ #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__)
extern gotoblas_t gotoblas_POWER9;
#endif
-@@ -13,6 +14,7 @@ extern gotoblas_t gotoblas_POWER9;
#ifdef HAVE_P10_SUPPORT
extern gotoblas_t gotoblas_POWER10;
#endif
@@ -35,12 +34,11 @@
extern void openblas_warning(int verbose, const char *msg);
-@@ -31,12 +33,14 @@ char *gotoblas_corename(void) {
- if (gotoblas == &gotoblas_POWER6) return corename[1];
+@@ -28,11 +30,13 @@ char *gotoblas_corename(void) {
#endif
if (gotoblas == &gotoblas_POWER8) return corename[2];
+ #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__)
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
- #if (!defined __GNUC__) || ( __GNUC__ >= 6)
if (gotoblas == &gotoblas_POWER9) return corename[3];
#endif
#ifdef HAVE_P10_SUPPORT
@@ -50,7 +48,7 @@
return corename[0];
}
-@@ -200,6 +204,10 @@ static gotoblas_t *get_coretype(void) {
+@@ -243,6 +247,10 @@ static gotoblas_t *get_coretype(void) {
#endif
if (__builtin_cpu_is("power8"))
return &gotoblas_POWER8;
@@ -58,23 +56,23 @@
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return &gotoblas_POWER8;
+#else
- #if (!defined __GNUC__) || ( __GNUC__ >= 6)
+ #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__)
if (__builtin_cpu_is("power9"))
return &gotoblas_POWER9;
-@@ -213,6 +221,7 @@ static gotoblas_t *get_coretype(void) {
+@@ -260,6 +268,7 @@ static gotoblas_t *get_coretype(void) {
if (__builtin_cpu_is("power10"))
return &gotoblas_POWER9;
- #endif
+ #endif
+#endif
return NULL;
}
-@@ -237,12 +246,14 @@ static gotoblas_t *force_coretype(char *
+@@ -284,12 +293,14 @@ static gotoblas_t *force_coretype(char *
case 1: return (&gotoblas_POWER6);
#endif
case 2: return (&gotoblas_POWER8);
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
- #if (!defined __GNUC__) || ( __GNUC__ >= 6)
+ #if ((!defined __GNUC__) || ( __GNUC__ >= 6)) || defined(__clang__)
case 3: return (&gotoblas_POWER9);
#endif
#ifdef HAVE_P10_SUPPORT
@@ -84,11 +82,11 @@
default: return NULL;
}
snprintf(message, 128, "Core not found: %s\n", coretype);
-Index: OpenBLAS-0.3.14/Makefile.system
+Index: OpenBLAS-0.3.25/Makefile.system
===================================================================
---- OpenBLAS-0.3.14.orig/Makefile.system
-+++ OpenBLAS-0.3.14/Makefile.system
-@@ -673,6 +673,9 @@ ifeq ($(ARCH), power)
+--- OpenBLAS-0.3.25.orig/Makefile.system
++++ OpenBLAS-0.3.25/Makefile.system
+@@ -748,6 +748,9 @@ ifeq ($(ARCH), power)
ifneq ($(C_COMPILER), PGI)
DYNAMIC_CORE = POWER6
DYNAMIC_CORE += POWER8
@@ -98,7 +96,7 @@
ifneq ($(C_COMPILER), GCC)
DYNAMIC_CORE += POWER9
DYNAMIC_CORE += POWER10
-@@ -697,11 +700,12 @@ else
+@@ -776,11 +779,12 @@ else
$(info, OpenBLAS: Your gcc version is too old to build the POWER10 kernels.)
endif
endif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-marshmallow for openSUSE:Factory checked in at 2023-12-11 21:49:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-marshmallow (Old)
and /work/SRC/openSUSE:Factory/.python-marshmallow.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-marshmallow"
Mon Dec 11 21:49:40 2023 rev:23 rq:1132365 version:3.20.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-marshmallow/python-marshmallow.changes 2023-05-26 20:15:35.840306959 +0200
+++ /work/SRC/openSUSE:Factory/.python-marshmallow.new.25432/python-marshmallow.changes 2023-12-11 21:49:41.593621335 +0100
@@ -1,0 +2,16 @@
+Sun Dec 10 21:27:36 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.20.1:
+ * Fix call to ``get_declared_fields``: pass ``dict_cls`` again
+ * Add ``absolute`` parameter to ``URL`` validator and ``Url``
+ * Use Abstract Base Classes to define ``FieldABC`` and
+ ``SchemaABC``
+ * Use `OrderedSet` as default `set_class`. Schemas are now
+ ordered by default.
+ * Handle ``OSError`` and ``OverflowError`` in
+ ``utils.from_timestamp`` (:pr:`2102`).
+ * Fix the default inheritance of nested partial schemas
+ * Officially support Python 3.11 (:pr:`2067`).
+ * Drop support for Python 3.7 (:pr:`2135`).
+
+-------------------------------------------------------------------
Old:
----
marshmallow-3.19.0.tar.gz
New:
----
marshmallow-3.20.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-marshmallow.spec ++++++
--- /var/tmp/diff_new_pack.yftqPI/_old 2023-12-11 21:49:43.297684441 +0100
+++ /var/tmp/diff_new_pack.yftqPI/_new 2023-12-11 21:49:43.297684441 +0100
@@ -16,10 +16,9 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
%{?sle15_python_module_pythons}
Name: python-marshmallow
-Version: 3.19.0
+Version: 3.20.1
Release: 0
Summary: ORM/ODM/framework-agnostic library to convert datatypes from/to Python types
License: BSD-3-Clause AND MIT
@@ -29,7 +28,7 @@
# https://github.com/humitos/sphinx-version-warning/issues/22
Patch0: python-marshmallow-no-version-warning.patch
BuildRequires: %{python_module autodocsumm}
-BuildRequires: %{python_module base >= 3.7}
+BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++++++ marshmallow-3.19.0.tar.gz -> marshmallow-3.20.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/AUTHORS.rst new/marshmallow-3.20.1/AUTHORS.rst
--- old/marshmallow-3.19.0/AUTHORS.rst 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/AUTHORS.rst 2023-07-21 00:08:04.000000000 +0200
@@ -171,3 +171,5 @@
- Karthikeyan Singaravelan `@tirkarthi <https://github.com/tirkarthi>`_
- Marco Satti `@marcosatti <https://github.com/marcosatti>`_
- Ivo Reumkens `@vanHoi <https://github.com/vanHoi>`_
+- Aditya Tewary `@aditkumar72 <https://github.com/aditkumar72>`_
+- Sebastien Lovergne `@TheBigRoomXXL <https://github.com/TheBigRoomXXL>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/CHANGELOG.rst new/marshmallow-3.20.1/CHANGELOG.rst
--- old/marshmallow-3.19.0/CHANGELOG.rst 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/CHANGELOG.rst 2023-07-21 00:08:04.000000000 +0200
@@ -1,12 +1,44 @@
Changelog
---------
+3.20.1 (2023-07-20)
+*******************
+
+Bug fixes:
+
+- Fix call to ``get_declared_fields``: pass ``dict_cls`` again (:issue:`2152`).
+ Thanks :user:`Cheaterman` for reporting.
+
+3.20.0 (2023-07-20)
+*******************
+
+Features:
+
+- Add ``absolute`` parameter to ``URL`` validator and ``Url`` field (:pr:`2123`).
+ Thanks :user:`sirosen` for the PR.
+- Use Abstract Base Classes to define ``FieldABC`` and ``SchemaABC``
+ (:issue:`1449`). Thanks :user:`aditkumar72` for the PR.
+- Use `OrderedSet` as default `set_class`. Schemas are now ordered by default.
+ (:issue:`1744`)
+
+Bug fixes:
+
+- Handle ``OSError`` and ``OverflowError`` in ``utils.from_timestamp`` (:pr:`2102`).
+ Thanks :user:`TheBigRoomXXL` for the PR.
+- Fix the default inheritance of nested partial schemas (:issue:`2149`).
+ Thanks :user:`matejsp` for reporting.
+
+Other changes:
+
+- Officially support Python 3.11 (:pr:`2067`).
+- Drop support for Python 3.7 (:pr:`2135`).
+
3.19.0 (2022-11-11)
*******************
Features:
-- Add ``timestamp`` and ``timestamp_ms`` formats to `fields.DateTime`
+- Add ``timestamp`` and ``timestamp_ms`` formats to ``fields.DateTime``
(:issue:`612`).
Thanks :user:`vgavro` for the suggestion and thanks :user:`vanHoi` for
the PR.
@@ -93,7 +125,7 @@
Other changes:
-- Fix type-hints for ```data``` arg in ```Schema.validate``` to accept
+- Fix type-hints for ``data`` arg in ``Schema.validate`` to accept
list of dictionaries (:issue:`1790`, :pr:`1868`).
Thanks :user:`yourun-proger` for PR.
- Improve warning when passing metadata as keyword arguments (:pr:`1882`).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/PKG-INFO new/marshmallow-3.20.1/PKG-INFO
--- old/marshmallow-3.19.0/PKG-INFO 2022-11-11 17:10:43.928643500 +0100
+++ new/marshmallow-3.20.1/PKG-INFO 2023-07-21 00:08:15.534859200 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: marshmallow
-Version: 3.19.0
+Version: 3.20.1
Summary: A lightweight library for converting complex datatypes to and from native Python datatypes.
Home-page: https://github.com/marshmallow-code/marshmallow
Author: Steven Loria
@@ -15,11 +15,11 @@
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
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
-Requires-Python: >=3.7
+Classifier: Programming Language :: Python :: 3.11
+Requires-Python: >=3.8
Provides-Extra: tests
Provides-Extra: lint
Provides-Extra: docs
@@ -34,10 +34,14 @@
:target: https://pypi.org/project/marshmallow/
:alt: Latest version
-.. image:: https://dev.azure.com/sloria/sloria/_apis/build/status/marshmallow-code.mar…
- :target: https://dev.azure.com/sloria/sloria/_build/latest?definitionId=5&branchName…
+.. image:: https://github.com/marshmallow-code/marshmallow/actions/workflows/build-rel…
+ :target: https://github.com/marshmallow-code/marshmallow/actions/workflows/build-rel…
:alt: Build status
+.. image:: https://results.pre-commit.ci/badge/github/marshmallow-code/marshmallow/dev…
+ :target: https://results.pre-commit.ci/latest/github/marshmallow-code/marshmallow/dev
+ :alt: pre-commit.ci status
+
.. image:: https://readthedocs.org/projects/marshmallow/badge/
:target: https://marshmallow.readthedocs.io/
:alt: Documentation
@@ -100,7 +104,7 @@
Requirements
============
-- Python >= 3.7
+- Python >= 3.8
Ecosystem
=========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/README.rst new/marshmallow-3.20.1/README.rst
--- old/marshmallow-3.19.0/README.rst 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/README.rst 2023-07-21 00:08:04.000000000 +0200
@@ -6,10 +6,14 @@
:target: https://pypi.org/project/marshmallow/
:alt: Latest version
-.. image:: https://dev.azure.com/sloria/sloria/_apis/build/status/marshmallow-code.mar…
- :target: https://dev.azure.com/sloria/sloria/_build/latest?definitionId=5&branchName…
+.. image:: https://github.com/marshmallow-code/marshmallow/actions/workflows/build-rel…
+ :target: https://github.com/marshmallow-code/marshmallow/actions/workflows/build-rel…
:alt: Build status
+.. image:: https://results.pre-commit.ci/badge/github/marshmallow-code/marshmallow/dev…
+ :target: https://results.pre-commit.ci/latest/github/marshmallow-code/marshmallow/dev
+ :alt: pre-commit.ci status
+
.. image:: https://readthedocs.org/projects/marshmallow/badge/
:target: https://marshmallow.readthedocs.io/
:alt: Documentation
@@ -72,7 +76,7 @@
Requirements
============
-- Python >= 3.7
+- Python >= 3.8
Ecosystem
=========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/docs/conf.py new/marshmallow-3.20.1/docs/conf.py
--- old/marshmallow-3.19.0/docs/conf.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/docs/conf.py 2023-07-21 00:08:04.000000000 +0200
@@ -81,14 +81,14 @@
}
html_sidebars = {
- "index": ["about.html", "donate.html", "useful-links.html", "searchbox.html"],
+ "index": ["about.html", "searchbox.html", "donate.html", "useful-links.html"],
"**": [
"about.html",
+ "searchbox.html",
"donate.html",
"useful-links.html",
"localtoc.html",
"relations.html",
- "searchbox.html",
],
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/docs/install.rst new/marshmallow-3.20.1/docs/install.rst
--- old/marshmallow-3.19.0/docs/install.rst 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/docs/install.rst 2023-07-21 00:08:04.000000000 +0200
@@ -3,7 +3,7 @@
Installation
============
-**marshmallow** requires Python >= 3.7. It has no external dependencies other than the `packaging` library.
+**marshmallow** requires Python >= 3.8. It has no external dependencies other than the `packaging` library.
Installing/Upgrading from the PyPI
----------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/docs/quickstart.rst new/marshmallow-3.20.1/docs/quickstart.rst
--- old/marshmallow-3.19.0/docs/quickstart.rst 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/docs/quickstart.rst 2023-07-21 00:08:04.000000000 +0200
@@ -524,37 +524,6 @@
# No need to include 'uppername'
additional = ("name", "email", "created_at")
-Ordering Output
----------------
-
-To maintain field ordering, set the ``ordered`` option to `True`. This will instruct marshmallow to serialize data to a `collections.OrderedDict`.
-
-.. code-block:: python
-
- from collections import OrderedDict
- from pprint import pprint
-
- from marshmallow import Schema, fields
-
-
- class UserSchema(Schema):
- first_name = fields.String()
- last_name = fields.String()
- email = fields.Email()
-
- class Meta:
- ordered = True
-
-
- u = User("Charlie", "Stones", "charlie(a)stones.com")
- schema = UserSchema()
- result = schema.dump(u)
- assert isinstance(result, OrderedDict)
- pprint(result, indent=2)
- # OrderedDict([('first_name', 'Charlie'),
- # ('last_name', 'Stones'),
- # ('email', 'charlie(a)stones.com')])
-
Next Steps
----------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/pyproject.toml new/marshmallow-3.20.1/pyproject.toml
--- old/marshmallow-3.19.0/pyproject.toml 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/pyproject.toml 2023-07-21 00:08:04.000000000 +0200
@@ -1,3 +1,3 @@
[tool.black]
line-length = 88
-target-version = ['py37', 'py38', 'py39', 'py310']
+target-version = ['py38', 'py39', 'py310', 'py311']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/setup.cfg new/marshmallow-3.20.1/setup.cfg
--- old/marshmallow-3.19.0/setup.cfg 2022-11-11 17:10:43.932643400 +0100
+++ new/marshmallow-3.20.1/setup.cfg 2023-07-21 00:08:15.534859200 +0200
@@ -2,10 +2,9 @@
license_files = LICENSE
[flake8]
-extend-ignore = E203, E266, E501, E731, B903
max-line-length = 90
max-complexity = 18
-select = B,C,E,F,W,T4,B9
+extend-ignore = E203, E266, E501, E731, B903
[tool:pytest]
norecursedirs = .git .ropeproject .tox docs env venv tests/mypy_test_cases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/setup.py new/marshmallow-3.20.1/setup.py
--- old/marshmallow-3.19.0/setup.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/setup.py 2023-07-21 00:08:04.000000000 +0200
@@ -4,17 +4,17 @@
EXTRAS_REQUIRE = {
"tests": ["pytest", "pytz", "simplejson"],
"lint": [
- "mypy==0.990",
- "flake8==5.0.4",
- "flake8-bugbear==22.10.25",
- "pre-commit~=2.4",
+ "mypy==1.4.1",
+ "flake8==6.0.0",
+ "flake8-bugbear==23.7.10",
+ "pre-commit>=2.4,<4.0",
],
"docs": [
- "sphinx==5.3.0",
+ "sphinx==7.0.1",
"sphinx-issues==3.0.1",
- "alabaster==0.7.12",
+ "alabaster==0.7.13",
"sphinx-version-warning==1.1.2",
- "autodocsumm==0.2.9",
+ "autodocsumm==0.2.11",
],
}
EXTRAS_REQUIRE["dev"] = EXTRAS_REQUIRE["tests"] + EXTRAS_REQUIRE["lint"] + ["tox"]
@@ -73,16 +73,16 @@
"validation",
"schema",
],
- python_requires=">=3.7",
+ python_requires=">=3.8",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
- "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",
],
test_suite="tests",
project_urls={
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow/__init__.py new/marshmallow-3.20.1/src/marshmallow/__init__.py
--- old/marshmallow-3.19.0/src/marshmallow/__init__.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow/__init__.py 2023-07-21 00:08:04.000000000 +0200
@@ -16,7 +16,7 @@
from . import fields
-__version__ = "3.19.0"
+__version__ = "3.20.1"
__parsed_version__ = Version(__version__)
__version_info__: tuple[int, int, int] | tuple[
int, int, int, str, int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow/base.py new/marshmallow-3.20.1/src/marshmallow/base.py
--- old/marshmallow-3.19.0/src/marshmallow/base.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow/base.py 2023-07-21 00:08:04.000000000 +0200
@@ -1,6 +1,6 @@
"""Abstract base classes.
-These are necessary to avoid circular imports between core.py and fields.py.
+These are necessary to avoid circular imports between schema.py and fields.py.
.. warning::
@@ -8,40 +8,49 @@
Users should not need to use this module directly.
"""
from __future__ import annotations
+from abc import ABC, abstractmethod
-class FieldABC:
+class FieldABC(ABC):
"""Abstract base class from which all Field classes inherit."""
parent = None
name = None
root = None
+ @abstractmethod
def serialize(self, attr, obj, accessor=None):
- raise NotImplementedError
+ pass
+ @abstractmethod
def deserialize(self, value):
- raise NotImplementedError
+ pass
+ @abstractmethod
def _serialize(self, value, attr, obj, **kwargs):
- raise NotImplementedError
+ pass
+ @abstractmethod
def _deserialize(self, value, attr, data, **kwargs):
- raise NotImplementedError
+ pass
-class SchemaABC:
+class SchemaABC(ABC):
"""Abstract base class from which all Schemas inherit."""
+ @abstractmethod
def dump(self, obj, *, many: bool | None = None):
- raise NotImplementedError
+ pass
+ @abstractmethod
def dumps(self, obj, *, many: bool | None = None):
- raise NotImplementedError
+ pass
+ @abstractmethod
def load(self, data, *, many: bool | None = None, partial=None, unknown=None):
- raise NotImplementedError
+ pass
+ @abstractmethod
def loads(
self,
json_data,
@@ -51,4 +60,4 @@
unknown=None,
**kwargs,
):
- raise NotImplementedError
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow/decorators.py new/marshmallow-3.20.1/src/marshmallow/decorators.py
--- old/marshmallow-3.19.0/src/marshmallow/decorators.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow/decorators.py 2023-07-21 00:08:04.000000000 +0200
@@ -61,7 +61,7 @@
from __future__ import annotations
import functools
-from typing import Any, Callable, Dict, Optional, Tuple, Union, cast
+from typing import Any, Callable, cast
PRE_DUMP = "pre_dump"
POST_DUMP = "post_dump"
@@ -72,9 +72,7 @@
class MarshmallowHook:
- __marshmallow_hook__ = (
- None
- ) # type: Optional[Dict[Union[Tuple[str, bool], str], Any]]
+ __marshmallow_hook__: dict[tuple[str, bool] | str, Any] | None = None
def validates(field_name: str) -> Callable[..., Any]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow/fields.py new/marshmallow-3.20.1/src/marshmallow/fields.py
--- old/marshmallow-3.19.0/src/marshmallow/fields.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow/fields.py 2023-07-21 00:08:04.000000000 +0200
@@ -137,7 +137,6 @@
# to exist as attributes on the objects to serialize. Set this to False
# for those fields
_CHECK_ATTRIBUTE = True
- _creation_index = 0 # Used for sorting
#: Default error messages for various kinds of errors. The keys in this dictionary
#: are passed to `Field.make_error`. The values are error messages passed to
@@ -157,9 +156,9 @@
default: typing.Any = missing_,
data_key: str | None = None,
attribute: str | None = None,
- validate: None
- | (
- typing.Callable[[typing.Any], typing.Any]
+ validate: (
+ None
+ | typing.Callable[[typing.Any], typing.Any]
| typing.Iterable[typing.Callable[[typing.Any], typing.Any]]
) = None,
required: bool = False,
@@ -227,9 +226,6 @@
stacklevel=2,
)
- self._creation_index = Field._creation_index
- Field._creation_index += 1
-
# Collect default error message from self and parent classes
messages = {} # type: dict[str, str]
for cls in reversed(self.__class__.__mro__):
@@ -920,8 +916,7 @@
try:
if isinstance(value, bytes) and len(value) == 16:
return uuid.UUID(bytes=value)
- else:
- return uuid.UUID(value)
+ return uuid.UUID(value)
except (ValueError, AttributeError, TypeError) as error:
raise self.make_error("invalid_uuid") from error
@@ -1281,28 +1276,21 @@
format_func = self.SERIALIZATION_FUNCS.get(data_format)
if format_func:
return format_func(value)
- else:
- return value.strftime(data_format)
+ return value.strftime(data_format)
def _deserialize(self, value, attr, data, **kwargs) -> dt.datetime:
if not value: # Falsy values, e.g. '', None, [] are not valid
raise self.make_error("invalid", input=value, obj_type=self.OBJ_TYPE)
data_format = self.format or self.DEFAULT_FORMAT
func = self.DESERIALIZATION_FUNCS.get(data_format)
- if func:
- try:
+ try:
+ if func:
return func(value)
- except (TypeError, AttributeError, ValueError) as error:
- raise self.make_error(
- "invalid", input=value, obj_type=self.OBJ_TYPE
- ) from error
- else:
- try:
- return self._make_object_from_format(value, data_format)
- except (TypeError, AttributeError, ValueError) as error:
- raise self.make_error(
- "invalid", input=value, obj_type=self.OBJ_TYPE
- ) from error
+ return self._make_object_from_format(value, data_format)
+ except (TypeError, AttributeError, ValueError) as error:
+ raise self.make_error(
+ "invalid", input=value, obj_type=self.OBJ_TYPE
+ ) from error
@staticmethod
def _make_object_from_format(value, data_format) -> dt.datetime:
@@ -1525,9 +1513,8 @@
delta = utils.timedelta_to_microseconds(value)
unit = utils.timedelta_to_microseconds(base_unit)
return delta // unit
- else:
- assert self.serialization_type is float
- return value.total_seconds() / base_unit.total_seconds()
+ assert self.serialization_type is float
+ return value.total_seconds() / base_unit.total_seconds()
def _deserialize(self, value, attr, data, **kwargs):
try:
@@ -1710,6 +1697,7 @@
self,
*,
relative: bool = False,
+ absolute: bool = True,
schemes: types.StrSequenceOrSet | None = None,
require_tld: bool = True,
**kwargs,
@@ -1717,10 +1705,12 @@
super().__init__(**kwargs)
self.relative = relative
+ self.absolute = absolute
self.require_tld = require_tld
# Insert validation into self.validators so that multiple errors can be stored.
validator = validate.URL(
relative=self.relative,
+ absolute=self.absolute,
schemes=schemes,
require_tld=self.require_tld,
error=self.error_messages["invalid"],
@@ -2024,14 +2014,14 @@
def __init__(
self,
- serialize: None
- | (
- typing.Callable[[typing.Any], typing.Any]
+ serialize: (
+ None
+ | typing.Callable[[typing.Any], typing.Any]
| typing.Callable[[typing.Any, dict], typing.Any]
) = None,
- deserialize: None
- | (
- typing.Callable[[typing.Any], typing.Any]
+ deserialize: (
+ None
+ | typing.Callable[[typing.Any], typing.Any]
| typing.Callable[[typing.Any, dict], typing.Any]
) = None,
**kwargs,
@@ -2057,8 +2047,7 @@
msg = f"No context available for Function field {attr!r}"
raise ValidationError(msg)
return func(value, self.parent.context)
- else:
- return func(value)
+ return func(value)
class Constant(Field):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow/schema.py new/marshmallow-3.20.1/src/marshmallow/schema.py
--- old/marshmallow-3.19.0/src/marshmallow/schema.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow/schema.py 2023-07-21 00:08:04.000000000 +0200
@@ -1,5 +1,6 @@
"""The :class:`Schema` class, including its metaclass and options (class Meta)."""
from __future__ import annotations
+from abc import ABCMeta
from collections import defaultdict, OrderedDict
from collections.abc import Mapping
@@ -41,25 +42,21 @@
_T = typing.TypeVar("_T")
-def _get_fields(attrs, ordered=False):
- """Get fields from a class. If ordered=True, fields will sorted by creation index.
+def _get_fields(attrs):
+ """Get fields from a class
:param attrs: Mapping of class attributes
- :param bool ordered: Sort fields by creation index
"""
- fields = [
+ return [
(field_name, field_value)
for field_name, field_value in attrs.items()
if is_instance_or_subclass(field_value, base.FieldABC)
]
- if ordered:
- fields.sort(key=lambda pair: pair[1]._creation_index)
- return fields
# This function allows Schemas to inherit from non-Schema classes and ensures
# inheritance according to the MRO
-def _get_fields_by_mro(klass, ordered=False):
+def _get_fields_by_mro(klass):
"""Collect fields from a class, following its method resolution order. The
class itself is excluded from the search; only its parents are checked. Get
fields from ``_declared_fields`` if available, else use ``__dict__``.
@@ -72,7 +69,6 @@
(
_get_fields(
getattr(base, "_declared_fields", base.__dict__),
- ordered=ordered,
)
for base in mro[:0:-1]
),
@@ -80,7 +76,7 @@
)
-class SchemaMeta(type):
+class SchemaMeta(ABCMeta):
"""Metaclass for the Schema class. Binds the declared fields to
a ``_declared_fields`` attribute, which is a dictionary mapping attribute
names to field objects. Also sets the ``opts`` class attribute, which is
@@ -101,13 +97,13 @@
break
else:
ordered = False
- cls_fields = _get_fields(attrs, ordered=ordered)
+ cls_fields = _get_fields(attrs)
# Remove fields from list of class attributes to avoid shadowing
# Schema attributes/methods in case of name conflict
for field_name, _ in cls_fields:
del attrs[field_name]
klass = super().__new__(mcs, name, bases, attrs)
- inherited_fields = _get_fields_by_mro(klass, ordered=ordered)
+ inherited_fields = _get_fields_by_mro(klass)
meta = klass.Meta
# Set klass.opts in __new__ rather than __init__ so that it is accessible in
@@ -116,13 +112,12 @@
# Add fields specified in the `include` class Meta option
cls_fields += list(klass.opts.include.items())
- dict_cls = OrderedDict if ordered else dict
# Assign _declared_fields on class
klass._declared_fields = mcs.get_declared_fields(
klass=klass,
cls_fields=cls_fields,
inherited_fields=inherited_fields,
- dict_cls=dict_cls,
+ dict_cls=dict,
)
return klass
@@ -132,7 +127,7 @@
klass: type,
cls_fields: list,
inherited_fields: list,
- dict_cls: type,
+ dict_cls: type = dict,
):
"""Returns a dictionary of field_name => `Field` pairs declared on the class.
This is exposed mainly so that plugins can add additional fields, e.g. fields
@@ -142,8 +137,7 @@
:param cls_fields: The fields declared on the class, including those added
by the ``include`` class Meta option.
:param inherited_fields: Inherited fields.
- :param dict_cls: Either `dict` or `OrderedDict`, depending on whether
- the user specified `ordered=True`.
+ :param dict_cls: dict-like class to use for dict output Default to ``dict``.
"""
return dict_cls(inherited_fields + cls_fields)
@@ -318,6 +312,8 @@
OPTIONS_CLASS = SchemaOpts # type: type
+ set_class = OrderedSet
+
# These get set by SchemaMeta
opts = None # type: SchemaOpts
_declared_fields = {} # type: typing.Dict[str, ma_fields.Field]
@@ -349,9 +345,7 @@
- ``timeformat``: Default format for `Time <fields.Time>` fields.
- ``render_module``: Module to use for `loads <Schema.loads>` and `dumps <Schema.dumps>`.
Defaults to `json` from the standard library.
- - ``ordered``: If `True`, order serialization output according to the
- order in which fields were declared. Output of `Schema.dump` will be a
- `collections.OrderedDict`.
+ - ``ordered``: If `True`, output of `Schema.dump` will be a `collections.OrderedDict`.
- ``index_errors``: If `True`, errors dictionaries will include the index
of invalid items in a collection.
- ``load_only``: Tuple or list of fields to exclude from serialized results.
@@ -373,7 +367,7 @@
context: dict | None = None,
load_only: types.StrSequenceOrSet = (),
dump_only: types.StrSequenceOrSet = (),
- partial: bool | types.StrSequenceOrSet = False,
+ partial: bool | types.StrSequenceOrSet | None = None,
unknown: str | None = None,
):
# Raise error if only or exclude is passed as string, not list of strings
@@ -385,7 +379,9 @@
self.declared_fields = copy.deepcopy(self._declared_fields)
self.many = many
self.only = only
- self.exclude = set(self.opts.exclude) | set(exclude)
+ self.exclude: set[typing.Any] | typing.MutableSet[typing.Any] = set(
+ self.opts.exclude
+ ) | set(exclude)
self.ordered = self.opts.ordered
self.load_only = set(load_only) or set(self.opts.load_only)
self.dump_only = set(dump_only) or set(self.opts.dump_only)
@@ -418,10 +414,6 @@
def dict_class(self) -> type:
return OrderedDict if self.ordered else dict
- @property
- def set_class(self) -> type:
- return OrderedSet if self.ordered else set
-
@classmethod
def from_dict(
cls,
@@ -589,7 +581,7 @@
*,
error_store: ErrorStore,
many: bool = False,
- partial=False,
+ partial=None,
unknown=RAISE,
index=None,
) -> _T | list[_T]:
@@ -656,11 +648,19 @@
f[len_prefix:] for f in partial if f.startswith(prefix)
]
d_kwargs["partial"] = sub_partial
- else:
+ elif partial is not None:
d_kwargs["partial"] = partial
- getter = lambda val: field_obj.deserialize(
- val, field_name, data, **d_kwargs
- )
+
+ def getter(
+ val, field_obj=field_obj, field_name=field_name, d_kwargs=d_kwargs
+ ):
+ return field_obj.deserialize(
+ val,
+ field_name,
+ data,
+ **d_kwargs,
+ )
+
value = self._call_and_store(
getter_func=getter,
data=raw_value,
@@ -961,7 +961,7 @@
if self.only is not None:
# Return only fields specified in only option
- field_names = self.set_class(self.only)
+ field_names: typing.AbstractSet[typing.Any] = self.set_class(self.only)
invalid_fields |= field_names - available_field_names
else:
@@ -1047,15 +1047,15 @@
# the type checker's perspective.
if isinstance(field_obj, type) and issubclass(field_obj, base.FieldABC):
msg = (
- 'Field for "{}" must be declared as a '
+ 'Field for "{field_name}" must be declared as a '
"Field instance, not a class. "
- 'Did you mean "fields.{}()"?'.format(field_name, field_obj.__name__)
+ 'Did you mean "fields.{field_obj.__name__}()"?'
)
raise TypeError(msg) from error
raise error
self.on_bind_field(field_name, field_obj)
- @lru_cache(maxsize=8)
+ @lru_cache(maxsize=8) # noqa (https://github.com/PyCQA/flake8-bugbear/issues/310)
def _has_processors(self, tag) -> bool:
return bool(self._hooks[(tag, True)] or self._hooks[(tag, False)])
@@ -1080,7 +1080,7 @@
*,
many: bool,
original_data,
- partial: bool | types.StrSequenceOrSet,
+ partial: bool | types.StrSequenceOrSet | None,
):
# This has to invert the order of the dump processors, so run the pass_many
# processors first.
@@ -1157,7 +1157,7 @@
data,
original_data,
many: bool,
- partial: bool | types.StrSequenceOrSet,
+ partial: bool | types.StrSequenceOrSet | None,
field_errors: bool = False,
):
for attr_name in self._hooks[(VALIDATES_SCHEMA, pass_many)]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow/types.py new/marshmallow-3.20.1/src/marshmallow/types.py
--- old/marshmallow-3.19.0/src/marshmallow/types.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow/types.py 2023-07-21 00:08:04.000000000 +0200
@@ -6,6 +6,6 @@
"""
import typing
-StrSequenceOrSet = typing.Union[typing.Sequence[str], typing.Set[str]]
+StrSequenceOrSet = typing.Union[typing.Sequence[str], typing.AbstractSet[str]]
Tag = typing.Union[str, typing.Tuple[str, bool]]
Validator = typing.Callable[[typing.Any], typing.Any]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow/utils.py new/marshmallow-3.20.1/src/marshmallow/utils.py
--- old/marshmallow-3.19.0/src/marshmallow/utils.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow/utils.py 2023-07-21 00:08:04.000000000 +0200
@@ -197,7 +197,12 @@
# Load a timestamp with utc as timezone to prevent using system timezone.
# Then set timezone to None, to let the Field handle adding timezone info.
- return dt.datetime.fromtimestamp(value, tz=dt.timezone.utc).replace(tzinfo=None)
+ try:
+ return dt.datetime.fromtimestamp(value, tz=dt.timezone.utc).replace(tzinfo=None)
+ except OverflowError as exc:
+ raise ValueError("Timestamp is too large") from exc
+ except OSError as exc:
+ raise ValueError("Error converting value to datetime") from exc
def from_timestamp_ms(value: typing.Any) -> dt.datetime:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow/validate.py new/marshmallow-3.20.1/src/marshmallow/validate.py
--- old/marshmallow-3.19.0/src/marshmallow/validate.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow/validate.py 2023-07-21 00:08:04.000000000 +0200
@@ -94,6 +94,7 @@
"""Validate a URL.
:param relative: Whether to allow relative URLs.
+ :param absolute: Whether to allow absolute URLs.
:param error: Error message to raise in case of a validation error.
Can be interpolated with `{input}`.
:param schemes: Valid schemes. By default, ``http``, ``https``,
@@ -105,38 +106,68 @@
def __init__(self):
self._memoized = {}
- def _regex_generator(self, relative: bool, require_tld: bool) -> typing.Pattern:
- return re.compile(
- r"".join(
- (
- r"^",
- r"(" if relative else r"",
- r"(?:[a-z0-9\.\-\+]*)://", # scheme is validated separately
- r"(?:[^:@]+?(:[^:@]*?)?@|)", # basic auth
- r"(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+",
- r"(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|", # domain...
- r"localhost|", # localhost...
- (
- r"(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.?)|"
- if not require_tld
- else r""
- ), # allow dotless hostnames
- r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|", # ...or ipv4
- r"\[[A-F0-9]*:[A-F0-9:]+\])", # ...or ipv6
- r"(?::\d+)?", # optional port
- r")?"
- if relative
- else r"", # host is optional, allow for relative URLs
- r"(?:/?|[/?]\S+)\Z",
- )
+ def _regex_generator(
+ self, relative: bool, absolute: bool, require_tld: bool
+ ) -> typing.Pattern:
+ hostname_variants = [
+ # a normal domain name, expressed in [A-Z0-9] chars with hyphens allowed only in the middle
+ # note that the regex will be compiled with IGNORECASE, so these are upper and lowercase chars
+ (
+ r"(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+"
+ r"(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)"
),
- re.IGNORECASE,
+ # or the special string 'localhost'
+ r"localhost",
+ # or IPv4
+ r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",
+ # or IPv6
+ r"\[[A-F0-9]*:[A-F0-9:]+\]",
+ ]
+ if not require_tld:
+ # allow dotless hostnames
+ hostname_variants.append(r"(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.?)")
+
+ absolute_part = "".join(
+ (
+ # scheme (e.g. 'https://', 'ftp://', etc)
+ # this is validated separately against allowed schemes, so in the regex
+ # we simply want to capture its existence
+ r"(?:[a-z0-9\.\-\+]*)://",
+ # basic_auth, for URLs encoding a username:password
+ # e.g. 'ftp://foo:bar@ftp.example.org/'
+ r"(?:[^:@]+?(:[^:@]*?)?@|)",
+ # netloc, the hostname/domain part of the URL plus the optional port
+ r"(?:",
+ "|".join(hostname_variants),
+ r")",
+ r"(?::\d+)?",
+ )
)
+ relative_part = r"(?:/?|[/?]\S+)\Z"
- def __call__(self, relative: bool, require_tld: bool) -> typing.Pattern:
- key = (relative, require_tld)
+ if relative:
+ if absolute:
+ parts: tuple[str, ...] = (
+ r"^(",
+ absolute_part,
+ r")?",
+ relative_part,
+ )
+ else:
+ parts = (r"^", relative_part)
+ else:
+ parts = (r"^", absolute_part, relative_part)
+
+ return re.compile("".join(parts), re.IGNORECASE)
+
+ def __call__(
+ self, relative: bool, absolute: bool, require_tld: bool
+ ) -> typing.Pattern:
+ key = (relative, absolute, require_tld)
if key not in self._memoized:
- self._memoized[key] = self._regex_generator(relative, require_tld)
+ self._memoized[key] = self._regex_generator(
+ relative, absolute, require_tld
+ )
return self._memoized[key]
@@ -149,17 +180,23 @@
self,
*,
relative: bool = False,
+ absolute: bool = True,
schemes: types.StrSequenceOrSet | None = None,
require_tld: bool = True,
error: str | None = None,
):
+ if not relative and not absolute:
+ raise ValueError(
+ "URL validation cannot set both relative and absolute to False."
+ )
self.relative = relative
+ self.absolute = absolute
self.error = error or self.default_message # type: str
self.schemes = schemes or self.default_schemes
self.require_tld = require_tld
def _repr_args(self) -> str:
- return f"relative={self.relative!r}"
+ return f"relative={self.relative!r}, absolute={self.absolute!r}"
def _format_error(self, value) -> str:
return self.error.format(input=value)
@@ -175,7 +212,7 @@
if scheme not in self.schemes:
raise ValidationError(message)
- regex = self._regex(self.relative, self.require_tld)
+ regex = self._regex(self.relative, self.absolute, self.require_tld)
if not regex.search(value):
raise ValidationError(message)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow.egg-info/PKG-INFO new/marshmallow-3.20.1/src/marshmallow.egg-info/PKG-INFO
--- old/marshmallow-3.19.0/src/marshmallow.egg-info/PKG-INFO 2022-11-11 17:10:43.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow.egg-info/PKG-INFO 2023-07-21 00:08:15.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: marshmallow
-Version: 3.19.0
+Version: 3.20.1
Summary: A lightweight library for converting complex datatypes to and from native Python datatypes.
Home-page: https://github.com/marshmallow-code/marshmallow
Author: Steven Loria
@@ -15,11 +15,11 @@
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
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
-Requires-Python: >=3.7
+Classifier: Programming Language :: Python :: 3.11
+Requires-Python: >=3.8
Provides-Extra: tests
Provides-Extra: lint
Provides-Extra: docs
@@ -34,10 +34,14 @@
:target: https://pypi.org/project/marshmallow/
:alt: Latest version
-.. image:: https://dev.azure.com/sloria/sloria/_apis/build/status/marshmallow-code.mar…
- :target: https://dev.azure.com/sloria/sloria/_build/latest?definitionId=5&branchName…
+.. image:: https://github.com/marshmallow-code/marshmallow/actions/workflows/build-rel…
+ :target: https://github.com/marshmallow-code/marshmallow/actions/workflows/build-rel…
:alt: Build status
+.. image:: https://results.pre-commit.ci/badge/github/marshmallow-code/marshmallow/dev…
+ :target: https://results.pre-commit.ci/latest/github/marshmallow-code/marshmallow/dev
+ :alt: pre-commit.ci status
+
.. image:: https://readthedocs.org/projects/marshmallow/badge/
:target: https://marshmallow.readthedocs.io/
:alt: Documentation
@@ -100,7 +104,7 @@
Requirements
============
-- Python >= 3.7
+- Python >= 3.8
Ecosystem
=========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/src/marshmallow.egg-info/requires.txt new/marshmallow-3.20.1/src/marshmallow.egg-info/requires.txt
--- old/marshmallow-3.19.0/src/marshmallow.egg-info/requires.txt 2022-11-11 17:10:43.000000000 +0100
+++ new/marshmallow-3.20.1/src/marshmallow.egg-info/requires.txt 2023-07-21 00:08:15.000000000 +0200
@@ -4,24 +4,24 @@
pytest
pytz
simplejson
-mypy==0.990
-flake8==5.0.4
-flake8-bugbear==22.10.25
-pre-commit~=2.4
+mypy==1.4.1
+flake8==6.0.0
+flake8-bugbear==23.7.10
+pre-commit<4.0,>=2.4
tox
[docs]
-sphinx==5.3.0
+sphinx==7.0.1
sphinx-issues==3.0.1
-alabaster==0.7.12
+alabaster==0.7.13
sphinx-version-warning==1.1.2
-autodocsumm==0.2.9
+autodocsumm==0.2.11
[lint]
-mypy==0.990
-flake8==5.0.4
-flake8-bugbear==22.10.25
-pre-commit~=2.4
+mypy==1.4.1
+flake8==6.0.0
+flake8-bugbear==23.7.10
+pre-commit<4.0,>=2.4
[tests]
pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/tests/test_deserialization.py new/marshmallow-3.20.1/tests/test_deserialization.py
--- old/marshmallow-3.19.0/tests/test_deserialization.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/tests/test_deserialization.py 2023-07-21 00:08:04.000000000 +0200
@@ -4,6 +4,8 @@
import decimal
import math
+from unittest.mock import patch
+
import pytest
from marshmallow import EXCLUDE, INCLUDE, RAISE, fields, Schema, validate
@@ -21,6 +23,20 @@
)
+class MockDateTimeOverflowError(dt.datetime):
+ """Used to simulate the possible OverflowError of datetime.fromtimestamp"""
+
+ def fromtimestamp(self, *args, **kwargs):
+ raise OverflowError()
+
+
+class MockDateTimeOSError(dt.datetime):
+ """Used to simulate the possible OSError of datetime.fromtimestamp"""
+
+ def fromtimestamp(self, *args, **kwargs):
+ raise OSError()
+
+
class TestDeserializingNone:
@pytest.mark.parametrize("FieldClass", ALL_FIELDS)
def test_fields_allow_none_deserialize_to_none(self, FieldClass):
@@ -258,7 +274,6 @@
@pytest.mark.parametrize("allow_nan", (None, False, True))
@pytest.mark.parametrize("value", ("nan", "-nan", "inf", "-inf"))
def test_float_field_allow_nan(self, value, allow_nan):
-
if allow_nan is None:
# Test default case is False
field = fields.Float()
@@ -566,10 +581,21 @@
["", "!@#", 0, -1, dt.datetime(2013, 11, 10, 1, 23, 45)],
)
def test_invalid_timestamp_field_deserialization(self, fmt, in_value):
- field = fields.DateTime(format="timestamp")
+ field = fields.DateTime(format=fmt)
with pytest.raises(ValidationError, match="Not a valid datetime."):
field.deserialize(in_value)
+ # Regression test for https://github.com/marshmallow-code/marshmallow/pull/2102
+ @pytest.mark.parametrize("fmt", ["timestamp", "timestamp_ms"])
+ @pytest.mark.parametrize(
+ "mock_fromtimestamp", [MockDateTimeOSError, MockDateTimeOverflowError]
+ )
+ def test_oversized_timestamp_field_deserialization(self, fmt, mock_fromtimestamp):
+ with patch("datetime.datetime", mock_fromtimestamp):
+ field = fields.DateTime(format=fmt)
+ with pytest.raises(ValidationError, match="Not a valid datetime."):
+ field.deserialize(99999999999999999)
+
@pytest.mark.parametrize(
("fmt", "timezone", "value", "expected"),
[
@@ -1546,7 +1572,7 @@
name = fields.Str()
class StoreSchema(Schema):
- pets = fields.Nested(PetSchema(), allow_none=False, many=True)
+ pets = fields.Nested(PetSchema, allow_none=False, many=True)
sch = StoreSchema()
errors = sch.validate({"pets": None})
@@ -1570,7 +1596,7 @@
name = fields.Str()
class StoreSchema(Schema):
- pets = fields.Nested(PetSchema(), required=True, many=True)
+ pets = fields.Nested(PetSchema, required=True, many=True)
sch = StoreSchema()
errors = sch.validate({})
@@ -2210,6 +2236,21 @@
with pytest.raises(ValidationError):
SchemaB().load(b_dict, partial=("z.y",))
+ def test_nested_partial_default(self):
+ class SchemaA(Schema):
+ x = fields.Integer(required=True)
+ y = fields.Integer(required=True)
+
+ class SchemaB(Schema):
+ z = fields.Nested(SchemaA(partial=("x",)))
+
+ b_dict = {"z": {"y": 42}}
+ # Nested partial args should be respected.
+ result = SchemaB().load(b_dict)
+ assert result["z"]["y"] == 42
+ with pytest.raises(ValidationError):
+ SchemaB().load({"z": {"x": 0}})
+
@pytest.mark.parametrize("FieldClass", ALL_FIELDS)
def test_required_field_failure(FieldClass): # noqa
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/tests/test_fields.py new/marshmallow-3.20.1/tests/test_fields.py
--- old/marshmallow-3.19.0/tests/test_fields.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/tests/test_fields.py 2023-07-21 00:08:04.000000000 +0200
@@ -9,6 +9,7 @@
RAISE,
missing,
)
+from marshmallow.orderedset import OrderedSet
from marshmallow.exceptions import StringNotCollectionError
from tests.base import ALL_FIELDS
@@ -380,14 +381,14 @@
@pytest.mark.parametrize(
("param", "fields_list"), [("only", ["foo"]), ("exclude", ["bar"])]
)
- def test_ordered_instanced_nested_schema_only_and_exclude(self, param, fields_list):
+ def test_nested_schema_only_and_exclude(self, param, fields_list):
class NestedSchema(Schema):
+ # We mean to test the use of OrderedSet to specify it explicitly
+ # even if it is default
+ set_class = OrderedSet
foo = fields.String()
bar = fields.String()
- class Meta:
- ordered = True
-
class MySchema(Schema):
nested = fields.Nested(NestedSchema(), **{param: fields_list})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/tests/test_options.py new/marshmallow-3.20.1/tests/test_options.py
--- old/marshmallow-3.19.0/tests/test_options.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/tests/test_options.py 2023-07-21 00:08:04.000000000 +0200
@@ -178,9 +178,6 @@
def test_nested_field_order_with_exclude_arg_is_maintained(self, user):
class HasNestedExclude(Schema):
- class Meta:
- ordered = True
-
user = fields.Nested(KeepOrder, exclude=("birthdate",))
ser = HasNestedExclude()
@@ -231,7 +228,7 @@
result = s.load({"name": "Steve", "from": "Oskosh"})
assert result == in_data
- def test_ordered_included(self):
+ def test_included_fields_ordered_after_declared_fields(self):
class AddFieldsOrdered(Schema):
name = fields.Str()
email = fields.Str()
@@ -242,7 +239,6 @@
"in": fields.Str(),
"@at": fields.Str(),
}
- ordered = True
s = AddFieldsOrdered()
in_data = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/tests/test_registry.py new/marshmallow-3.20.1/tests/test_registry.py
--- old/marshmallow-3.19.0/tests/test_registry.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/tests/test_registry.py 2023-07-21 00:08:04.000000000 +0200
@@ -52,7 +52,6 @@
def test_serializer_class_registry_register_same_classname_different_module():
-
reglen = len(class_registry._registry)
type("MyTestRegSchema", (Schema,), {"__module__": "modA"})
@@ -83,7 +82,6 @@
def test_serializer_class_registry_override_if_same_classname_same_module():
-
reglen = len(class_registry._registry)
type("MyTestReg2Schema", (Schema,), {"__module__": "SameModulePath"})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/tests/test_schema.py new/marshmallow-3.20.1/tests/test_schema.py
--- old/marshmallow-3.19.0/tests/test_schema.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/tests/test_schema.py 2023-07-21 00:08:04.000000000 +0200
@@ -2933,3 +2933,16 @@
MySchema(unknown="badval")
else:
MySchema().load({"foo": "bar"}, unknown="badval")
+
+
+(a)pytest.mark.parametrize("dict_cls", (dict, OrderedDict))
+def test_set_dict_class(dict_cls):
+ """Demonstrate how to specify dict_class as class attribute"""
+
+ class MySchema(Schema):
+ dict_class = dict_cls
+ foo = fields.String()
+
+ result = MySchema().dump({"foo": "bar"})
+ assert result == {"foo": "bar"}
+ assert isinstance(result, dict_cls)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/tests/test_serialization.py new/marshmallow-3.20.1/tests/test_serialization.py
--- old/marshmallow-3.19.0/tests/test_serialization.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/tests/test_serialization.py 2023-07-21 00:08:04.000000000 +0200
@@ -146,7 +146,6 @@
assert field.serialize("uuid2", user) is None
def test_ip_address_field(self, user):
-
ipv4_string = "192.168.0.1"
ipv6_string = "ffff::ffff"
ipv6_exploded_string = ipaddress.ip_address("ffff::ffff").exploded
@@ -167,7 +166,6 @@
assert field_exploded.serialize("ipv6", user) == ipv6_exploded_string
def test_ipv4_address_field(self, user):
-
ipv4_string = "192.168.0.1"
user.ipv4 = ipaddress.ip_address(ipv4_string)
@@ -179,7 +177,6 @@
assert field.serialize("empty_ip", user) is None
def test_ipv6_address_field(self, user):
-
ipv6_string = "ffff::ffff"
ipv6_exploded_string = ipaddress.ip_address("ffff::ffff").exploded
@@ -196,7 +193,6 @@
assert field_exploded.serialize("ipv6", user) == ipv6_exploded_string
def test_ip_interface_field(self, user):
-
ipv4interface_string = "192.168.0.1/24"
ipv6interface_string = "ffff::ffff/128"
ipv6interface_exploded_string = ipaddress.ip_interface(
@@ -222,7 +218,6 @@
)
def test_ipv4_interface_field(self, user):
-
ipv4interface_string = "192.168.0.1/24"
user.ipv4interface = ipaddress.ip_interface(ipv4interface_string)
@@ -234,7 +229,6 @@
assert field.serialize("empty_ipinterface", user) is None
def test_ipv6_interface_field(self, user):
-
ipv6interface_string = "ffff::ffff/128"
ipv6interface_exploded_string = ipaddress.ip_interface(
"ffff::ffff/128"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/tests/test_utils.py new/marshmallow-3.20.1/tests/test_utils.py
--- old/marshmallow-3.19.0/tests/test_utils.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/tests/test_utils.py 2023-07-21 00:08:04.000000000 +0200
@@ -228,6 +228,31 @@
assert_date_equal(result, d)
+(a)pytest.mark.parametrize(
+ ("value", "expected"),
+ [
+ (1676386740, dt.datetime(2023, 2, 14, 14, 59, 00)),
+ (1676386740.58, dt.datetime(2023, 2, 14, 14, 59, 00, 580000)),
+ ],
+)
+def test_from_timestamp(value, expected):
+ result = utils.from_timestamp(value)
+ assert type(result) == dt.datetime
+ assert result == expected
+
+
+def test_from_timestamp_with_negative_value():
+ value = -10
+ with pytest.raises(ValueError, match=r"Not a valid POSIX timestamp"):
+ utils.from_timestamp(value)
+
+
+def test_from_timestamp_with_overflow_value():
+ value = 9223372036854775
+ with pytest.raises(ValueError):
+ utils.from_timestamp(value)
+
+
def test_get_func_args():
def f1(foo, bar):
pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/marshmallow-3.19.0/tests/test_validate.py new/marshmallow-3.20.1/tests/test_validate.py
--- old/marshmallow-3.19.0/tests/test_validate.py 2022-11-11 17:10:31.000000000 +0100
+++ new/marshmallow-3.20.1/tests/test_validate.py 2023-07-21 00:08:04.000000000 +0200
@@ -75,6 +75,9 @@
"http://example.com/./icons/logo.gif",
"ftp://example.com/../../../../g",
"http://example.com/g?y/./x",
+ "/foo/bar",
+ "/foo?bar",
+ "/foo?bar#baz",
],
)
def test_url_relative_valid(valid_url):
@@ -107,6 +110,48 @@
@pytest.mark.parametrize(
"valid_url",
[
+ "/foo/bar",
+ "/foo?bar",
+ "?bar",
+ "/foo?bar#baz",
+ ],
+)
+def test_url_relative_only_valid(valid_url):
+ validator = validate.URL(relative=True, absolute=False)
+ assert validator(valid_url) == valid_url
+
+
+(a)pytest.mark.parametrize(
+ "invalid_url",
+ [
+ "http//example.org",
+ "http://example.org\n",
+ "suppliers.html",
+ "../icons/logo.gif",
+ "icons/logo.gif",
+ "../.../g",
+ "...",
+ "\\",
+ " ",
+ "",
+ "http://example.org",
+ "http://123.45.67.8/",
+ "http://example.com/foo/bar/../baz",
+ "https://example.com/../icons/logo.gif",
+ "http://example.com/./icons/logo.gif",
+ "ftp://example.com/../../../../g",
+ "http://example.com/g?y/./x",
+ ],
+)
+def test_url_relative_only_invalid(invalid_url):
+ validator = validate.URL(relative=True, absolute=False)
+ with pytest.raises(ValidationError):
+ validator(invalid_url)
+
+
+(a)pytest.mark.parametrize(
+ "valid_url",
+ [
"http://example.org",
"http://123.45.67.8/",
"http://example",
@@ -170,10 +215,21 @@
def test_url_repr():
assert repr(
validate.URL(relative=False, error=None)
- ) == "<URL(relative=False, error={!r})>".format("Not a valid URL.")
+ ) == "<URL(relative=False, absolute=True, error={!r})>".format("Not a valid URL.")
assert repr(
validate.URL(relative=True, error="foo")
- ) == "<URL(relative=True, error={!r})>".format("foo")
+ ) == "<URL(relative=True, absolute=True, error={!r})>".format("foo")
+ assert repr(
+ validate.URL(relative=True, absolute=False, error="foo")
+ ) == "<URL(relative=True, absolute=False, error={!r})>".format("foo")
+
+
+def test_url_rejects_invalid_relative_usage():
+ with pytest.raises(
+ ValueError,
+ match="URL validation cannot set both relative and absolute to False",
+ ):
+ validate.URL(relative=False, absolute=False)
@pytest.mark.parametrize(
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qcoro for openSUSE:Factory checked in at 2023-12-11 21:49:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qcoro (Old)
and /work/SRC/openSUSE:Factory/.qcoro.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qcoro"
Mon Dec 11 21:49:39 2023 rev:9 rq:1132320 version:0.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/qcoro/qcoro.changes 2023-05-10 16:16:22.422211339 +0200
+++ /work/SRC/openSUSE:Factory/.qcoro.new.25432/qcoro.changes 2023-12-11 21:49:40.593584300 +0100
@@ -1,0 +2,17 @@
+Wed Dec 6 15:48:01 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 0.10.0
+ * Rethrow exceptions from QCoro::waitFor()
+ * qcorowebsocket replace QWebSocket::error with
+ QWebSocket::errorOccurred
+ * QCoro::connect: Fix bug in concept requirements
+ * Avoid deprecated QVERIFY_EXCEPTION_THROWN
+ * Make QCoroTask header contain only declarations
+ * QCoroAsyncGenerator test: workaround compiler optimizations
+ that breaks tests
+ * Append postfix for qmake compatibility
+ * Add support for connecting signals with QPrivateSignal
+ * QCoroSignalListener: support connecting to private signals
+ * fix error: std::coroutine_traits isn't a class template
+
+-------------------------------------------------------------------
Old:
----
qcoro-0.9.0.tar.gz
New:
----
qcoro-0.10.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qcoro.spec ++++++
--- /var/tmp/diff_new_pack.GS6lQx/_old 2023-12-11 21:49:41.237608150 +0100
+++ /var/tmp/diff_new_pack.GS6lQx/_new 2023-12-11 21:49:41.241608298 +0100
@@ -36,7 +36,7 @@
%endif
#
Name: qcoro%{?_pkg_name_suffix}
-Version: 0.9.0
+Version: 0.10.0
Release: 0
Summary: Coroutines for Qt
License: MIT
++++++ qcoro-0.9.0.tar.gz -> qcoro-0.10.0.tar.gz ++++++
++++ 2628 lines of diff (skipped)
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-11 21:05:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Mon Dec 11 21:05:22 2023 rev:2394 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.4:non-oss:update_1702299850.packages.zst
factory:non-oss_3834.2.packages.zst
factory_20231210.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-11 14:40:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Mon Dec 11 14:40:21 2023 rev:2638 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 ++++++
--- /var/tmp/diff_new_pack.lQDrRo/_old 2023-12-11 14:40:24.501672166 +0100
+++ /var/tmp/diff_new_pack.lQDrRo/_new 2023-12-11 14:40:24.501672166 +0100
@@ -179,7 +179,7 @@
Provides: weakremover(mt_st)
Provides: weakremover(openssl-debuginfo)
# Suggest openSUSE-release-ftp as 'main flavor'. Offline install from DVD only
-# has openSSE=release-DVD available, which is good for the use case (boo#1209959)
+# has openSUSE=release-DVD available, which is good for the use case (boo#1209959)
Suggests: openSUSE-release-ftp
%include %{SOURCE100}
Provides: %name-%version
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-10 22:06:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Sun Dec 10 22:06:13 2023 rev:3834 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.rrc7BM/_old 2023-12-10 22:06:18.406676869 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.410677016 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__MicroOS___20231209" schemaversion="4.1">
+<image name="OBS__MicroOS___20231210" 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">20231209</productvar>
+ <productvar name="VERSION">20231210</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231209,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231210,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231209/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231210/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.rrc7BM/_old 2023-12-10 22:06:18.438678047 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.442678194 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20231209" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20231210" 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">20231209</productvar>
+ <productvar name="VERSION">20231210</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231209,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231210,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.rrc7BM/_old 2023-12-10 22:06:18.462678931 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.466679078 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231209" schemaversion="4.1">
+<image name="OBS__openSUSE___20231210" 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">20231209</productvar>
+ <productvar name="VERSION">20231210</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231209,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231210,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/20231209/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231210/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.rrc7BM/_old 2023-12-10 22:06:18.506680551 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.510680698 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231209" schemaversion="4.1">
+<image name="OBS__openSUSE___20231210" 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-20231209-i586</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231210-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">20231209</productvar>
+ <productvar name="VERSION">20231210</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231209,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231210,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/20231209/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231210/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.rrc7BM/_old 2023-12-10 22:06:18.530681434 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.534681582 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231209" schemaversion="4.1">
+<image name="OBS__openSUSE___20231210" 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-20231209-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231210-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">20231209</productvar>
+ <productvar name="VERSION">20231210</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231209,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231210,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/20231209/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231210/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.rrc7BM/_old 2023-12-10 22:06:18.570682907 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.574683055 +0100
@@ -6,7 +6,7 @@
<name>Aeon</name>
<releasepkgname>Aeon-release</releasepkgname>
<endoflife/>
- <version>20231209</version>
+ <version>20231210</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>Aeon</productline>
++++++ MicroOS.product ++++++
--- /var/tmp/diff_new_pack.rrc7BM/_old 2023-12-10 22:06:18.594683791 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.594683791 +0100
@@ -6,7 +6,7 @@
<name>MicroOS</name>
<releasepkgname>MicroOS-release</releasepkgname>
<endoflife/>
- <version>20231209</version>
+ <version>20231210</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>MicroOS</productline>
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.rrc7BM/_old 2023-12-10 22:06:18.674686737 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.678686885 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231209</version>
+ <version>20231210</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.rrc7BM/_old 2023-12-10 22:06:18.698687620 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.702687768 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231209</version>
+ <version>20231210</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.rrc7BM/_old 2023-12-10 22:06:18.778690566 +0100
+++ /var/tmp/diff_new_pack.rrc7BM/_new 2023-12-10 22:06:18.790691008 +0100
@@ -2810,7 +2810,6 @@
- dLeyna-devel
- dMagnetic
- dSFMT-devel
- - dagger
- dai-banna-fonts
- dante
- dante-devel
@@ -15483,7 +15482,7 @@
- libwayland-server0-32bit
- libwbxml2-1
- libwbxml2-devel
- - libwcs7
+ - libwcs8
- libwebcam-devel
- libwebcam0
- libwebkit2gtk-4_0-37-32bit
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-10 22:06:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Sun Dec 10 22:06:10 2023 rev:2637 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.7S61GI/_old 2023-12-10 22:06:14.482532383 +0100
+++ /var/tmp/diff_new_pack.7S61GI/_new 2023-12-10 22:06:14.502533120 +0100
@@ -2285,6 +2285,7 @@
Provides: weakremover(cyrus-imapd-utils)
Provides: weakremover(cyrus-sasl-ldap-auxprop-32bit)
Provides: weakremover(cyrus-sasl-sqlauxprop-32bit)
+Provides: weakremover(dagger)
Provides: weakremover(dante-devel-32bit)
Provides: weakremover(dapl-devel-32bit)
Provides: weakremover(darcs)
@@ -16913,6 +16914,7 @@
Provides: weakremover(libwaylandpp0)
Provides: weakremover(libwcs5)
Provides: weakremover(libwcs6)
+Provides: weakremover(libwcs7)
Provides: weakremover(libwebkit2gtk-4_1-0-32bit)
Provides: weakremover(libwebkit2gtk-5_0-0)
Provides: weakremover(libwebkitgtk-1_0-0)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package wcslib for openSUSE:Factory checked in at 2023-12-10 19:40:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wcslib (Old)
and /work/SRC/openSUSE:Factory/.wcslib.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wcslib"
Sun Dec 10 19:40:18 2023 rev:13 rq:1132261 version:8.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/wcslib/wcslib.changes 2022-10-12 18:27:23.782047120 +0200
+++ /work/SRC/openSUSE:Factory/.wcslib.new.25432/wcslib.changes 2023-12-10 19:40:19.052439857 +0100
@@ -1,0 +2,52 @@
+Sat Dec 9 18:22:49 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 8.2.2
+ * In prj.c, a number of variables with global scope that are only
+ used internally were declared static to avoid namespace
+ conflicts arising in Link Time Optimization (LTO) builds of the
+ Rwcs wrappers. This is a patch release as it does not affect
+ the library itself other than in localising some symbols that
+ were never meant to be global. Reported by Rodrigo Carrizo with
+ patch.
+
+ Likewise for an internally used helper function, prjoff().
+ Likewise for a handful of variables in cel.c, dis.c, lin.c,
+ tab.c, wcs.c, wcsfix.c, and wcshdr.c.
+- WCSLIB version 8.2
+ * In wcshdo(), fixed character buffer overflows in the comment
+ string for the longitude and latitude axes triggered by some
+ projections, and also the formatting for generic coordinate
+ systems. Reported by Shu Niu.
+- WCSLIB version 8.1
+ * Changes in the contents of the auxprm struct (in 8.0 beta)
+ necessitated incrementing the major version number from 7 to 8,
+ i.e. the ABI changed. Took the opportunity for minor tweaks to
+ wcsprm and disprm.
+ ## C library
+ * In disprm, changed the order of maxdis and totdis to ensure
+ correct alignment of doubles on 32-bit machines.
+ ## Fortran wrappers
+ * Match changes to disprm in the C library.
+ * In the Fortran test suite, inserted a brief pause between plots
+ in tprj2, tspc, and tpih2, which have long been a blur.
+ ## PGSBOX
+ * Quell innocuous compiler warnings from gfortran 12.1.0.
+ Inserted a brief pause between plots in pgtest and cpgtest.
+- WCSLIB version 8.0 beta
+ * Beta test version, not publically released.
+ ## C library
+ * Support planetary keywords A_RADIUS, B_RADIUS, C_RADIUS, BLON_OBS,
+ BLAT_OBS, and BDIS_OBS in auxprm by analogy with the Solar keywords
+ added at 7.1. Requested by Chiara Marmo (Observatoire de Paris).
+ * Added wcsprm::time to the wcsprm struct to record the TIME axis
+ number (along with lng, lat, and spec).
+ * Fixed a bug in wcspih() and wcsbth() where trailing blanks were not
+ stripped from string keyvalues. Reported by Naveen Dukiya.
+ Changed test program tdis3 to test this.
+ * Fixed a problem affecting thread safety in disp2x(), disx2p(), and
+ diswarp(). Reported by Mohammad Akhlaghi.
+ ## Fortran wrappers
+ * Match changes to the C library supporting planetary keywords in
+ auxprm and the addition of wcsprm::time.
+
+-------------------------------------------------------------------
Old:
----
wcslib-7.12.tar.bz2
New:
----
wcslib-8.2.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wcslib.spec ++++++
--- /var/tmp/diff_new_pack.Kbwk9I/_old 2023-12-10 19:40:19.836468731 +0100
+++ /var/tmp/diff_new_pack.Kbwk9I/_new 2023-12-10 19:40:19.836468731 +0100
@@ -1,7 +1,7 @@
#
# spec file for package wcslib
#
-# 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 libver 7
+%define libver 8
Name: wcslib
-Version: 7.12
+Version: 8.2.2
Release: 0
Summary: An implementation of the FITS WCS standard
License: LGPL-3.0-or-later
@@ -97,12 +97,14 @@
%install
%make_install
-cp -a THANKS %{buildroot}%{_docdir}/%{name}/
-
# Remove static libraries
rm -rf %{buildroot}%{_libdir}/*.a
%fdupes %{buildroot}%{_docdir}/%{name}/html
+# recursive symlink
+rm %{buildroot}%{_docdir}/%{name}/wcslib
+# avoid rpmlint install-file-in-docs, not needed in rpm package
+rm %{buildroot}%{_docdir}/%{name}/INSTALL
%check
make check
++++++ wcslib-7.12.tar.bz2 -> wcslib-8.2.2.tar.bz2 ++++++
++++ 98170 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python3-pyside6 for openSUSE:Factory checked in at 2023-12-10 19:40:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pyside6 (Old)
and /work/SRC/openSUSE:Factory/.python3-pyside6.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-pyside6"
Sun Dec 10 19:40:16 2023 rev:24 rq:1132322 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pyside6/python3-pyside6.changes 2023-10-20 23:22:07.626253805 +0200
+++ /work/SRC/openSUSE:Factory/.python3-pyside6.new.25432/python3-pyside6.changes 2023-12-10 19:40:17.900397428 +0100
@@ -1,0 +2,8 @@
+Thu Dec 7 10:54:43 UTC 2023 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 6.6.1. Check the installed changes-6.6.0 file for the
+ full list of changes
+- Drop patch, merged upstream:
+ * 0001-Fix-QtAsyncio-install-dir.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-QtAsyncio-install-dir.patch
pyside-setup-everywhere-src-6.6.0.tar.xz
New:
----
pyside-setup-everywhere-src-6.6.1.tar.xz
BETA DEBUG BEGIN:
Old:- Drop patch, merged upstream:
* 0001-Fix-QtAsyncio-install-dir.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-pyside6.spec ++++++
--- /var/tmp/diff_new_pack.8WqPcJ/_old 2023-12-10 19:40:18.736428218 +0100
+++ /var/tmp/diff_new_pack.8WqPcJ/_new 2023-12-10 19:40:18.736428218 +0100
@@ -26,7 +26,7 @@
%endif
#
Name: python3-%{pyside_flavor}
-Version: 6.6.0
+Version: 6.6.1
Release: 0
Summary: Python bindings for Qt 6
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later) AND GPL-2.0-only AND GPL-3.0-only WITH Qt-GPL-exception-1.0
@@ -34,8 +34,6 @@
Source: https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-%{vers…
# PATCH-FIX-OPENSUSE
Patch0: 0001-Always-link-to-python-libraries.patch
-# PATCH-FIX-UPSTREAM
-Patch1: 0001-Fix-QtAsyncio-install-dir.patch
# SECTION common_dependencies
BuildRequires: clang-devel
BuildRequires: fdupes
@@ -44,6 +42,7 @@
BuildRequires: python3-Sphinx
BuildRequires: python3-devel >= 3.7
BuildRequires: python3-numpy-devel
+BuildRequires: python3-setuptools
BuildRequires: qt6-macros
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Test)
@@ -133,7 +132,7 @@
Python bindings for the Qt cross-platform application and UI framework
%prep
-%autosetup -p1 -n %{tar_name}-%{short_version}
+%autosetup -p1 -n %{tar_name}-%{version}
%build
_libsuffix=$(echo %{_lib} | cut -b4-)
@@ -183,9 +182,6 @@
%fdupes -s %{buildroot}%{python_sitearch}/PySide6
-mkdir -p %{buildroot}%{_qt6_pluginsdir}/designer
-mv %{buildroot}%{_prefix}/plugins/designer/libPySidePlugin.so %{buildroot}%{_qt6_pluginsdir}/designer
-
%endif
# Install egg-info
# qtpaths is needed
++++++ pyside-setup-everywhere-src-6.6.0.tar.xz -> pyside-setup-everywhere-src-6.6.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/python3-pyside6/pyside-setup-everywhere-src-6.6.0.tar.xz /work/SRC/openSUSE:Factory/.python3-pyside6.new.25432/pyside-setup-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 qt5platform-plugins for openSUSE:Factory checked in at 2023-12-10 19:40:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt5platform-plugins (Old)
and /work/SRC/openSUSE:Factory/.qt5platform-plugins.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt5platform-plugins"
Sun Dec 10 19:40:13 2023 rev:20 rq:1132301 version:5.6.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt5platform-plugins/qt5platform-plugins.changes 2023-11-19 20:16:18.991591693 +0100
+++ /work/SRC/openSUSE:Factory/.qt5platform-plugins.new.25432/qt5platform-plugins.changes 2023-12-10 19:40:15.156296367 +0100
@@ -1,0 +2,5 @@
+Sun Dec 10 06:55:48 UTC 2023 - Hillwood Yang <hillwood(a)opensuse.org>
+
+- Don't install libudev-mini1 for building
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt5platform-plugins.spec ++++++
--- /var/tmp/diff_new_pack.R1JwbC/_old 2023-12-10 19:40:15.812320528 +0100
+++ /var/tmp/diff_new_pack.R1JwbC/_new 2023-12-10 19:40:15.812320528 +0100
@@ -29,6 +29,7 @@
Patch1: support-Qt-5_15_9.patch
Patch2: support-Qt-5_15_10.patch
Patch3: support-Qt-5_15_11.patch
+BuildRequires: -libudev-mini1
BuildRequires: git-core
BuildRequires: libQt5Core-private-headers-devel
BuildRequires: libQt5PlatformSupport-private-headers-devel
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-10 19:40:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
and /work/SRC/openSUSE:Factory/.openQA.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA"
Sun Dec 10 19:40:04 2023 rev:528 rq:1132284 version:4.6.1702049559.97f9359
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-08 22:31:44.291303925 +0100
+++ /work/SRC/openSUSE:Factory/.openQA.new.25432/openQA.changes 2023-12-10 19:40:08.708058888 +0100
@@ -1,0 +2,7 @@
+Sun Dec 10 02:14:35 UTC 2023 - okurz(a)suse.com
+
+- Update to version 4.6.1702049559.97f9359:
+ * Add additional check in `t/ui/15-comments.t` for easier debugging
+ * Parse error messages from scheduling failures
+
+-------------------------------------------------------------------
Old:
----
openQA-4.6.1701950335.db07886.obscpio
New:
----
openQA-4.6.1702049559.97f9359.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.yf8Ast/_old 2023-12-10 19:40:09.648093508 +0100
+++ /var/tmp/diff_new_pack.yf8Ast/_new 2023-12-10 19:40:09.648093508 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-client
Name: %{short_name}-test
-Version: 4.6.1701950335.db07886
+Version: 4.6.1702049559.97f9359
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.yf8Ast/_old 2023-12-10 19:40:09.672094392 +0100
+++ /var/tmp/diff_new_pack.yf8Ast/_new 2023-12-10 19:40:09.676094540 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-devel
Name: %{short_name}-test
-Version: 4.6.1701950335.db07886
+Version: 4.6.1702049559.97f9359
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.yf8Ast/_old 2023-12-10 19:40:09.704095571 +0100
+++ /var/tmp/diff_new_pack.yf8Ast/_new 2023-12-10 19:40:09.704095571 +0100
@@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
-Version: 4.6.1701950335.db07886
+Version: 4.6.1702049559.97f9359
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.yf8Ast/_old 2023-12-10 19:40:09.736096749 +0100
+++ /var/tmp/diff_new_pack.yf8Ast/_new 2023-12-10 19:40:09.740096897 +0100
@@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
-Version: 4.6.1701950335.db07886
+Version: 4.6.1702049559.97f9359
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.yf8Ast/_old 2023-12-10 19:40:09.768097928 +0100
+++ /var/tmp/diff_new_pack.yf8Ast/_new 2023-12-10 19:40:09.768097928 +0100
@@ -78,7 +78,7 @@
%define devel_requires %devel_no_selenium_requires chromedriver
Name: openQA
-Version: 4.6.1701950335.db07886
+Version: 4.6.1702049559.97f9359
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
++++++ openQA-4.6.1701950335.db07886.obscpio -> openQA-4.6.1702049559.97f9359.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/openQA-4.6.1701950335.db07886.obscpio /work/SRC/openSUSE:Factory/.openQA.new.25432/openQA-4.6.1702049559.97f9359.obscpio differ: char 50, line 1
++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.yf8Ast/_old 2023-12-10 19:40:09.852101022 +0100
+++ /var/tmp/diff_new_pack.yf8Ast/_new 2023-12-10 19:40:09.852101022 +0100
@@ -1,5 +1,5 @@
name: openQA
-version: 4.6.1701950335.db07886
-mtime: 1701950335
-commit: db07886e61b59ce822501c5ee439edbc21724e6d
+version: 4.6.1702049559.97f9359
+mtime: 1702049559
+commit: 97f9359a11a8174e4538f536cfb8ea82c482d3e1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package strawberry for openSUSE:Factory checked in at 2023-12-10 19:40:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/strawberry (Old)
and /work/SRC/openSUSE:Factory/.strawberry.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "strawberry"
Sun Dec 10 19:40:02 2023 rev:61 rq:1132280 version:1.0.22
Changes:
--------
--- /work/SRC/openSUSE:Factory/strawberry/strawberry.changes 2023-10-25 18:06:05.865051755 +0200
+++ /work/SRC/openSUSE:Factory/.strawberry.new.25432/strawberry.changes 2023-12-10 19:40:07.432011893 +0100
@@ -1,0 +2,18 @@
+Sat Dec 9 22:26:41 UTC 2023 - Jonas Kvinge <jonaski(a)opensuse.org>
+
+- Update to version 1.0.22
+
+ + Bugfixes:
+ + Fixed KDSingleApplication cmake version check.
+ + Fixed KDSingleApplication Qt 5 detection (#1299).
+ + Fixed timer started in wrong thread (#1302).
+ + Fixed erratic seeking behaviour if buffer duration is set to zero (#1302).
+ + Fixed SCollection related crash on exit with Qt 5 (#1316).
+ + Fixed track about to end related crash on playback failure (#1332).
+ + Fixed playlist column widths not remembered if stretch mode is off with Qt 6.6.1 and higher (#1328).
+
+ + Enhancements:
+ + Increase thread priority for playback threads.
+ + Allow drag and drop of songs to favorite playlists.
+
+-------------------------------------------------------------------
Old:
----
strawberry-1.0.21.tar.xz
New:
----
strawberry-1.0.22.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ strawberry.spec ++++++
--- /var/tmp/diff_new_pack.UOdikt/_old 2023-12-10 19:40:08.156038558 +0100
+++ /var/tmp/diff_new_pack.UOdikt/_new 2023-12-10 19:40:08.156038558 +0100
@@ -17,7 +17,7 @@
Name: strawberry
-Version: 1.0.21
+Version: 1.0.22
Release: 0
Summary: A music player and music collection organizer
License: GPL-3.0-or-later
++++++ strawberry-1.0.21.tar.xz -> strawberry-1.0.22.tar.xz ++++++
/work/SRC/openSUSE:Factory/strawberry/strawberry-1.0.21.tar.xz /work/SRC/openSUSE:Factory/.strawberry.new.25432/strawberry-1.0.22.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 teleport for openSUSE:Factory checked in at 2023-12-10 19:39:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/teleport (Old)
and /work/SRC/openSUSE:Factory/.teleport.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "teleport"
Sun Dec 10 19:39:46 2023 rev:86 rq:1132275 version:14.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/teleport/teleport.changes 2023-12-01 21:26:32.740472605 +0100
+++ /work/SRC/openSUSE:Factory/.teleport.new.25432/teleport.changes 2023-12-10 19:39:58.107668492 +0100
@@ -1,0 +2,35 @@
+Sat Dec 9 19:51:14 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- update to 14.2.2:
+ * Prevent panic when dialing a deleted Application Server. #35525
+ * Fixed regression issue with arm32 binaries in 14.2.1 having
+ higher glibc requirements. #35539
+ * Fixed GCP VM auto-discovery not using instances' internal IP
+ address. #35521
+ * Calculate latency of Web SSH sessions and report it to users.
+ #35516
+ * Fix bot's unable to view or approve access requests issue.
+ #35512
+ * Fix querying of large audit events with Athena backend. #35483
+ * Fix panic on potential nil value when requesting
+ /webapi/presetroles. #35463
+ * Add insecure-drop host user creation mode. #35403
+ * IAM permissions for rds:DescribeDBProxyTargets are no longer
+ required for RDS Proxy discovery. #35389
+ * Update Go to 1.21.5. #35371
+ * Desktop connections default to RDP port 3389 if not otherwise
+ specified. #35343
+ * Add cluster_auth_preferences to the shortcuts for
+ cluster_auth_preference. #35329
+ * Make the podSecurityPolicy configurable in the
+ teleport-kube-agent chart. #35320
+ * Prevent EKS fetcher not having correct IAM permissions from
+ stopping whole Discovery service start up. #35319
+ * Add database automatic user provisioning support for
+ self-hosted MongoDB. #35317
+ * Improve the resilience of tbot to misconfiguration of auth
+ connectors when generating a Kubernetes output. #35309
+ * Fix crash when writing kubeconfig with tctl auth sign --tar.
+ #34874
+
+-------------------------------------------------------------------
Old:
----
teleport-14.2.1.obscpio
New:
----
teleport-14.2.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ teleport.spec ++++++
--- /var/tmp/diff_new_pack.YmEP73/_old 2023-12-10 19:40:00.119742593 +0100
+++ /var/tmp/diff_new_pack.YmEP73/_new 2023-12-10 19:40:00.119742593 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: teleport
-Version: 14.2.1
+Version: 14.2.2
Release: 0
Summary: Identity-aware, multi-protocol access proxy
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.YmEP73/_old 2023-12-10 19:40:00.147743624 +0100
+++ /var/tmp/diff_new_pack.YmEP73/_new 2023-12-10 19:40:00.151743772 +0100
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="submodules">disable</param>
<param name="exclude">.git</param>
- <param name="revision">v14.2.1</param>
+ <param name="revision">v14.2.2</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">disable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ teleport-14.2.1.obscpio -> teleport-14.2.2.obscpio ++++++
/work/SRC/openSUSE:Factory/teleport/teleport-14.2.1.obscpio /work/SRC/openSUSE:Factory/.teleport.new.25432/teleport-14.2.2.obscpio differ: char 49, line 1
++++++ teleport.obsinfo ++++++
--- /var/tmp/diff_new_pack.YmEP73/_old 2023-12-10 19:40:00.203745687 +0100
+++ /var/tmp/diff_new_pack.YmEP73/_new 2023-12-10 19:40:00.207745834 +0100
@@ -1,5 +1,5 @@
name: teleport
-version: 14.2.1
-mtime: 1701392054
-commit: e6737fe00510a9fb8c5f240bc04d708d1142bee0
+version: 14.2.2
+mtime: 1702053864
+commit: cb615fe417c29f1d0e216142d6f1dd7fad4e33fa
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/teleport/vendor.tar.gz /work/SRC/openSUSE:Factory/.teleport.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 fortio for openSUSE:Factory checked in at 2023-12-10 19:39:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fortio (Old)
and /work/SRC/openSUSE:Factory/.fortio.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fortio"
Sun Dec 10 19:39:44 2023 rev:55 rq:1132266 version:1.63.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/fortio/fortio.changes 2023-11-23 21:42:47.076212765 +0100
+++ /work/SRC/openSUSE:Factory/.fortio.new.25432/fortio.changes 2023-12-10 19:39:48.487314188 +0100
@@ -1,0 +2,10 @@
+Sat Dec 09 19:51:07 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 1.63.0:
+ * Use the default http config for all server UI and rapi
+ operations + Indicate when the UI/echo server is using https
+ (#868)
+ * go 1.21.5 (#867)
+ * Bump golang.org/x/net from 0.18.0 to 0.19.0 (#864)
+
+-------------------------------------------------------------------
Old:
----
fortio-1.62.1.obscpio
New:
----
fortio-1.63.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fortio.spec ++++++
--- /var/tmp/diff_new_pack.aZofSp/_old 2023-12-10 19:39:49.267342915 +0100
+++ /var/tmp/diff_new_pack.aZofSp/_new 2023-12-10 19:39:49.267342915 +0100
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: fortio
-Version: 1.62.1
+Version: 1.63.0
Release: 0
Summary: Load testing library, command line tool, advanced echo server and web UI
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.aZofSp/_old 2023-12-10 19:39:49.295343947 +0100
+++ /var/tmp/diff_new_pack.aZofSp/_new 2023-12-10 19:39:49.299344094 +0100
@@ -3,7 +3,7 @@
<param name="url">https://github.com/fortio/fortio</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v1.62.1</param>
+ <param name="revision">v1.63.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.aZofSp/_old 2023-12-10 19:39:49.319344831 +0100
+++ /var/tmp/diff_new_pack.aZofSp/_new 2023-12-10 19:39:49.319344831 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/fortio/fortio</param>
- <param name="changesrevision">a95f803d5082c3745ae02315bbc24f1608182009</param></service></servicedata>
+ <param name="changesrevision">6b492e20fffc070f3ab624cf960793a01651cd19</param></service></servicedata>
(No newline at EOF)
++++++ fortio-1.62.1.obscpio -> fortio-1.63.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/.circleci/config.yml new/fortio-1.63.0/.circleci/config.yml
--- old/fortio-1.62.1/.circleci/config.yml 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/.circleci/config.yml 2023-12-09 01:00:11.000000000 +0100
@@ -8,7 +8,7 @@
&defaultEnv
docker:
# specify the version
- - image: docker.io/fortio/fortio.build:v65@sha256:0b39aa58b72f8594581ef02cfd1d3c493096335e5e33a49b94390a695ff9efbb
+ - image: docker.io/fortio/fortio.build:v66@sha256:0e6ae8095ca4442328d99d20de02e3bcba23fb4afcb046fcfbf6284dceaafb80
working_directory: /build/fortio
jobs:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/Dockerfile new/fortio-1.63.0/Dockerfile
--- old/fortio-1.62.1/Dockerfile 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/Dockerfile 2023-12-09 01:00:11.000000000 +0100
@@ -1,5 +1,5 @@
# Build the binaries in larger image
-FROM docker.io/fortio/fortio.build:v65@sha256:0b39aa58b72f8594581ef02cfd1d3c493096335e5e33a49b94390a695ff9efbb as build
+FROM docker.io/fortio/fortio.build:v66@sha256:0e6ae8095ca4442328d99d20de02e3bcba23fb4afcb046fcfbf6284dceaafb80 as build
WORKDIR /build
COPY --chown=build:build . fortio
ARG MODE=install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/Dockerfile.build new/fortio-1.63.0/Dockerfile.build
--- old/fortio-1.62.1/Dockerfile.build 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/Dockerfile.build 2023-12-09 01:00:11.000000000 +0100
@@ -1,5 +1,5 @@
# Dependencies and linters for build:
-FROM golang:1.21.4@sha256:81cd210ae58a6529d832af2892db822b30d84f817a671b8e1c15cff0b271a3db
+FROM golang:1.21.5@sha256:58e14a93348a3515c2becc54ebd35302128225169d166b7c6802451ab336c907
# Need gcc for -race test (and some linters though those work with CGO_ENABLED=0)
RUN apt-get -y update && \
apt-get --no-install-recommends -y upgrade && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/Dockerfile.echosrv new/fortio-1.63.0/Dockerfile.echosrv
--- old/fortio-1.62.1/Dockerfile.echosrv 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/Dockerfile.echosrv 2023-12-09 01:00:11.000000000 +0100
@@ -1,5 +1,5 @@
# Build the binaries in larger image
-FROM docker.io/fortio/fortio.build:v65@sha256:0b39aa58b72f8594581ef02cfd1d3c493096335e5e33a49b94390a695ff9efbb as build
+FROM docker.io/fortio/fortio.build:v66@sha256:0e6ae8095ca4442328d99d20de02e3bcba23fb4afcb046fcfbf6284dceaafb80 as build
WORKDIR /build
COPY . fortio
RUN make -C fortio official-build-version BUILD_DIR=/build OFFICIAL_TARGET=fortio.org/fortio/echosrv
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/Dockerfile.fcurl new/fortio-1.63.0/Dockerfile.fcurl
--- old/fortio-1.62.1/Dockerfile.fcurl 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/Dockerfile.fcurl 2023-12-09 01:00:11.000000000 +0100
@@ -1,5 +1,5 @@
# Build the binaries in larger image
-FROM docker.io/fortio/fortio.build:v65@sha256:0b39aa58b72f8594581ef02cfd1d3c493096335e5e33a49b94390a695ff9efbb as build
+FROM docker.io/fortio/fortio.build:v66@sha256:0e6ae8095ca4442328d99d20de02e3bcba23fb4afcb046fcfbf6284dceaafb80 as build
WORKDIR /build
COPY . fortio
RUN make -C fortio official-build-version BUILD_DIR=/build OFFICIAL_TARGET=fortio.org/fortio/fcurl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/Makefile new/fortio-1.63.0/Makefile
--- old/fortio-1.62.1/Makefile 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/Makefile 2023-12-09 01:00:11.000000000 +0100
@@ -7,7 +7,7 @@
IMAGES=echosrv fcurl # plus the combo image / Dockerfile without ext.
DOCKER_PREFIX := docker.io/fortio/fortio
-BUILD_IMAGE_TAG := v65@sha256:0b39aa58b72f8594581ef02cfd1d3c493096335e5e33a49b94390a695ff9efbb
+BUILD_IMAGE_TAG := v66@sha256:0e6ae8095ca4442328d99d20de02e3bcba23fb4afcb046fcfbf6284dceaafb80
BUILDX_PLATFORMS := linux/amd64,linux/arm64,linux/ppc64le,linux/s390x
BUILDX_POSTFIX :=
ifeq '$(shell echo $(BUILDX_PLATFORMS) | awk -F "," "{print NF-1}")' '0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/README.md new/fortio-1.63.0/README.md
--- old/fortio-1.62.1/README.md 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/README.md 2023-12-09 01:00:11.000000000 +0100
@@ -1,4 +1,4 @@
-<!-- 1.62.1 -->
+<!-- 1.63.0 -->
# Fortio
[![Awesome Go](https://fortio.org/mentioned-badge.svg)](https://github.com/avelino/awe…
@@ -60,13 +60,13 @@
The [releases](https://github.com/fortio/fortio/releases) page has binaries for many OS/architecture combinations (see assets):
```shell
-curl -L https://github.com/fortio/fortio/releases/download/v1.62.1/fortio-linux_amd… \
+curl -L https://github.com/fortio/fortio/releases/download/v1.63.0/fortio-linux_amd… \
| sudo tar -C / -xvzpf -
# or the debian package
-wget https://github.com/fortio/fortio/releases/download/v1.62.1/fortio_1.62.1_am…
-dpkg -i fortio_1.62.1_amd64.deb
+wget https://github.com/fortio/fortio/releases/download/v1.63.0/fortio_1.63.0_am…
+dpkg -i fortio_1.63.0_amd64.deb
# or the rpm
-rpm -i https://github.com/fortio/fortio/releases/download/v1.62.1/fortio-1.62.1-1.…
+rpm -i https://github.com/fortio/fortio/releases/download/v1.63.0/fortio-1.63.0-1.…
# and more, see assets in release page
```
@@ -76,7 +76,7 @@
brew install fortio
```
-On Windows, download https://github.com/fortio/fortio/releases/download/v1.62.1/fortio_win_1.62.… and extract `fortio.exe` to any location, then using the Windows Command Prompt:
+On Windows, download https://github.com/fortio/fortio/releases/download/v1.63.0/fortio_win_1.63.… and extract `fortio.exe` to any location, then using the Windows Command Prompt:
```
fortio.exe server
```
@@ -123,12 +123,14 @@
| `-logger-force-color` | For interactive runs for color instead of JSON output|
| `-logger-no-color` | Force JSON output even when run from terminal|
+Changing the http options like the TLS options `-cert`, `-key`, `-cacert` when launching an echo/UI/rapi server will make these options the default for runs initiated from that server (or fetches/proxies etc).
+
Full list of command line flags (`fortio help`):
<details>
<!-- use release/updateFlags.sh to update this section -->
<pre>
<!-- USAGE_START -->
-Φορτίο 1.62.1 usage:
+Φορτίο 1.63.0 usage:
fortio command [flags] target
where command is one of: load (load testing), server (starts ui, rest api,
http-echo, redirect, proxies, tcp-echo, udp-echo and grpc ping servers),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/Webtest.sh new/fortio-1.63.0/Webtest.sh
--- old/fortio-1.62.1/Webtest.sh 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/Webtest.sh 2023-12-09 01:00:11.000000000 +0100
@@ -140,7 +140,7 @@
PPROF_URL="$BASE_URL/debug/pprof/heap?debug=1"
$CURL "$PPROF_URL" | grep -i TotalAlloc # should find this in memory profile
# creating dummy container to hold a volume for test certs due to remote docker bind mount limitation.
-DOCKERCURLID=$(docker run -d -v $TEST_CERT_VOL --net host --name $DOCKERSECVOLNAME docker.io/fortio/fortio.build:v65@sha256:0b39aa58b72f8594581ef02cfd1d3c493096335e5e33a49b94390a695ff9efbb sleep 120)
+DOCKERCURLID=$(docker run -d -v $TEST_CERT_VOL --net host --name $DOCKERSECVOLNAME docker.io/fortio/fortio.build:v66@sha256:0e6ae8095ca4442328d99d20de02e3bcba23fb4afcb046fcfbf6284dceaafb80 sleep 120)
# while we have something with actual curl binary do
# Test for h2c upgrade (#562)
docker exec $DOCKERSECVOLNAME /usr/bin/curl -v --http2 -m 10 -d foo42 http://localhost:8080/debug | tee >(cat 1>&2) | grep foo42
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/bincommon/commonflags.go new/fortio-1.63.0/bincommon/commonflags.go
--- old/fortio-1.62.1/bincommon/commonflags.go 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/bincommon/commonflags.go 2023-12-09 01:00:11.000000000 +0100
@@ -194,7 +194,7 @@
}
// SharedHTTPOptions is the flag->httpoptions transfer code shared between
-// fortio_main and fcurl.
+// fortio_main and fcurl. It also sets fhttp.DefaultHTTPOptions.
func SharedHTTPOptions() *fhttp.HTTPOptions {
url := strings.TrimLeft(flag.Arg(0), " \t\r\n")
httpOpts.URL = url
@@ -235,5 +235,6 @@
httpOpts.SequentialWarmup = *warmupFlag
httpOpts.NoResolveEachConn = *NoReResolveFlag
httpOpts.MethodOverride = *MethodFlag
+ fhttp.DefaultHTTPOptions = &httpOpts
return &httpOpts
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/fhttp/http_client.go new/fortio-1.63.0/fhttp/http_client.go
--- old/fortio-1.62.1/fhttp/http_client.go 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/fhttp/http_client.go 2023-12-09 01:00:11.000000000 +0100
@@ -179,6 +179,7 @@
)
// HTTPOptions holds the common options of both http clients and the headers.
+// Careful when adding fields that this gets shallow copied through DefaultHTTPOptions copies.
type HTTPOptions struct {
TLSOptions
URL string
@@ -223,6 +224,12 @@
DataWriter io.Writer `json:"-"` // if set, the response body is written to this writer.
}
+// DefaultHTTPOptions is meant to be set by the main() from bincommon.SharedHTTPOptions() and used
+// as a starting point for CommonHTTPOptionsFromForm which is used for FetchHandler and forwarder as
+// well as the UI.
+// Initialized to empty to avoid nil pointer deref in unit tests that do not call bincommon.SharedHTTPOptions().
+var DefaultHTTPOptions = &HTTPOptions{}
+
type CreateClientTrace func(ctx context.Context) *httptrace.ClientTrace
type CreateTransport func(base http.RoundTripper) http.RoundTripper
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/fhttp/http_server.go new/fortio-1.63.0/fhttp/http_server.go
--- old/fortio-1.62.1/fhttp/http_server.go 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/fhttp/http_server.go 2023-12-09 01:00:11.000000000 +0100
@@ -464,7 +464,7 @@
startTime = time.Now()
var mux *http.ServeMux
var addr net.Addr
- if to.Cert != "" && to.Key != "" {
+ if to.DoTLS() {
mux, addr = HTTPSServer("https-echo", port, to)
} else {
mux, addr = HTTPServer("http-echo", port)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/fhttp/http_utils.go new/fortio-1.63.0/fhttp/http_utils.go
--- old/fortio-1.62.1/fhttp/http_utils.go 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/fhttp/http_utils.go 2023-12-09 01:00:11.000000000 +0100
@@ -47,6 +47,10 @@
UnixDomainSocket string // `Path`` of unix domain socket to use instead of host:port
}
+func (to *TLSOptions) DoTLS() bool {
+ return to.Cert != "" && to.Key != ""
+}
+
// TLSConfig creates a tls.Config based on input TLSOptions.
// For https, ServerName is set later (once host is determined after URL parsing
// and depending on hostOverride). Used for both client and server TLS config.
@@ -642,7 +646,7 @@
resolve := r.FormValue("resolve")
timeoutStr := strings.TrimSpace(r.FormValue("timeout"))
timeout, _ := time.ParseDuration(timeoutStr) // will be 0 if empty, which is handled by runner and opts
- httpopts := &HTTPOptions{}
+ httpopts := *DefaultHTTPOptions
// to be normalized in init 0 replaced by default value only in http runner, not here as this could be a tcp or udp runner
httpopts.URL = url // fixes #651 - ie don't normalize here
httpopts.HTTPReqTimeOut = timeout
@@ -664,5 +668,5 @@
log.Errf("Error adding custom headers: %v", err)
}
}
- return httpopts
+ return &httpopts
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/go.mod new/fortio-1.63.0/go.mod
--- old/fortio-1.62.1/go.mod 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/go.mod 2023-12-09 01:00:11.000000000 +0100
@@ -1,6 +1,6 @@
module fortio.org/fortio
-go 1.18
+go 1.19 // As a library the current version of fortio works with 1.18 (first version with generics) but tests use 1.19 features
require (
fortio.org/assert v1.2.0
@@ -13,7 +13,7 @@
fortio.org/version v1.0.3
github.com/golang/protobuf v1.5.3
github.com/google/uuid v1.4.0
- golang.org/x/net v0.18.0
+ golang.org/x/net v0.19.0
google.golang.org/grpc v1.59.0
)
@@ -30,10 +30,10 @@
require (
fortio.org/struct2env v0.4.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
- golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
- golang.org/x/sys v0.14.0 // indirect
+ golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb // indirect
+ golang.org/x/sys v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
- golang.org/x/tools v0.15.0 // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect
+ golang.org/x/tools v0.16.0 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20231127180814-3a041ad873d4 // indirect
google.golang.org/protobuf v1.31.0 // indirect
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/go.sum new/fortio-1.63.0/go.sum
--- old/fortio-1.62.1/go.sum 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/go.sum 2023-12-09 01:00:11.000000000 +0100
@@ -25,19 +25,19 @@
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
-golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
-golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg=
-golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
-golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
-golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb h1:c0vyKkb6yr3KR7jEfJaOSv4lG7xPkbN6r52aJz1d8a8=
+golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
+golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
+golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
+golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
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/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8=
-golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk=
+golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
+golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231127180814-3a041ad873d4 h1:DC7wcm+i+P1rN3Ff07vL+OndGg5OhNddHyTA+ocPqYE=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20231127180814-3a041ad873d4/go.mod h1:eJVxU6o+4G1PSczBr85xmyvSNYAKvAYgkub40YGomFM=
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/rapi/restHandler.go new/fortio-1.63.0/rapi/restHandler.go
--- old/fortio-1.62.1/rapi/restHandler.go 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/rapi/restHandler.go 2023-12-09 01:00:11.000000000 +0100
@@ -278,7 +278,8 @@
runid := NextRunID()
ro.RunID = runid
log.Infof("New run id %d", runid)
- httpopts := &fhttp.HTTPOptions{}
+ defaultOptionsCopy := *fhttp.DefaultHTTPOptions
+ httpopts := &defaultOptionsCopy
httpopts.HTTPReqTimeOut = timeout // to be normalized in init, 0 is replaced by default value (for all runners)
// We don't call Init because this could be a tcp:// or udp:// url. Was httpopts = httpopts.Init(url) - fixes #651
httpopts.URL = url
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/release/Dockerfile.in new/fortio-1.63.0/release/Dockerfile.in
--- old/fortio-1.62.1/release/Dockerfile.in 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/release/Dockerfile.in 2023-12-09 01:00:11.000000000 +0100
@@ -1,5 +1,5 @@
# Concatenated after ../Dockerfile to create the tgz
-FROM docker.io/fortio/fortio.build:v65@sha256:0b39aa58b72f8594581ef02cfd1d3c493096335e5e33a49b94390a695ff9efbb as stage
+FROM docker.io/fortio/fortio.build:v66@sha256:0e6ae8095ca4442328d99d20de02e3bcba23fb4afcb046fcfbf6284dceaafb80 as stage
ARG archs="amd64 arm64 ppc64le s390x"
ENV archs=${archs}
# Build image defaults to build user, switch back to root for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.62.1/ui/uihandler.go new/fortio-1.63.0/ui/uihandler.go
--- old/fortio-1.62.1/ui/uihandler.go 2023-11-22 07:43:04.000000000 +0100
+++ new/fortio-1.63.0/ui/uihandler.go 2023-12-09 01:00:11.000000000 +0100
@@ -733,7 +733,11 @@
if strings.Contains(urlHostPort, "-unix-socket=") {
uiMsg += fmt.Sprintf("fortio curl %s http://localhost%s", urlHostPort, uiPath)
} else {
- uiMsg += fmt.Sprintf("http://%s%s", urlHostPort, uiPath)
+ isHTTPS := ""
+ if cfg.TLSOptions.DoTLS() {
+ isHTTPS = "s"
+ }
+ uiMsg += fmt.Sprintf("http%s://%s%s", isHTTPS, urlHostPort, uiPath)
if strings.Contains(urlHostPort, "localhost") {
uiMsg += "\n\t (or any host/ip reachable on this server)"
}
++++++ fortio.obsinfo ++++++
--- /var/tmp/diff_new_pack.aZofSp/_old 2023-12-10 19:39:49.467350281 +0100
+++ /var/tmp/diff_new_pack.aZofSp/_new 2023-12-10 19:39:49.471350429 +0100
@@ -1,5 +1,5 @@
name: fortio
-version: 1.62.1
-mtime: 1700635384
-commit: a95f803d5082c3745ae02315bbc24f1608182009
+version: 1.63.0
+mtime: 1702080011
+commit: 6b492e20fffc070f3ab624cf960793a01651cd19
++++++ vendor.tar.gz ++++++
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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/fcntl.go 2023-12-09 20:51:12.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/ioctl_linux.go 2023-12-09 20:51:12.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/mkerrors.sh 2023-12-09 20:51:12.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_bsd.go 2023-12-09 20:51:12.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_linux.go 2023-12-09 20:51:12.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_openbsd.go 2023-12-09 20:51:12.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_solaris.go 2023-12-09 20:51:12.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go 2023-12-09 20:51:12.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zerrors_linux.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_linux.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/ztypes_linux.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/syscall_windows.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/zsyscall_windows.go 2023-12-09 20:51:13.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-23 07:25:10.000000000 +0100
+++ new/vendor/modules.txt 2023-12-09 20:51:14.000000000 +0100
@@ -48,11 +48,11 @@
# github.com/google/uuid v1.4.0
## explicit
github.com/google/uuid
-# golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa
+# golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb
## explicit; go 1.20
golang.org/x/exp/constraints
golang.org/x/exp/slices
-# golang.org/x/net v0.18.0
+# golang.org/x/net v0.19.0
## explicit; go 1.18
golang.org/x/net/context
golang.org/x/net/http/httpguts
@@ -62,7 +62,7 @@
golang.org/x/net/idna
golang.org/x/net/internal/timeseries
golang.org/x/net/trace
-# golang.org/x/sys v0.14.0
+# golang.org/x/sys v0.15.0
## explicit; go 1.18
golang.org/x/sys/unix
golang.org/x/sys/windows
@@ -72,10 +72,10 @@
golang.org/x/text/transform
golang.org/x/text/unicode/bidi
golang.org/x/text/unicode/norm
-# golang.org/x/tools v0.15.0
+# golang.org/x/tools v0.16.0
## explicit; go 1.18
golang.org/x/tools/txtar
-# google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f
+# google.golang.org/genproto/googleapis/rpc v0.0.0-20231127180814-3a041ad873d4
## explicit; go 1.19
google.golang.org/genproto/googleapis/rpc/status
# google.golang.org/grpc v1.59.0
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-10 19:39:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/minio-client (Old)
and /work/SRC/openSUSE:Factory/.minio-client.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "minio-client"
Sun Dec 10 19:39:43 2023 rev:60 rq:1132265 version:20231207T221317Z
Changes:
--------
--- /work/SRC/openSUSE:Factory/minio-client/minio-client.changes 2023-12-06 23:49:45.618622874 +0100
+++ /work/SRC/openSUSE:Factory/.minio-client.new.25432/minio-client.changes 2023-12-10 19:39:46.299233605 +0100
@@ -1,0 +2,8 @@
+Sat Dec 09 19:55:41 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 20231207T221317Z:
+ * Fix a panic for bucket heal (#4781)
+ * ready: Do not quit when the target server is offline or any
+ other error (#4783)
+
+-------------------------------------------------------------------
Old:
----
mc-20231202T112410Z.obscpio
New:
----
mc-20231207T221317Z.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ minio-client.spec ++++++
--- /var/tmp/diff_new_pack.fRO1Kq/_old 2023-12-10 19:39:47.931293711 +0100
+++ /var/tmp/diff_new_pack.fRO1Kq/_new 2023-12-10 19:39:47.935293858 +0100
@@ -22,7 +22,7 @@
%define binary_name minio-client
Name: minio-client
-Version: 20231202T112410Z
+Version: 20231207T221317Z
Release: 0
Summary: Client for MinIO
License: AGPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.fRO1Kq/_old 2023-12-10 19:39:47.963294889 +0100
+++ /var/tmp/diff_new_pack.fRO1Kq/_new 2023-12-10 19:39:47.967295037 +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-12-02T11-24-10Z</param>
+ <param name="revision">RELEASE.2023-12-07T22-13-17Z</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-20231202T112410Z.obscpio</param>
+ <param name="archive">mc-20231207T221317Z.obscpio</param>
</service>
</services>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.fRO1Kq/_old 2023-12-10 19:39:47.991295921 +0100
+++ /var/tmp/diff_new_pack.fRO1Kq/_new 2023-12-10 19:39:47.991295921 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/minio/mc</param>
- <param name="changesrevision">d920e2b34b22a15bca4cd081201d3b301c623d87</param></service></servicedata>
+ <param name="changesrevision">1ba9435365a772d6b4cab225458306a70dfb2309</param></service></servicedata>
(No newline at EOF)
++++++ mc-20231202T112410Z.obscpio -> mc-20231207T221317Z.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231202T112410Z/.github/workflows/vulncheck.yml new/mc-20231207T221317Z/.github/workflows/vulncheck.yml
--- old/mc-20231202T112410Z/.github/workflows/vulncheck.yml 2023-12-02 12:24:10.000000000 +0100
+++ new/mc-20231207T221317Z/.github/workflows/vulncheck.yml 2023-12-07 23:13:17.000000000 +0100
@@ -16,7 +16,7 @@
- name: Set up Go
uses: actions/setup-go@v3
with:
- go-version: 1.21.4
+ go-version: 1.21.5
check-latest: true
- name: Get official govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231202T112410Z/cmd/admin-heal-result-item.go new/mc-20231207T221317Z/cmd/admin-heal-result-item.go
--- old/mc-20231202T112410Z/cmd/admin-heal-result-item.go 2023-12-02 12:24:10.000000000 +0100
+++ new/mc-20231207T221317Z/cmd/admin-heal-result-item.go 2023-12-07 23:13:17.000000000 +0100
@@ -61,9 +61,18 @@
getColCode := func(numAvail int) (c col, err error) {
// calculate color code for replicated object similar
// to erasure coded objects
- quorum := h.DiskCount/h.SetCount/2 + 1
- surplus := numAvail/h.SetCount - quorum
- parity := h.DiskCount/h.SetCount - quorum
+ var quorum, surplus, parity int
+ if h.SetCount > 0 {
+ quorum = h.DiskCount/h.SetCount/2 + 1
+ surplus = numAvail/h.SetCount - quorum
+ parity = h.DiskCount/h.SetCount - quorum
+ } else {
+ // in case of bucket healing, disk count is for the node
+ // also explicitly set count would be set to invalid value of -1
+ quorum = h.DiskCount/2 + 1
+ surplus = numAvail - quorum
+ parity = h.DiskCount - quorum
+ }
c, err = getHColCode(surplus, parity)
return
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231202T112410Z/cmd/ready.go new/mc-20231207T221317Z/cmd/ready.go
--- old/mc-20231202T112410Z/cmd/ready.go 2023-12-02 12:24:10.000000000 +0100
+++ new/mc-20231207T221317Z/cmd/ready.go 2023-12-07 23:13:17.000000000 +0100
@@ -77,13 +77,19 @@
MaintenanceMode bool `json:"maintenanceMode"`
WriteQuorum int `json:"writeQuorum"`
HealingDrives int `json:"healingDrives"`
+
+ Err error `json:"error"`
}
func (r readyMessage) String() string {
- if r.Healthy {
+ switch {
+ case r.Healthy:
return color.GreenString("The cluster is ready")
+ case r.Err != nil:
+ return color.RedString("The cluster is unreachable: " + r.Err.Error())
+ default:
+ return color.RedString("The cluster is not ready")
}
- return color.RedString("The cluster is not ready")
}
// JSON jsonified ready result
@@ -116,38 +122,25 @@
Maintenance: maintenance,
}
- healthResult, hErr := anonClient.Healthy(ctx, healthOpts)
- fatalIf(probe.NewError(hErr).Trace(aliasedURL), "Couldn't get the health status for `"+aliasedURL+"`.")
-
- if healthResult.Healthy {
- printMsg(readyMessage{
- Healthy: healthResult.Healthy,
- MaintenanceMode: healthResult.MaintenanceMode,
- WriteQuorum: healthResult.WriteQuorum,
- HealingDrives: healthResult.HealingDrives,
- })
- return nil
- }
-
- timer := time.NewTimer(healthCheckInterval)
+ timer := time.NewTimer(0)
defer timer.Stop()
+
for {
select {
case <-ctx.Done():
return nil
case <-timer.C:
healthResult, hErr := anonClient.Healthy(ctx, healthOpts)
- fatalIf(probe.NewError(hErr).Trace(aliasedURL), "Couldn't get the health status for `"+aliasedURL+"`.")
printMsg(readyMessage{
Healthy: healthResult.Healthy,
MaintenanceMode: healthResult.MaintenanceMode,
WriteQuorum: healthResult.WriteQuorum,
HealingDrives: healthResult.HealingDrives,
+ Err: hErr,
})
if healthResult.Healthy {
return nil
}
-
timer.Reset(healthCheckInterval)
}
}
++++++ mc.obsinfo ++++++
--- /var/tmp/diff_new_pack.fRO1Kq/_old 2023-12-10 19:39:48.275306381 +0100
+++ /var/tmp/diff_new_pack.fRO1Kq/_new 2023-12-10 19:39:48.275306381 +0100
@@ -1,5 +1,5 @@
name: mc
-version: 20231202T112410Z
-mtime: 1701516250
-commit: d920e2b34b22a15bca4cd081201d3b301c623d87
+version: 20231207T221317Z
+mtime: 1701987197
+commit: 1ba9435365a772d6b4cab225458306a70dfb2309
++++++ 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 gdbm for openSUSE:Factory checked in at 2023-12-10 19:39:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdbm (Old)
and /work/SRC/openSUSE:Factory/.gdbm.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdbm"
Sun Dec 10 19:39:29 2023 rev:45 rq:1131626 version:1.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/gdbm/gdbm.changes 2023-08-13 19:17:35.275964655 +0200
+++ /work/SRC/openSUSE:Factory/.gdbm.new.25432/gdbm.changes 2023-12-10 19:39:31.462687196 +0100
@@ -1,0 +2,5 @@
+Wed Dec 6 16:00:27 UTC 2023 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- libgdbm_compat4: Fix libgdbm version of Conflicts [bsc#1217727]
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdbm.spec ++++++
--- /var/tmp/diff_new_pack.JYniZu/_old 2023-12-10 19:39:32.046708705 +0100
+++ /var/tmp/diff_new_pack.JYniZu/_new 2023-12-10 19:39:32.046708705 +0100
@@ -82,7 +82,7 @@
# Was provided in older sonames
License: GPL-3.0-or-later
Group: System/Libraries
-Conflicts: libgdbm3
+Conflicts: libgdbm4
%description -n %{lcompat}
GNU dbm is a library of database functions that use extensible
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package filesystem for openSUSE:Factory checked in at 2023-12-10 19:39:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/filesystem (Old)
and /work/SRC/openSUSE:Factory/.filesystem.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "filesystem"
Sun Dec 10 19:39:27 2023 rev:172 rq:1132116 version:84.87
Changes:
--------
--- /work/SRC/openSUSE:Factory/filesystem/filesystem.changes 2023-10-06 21:13:23.173563817 +0200
+++ /work/SRC/openSUSE:Factory/.filesystem.new.25432/filesystem.changes 2023-12-10 19:39:29.954631657 +0100
@@ -1,0 +2,5 @@
+Fri Dec 8 10:29:23 UTC 2023 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Create systemd-tmpfile for /run (/run/lock missing bug report)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ filesystem.spec ++++++
--- /var/tmp/diff_new_pack.7Nr3qh/_old 2023-12-10 19:39:30.914667014 +0100
+++ /var/tmp/diff_new_pack.7Nr3qh/_new 2023-12-10 19:39:30.914667014 +0100
@@ -180,6 +180,9 @@
/var/*)
echo "d $NAME $MODE $OWNR $GRUP -" >> fs-var.conf
;;
+ /run/*)
+ echo "d $NAME $MODE $OWNR $GRUP -" >> fs-run.conf
+ ;;
/usr/local/*)
echo "d $NAME $MODE $OWNR $GRUP -" >> fs-usr-local.conf
;;
@@ -314,6 +317,7 @@
install -m 0644 fs-var.conf $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/fs-var.conf
install -m 0644 fs-var-tmp.conf $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/fs-var-tmp.conf
install -m 0644 fs-usr-local.conf $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/fs-usr-local.conf
+install -m 0644 fs-run.conf $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/fs-run.conf
%pretrans -p <lua> -f pretrans.lua
%pre -p <lua> -f pre.lua
@@ -321,6 +325,7 @@
%posttrans -p <lua> -f posttrans.lua
%files -f filesystem.list
+/usr/lib/tmpfiles.d/fs-run.conf
/usr/lib/tmpfiles.d/fs-tmp.conf
/usr/lib/tmpfiles.d/fs-var.conf
/usr/lib/tmpfiles.d/fs-var-tmp.conf
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-softlayer for openSUSE:Factory checked in at 2023-12-10 10:15:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-softlayer (Old)
and /work/SRC/openSUSE:Factory/.python-softlayer.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-softlayer"
Sun Dec 10 10:15:49 2023 rev:21 rq: version:6.1.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-softlayer/python-softlayer.changes 2023-12-09 22:57:24.352760104 +0100
+++ /work/SRC/openSUSE:Factory/.python-softlayer.new.25432/python-softlayer.changes 2023-12-10 10:15:50.127599969 +0100
@@ -168 +168 @@
- * Unable to determine filelock storage limits per datacenter
+ * Unable to determine file-lock storage limits per datacenter
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
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-10 01:06:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Sun Dec 10 01:06:35 2023 rev:3833 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.2p6MBj/_old 2023-12-10 01:06:38.993724985 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:38.997725131 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__MicroOS___20231208" schemaversion="4.1">
+<image name="OBS__MicroOS___20231209" 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">20231208</productvar>
+ <productvar name="VERSION">20231209</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231208,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231209,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231208/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231209/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.2p6MBj/_old 2023-12-10 01:06:39.029726309 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.033726456 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20231208" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20231209" 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">20231208</productvar>
+ <productvar name="VERSION">20231209</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231208,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231209,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.2p6MBj/_old 2023-12-10 01:06:39.053727192 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.057727338 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231208" schemaversion="4.1">
+<image name="OBS__openSUSE___20231209" 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">20231208</productvar>
+ <productvar name="VERSION">20231209</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231208,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231209,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/20231208/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231209/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 ++++++
--- /var/tmp/diff_new_pack.2p6MBj/_old 2023-12-10 01:06:39.077728074 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.081728221 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231208" schemaversion="4.1">
+<image name="OBS__openSUSE___20231209" 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">20231208</productvar>
+ <productvar name="VERSION">20231209</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231208,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231209,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/20231208/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231209/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>
@@ -2702,7 +2702,6 @@
<repopackage name="libvirt-daemon-lock"/>
<repopackage name="libvirt-daemon-log"/>
<repopackage name="libvirt-daemon-plugin-lockd"/>
- <repopackage name="libvirt-daemon-proxy"/>
<repopackage name="libvirt-daemon-qemu"/>
<repopackage name="libvirt-daemon-xen"/>
<repopackage name="libvirt-glib-1_0-0"/>
++++++ openSUSE-ftp-ftp-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.2p6MBj/_old 2023-12-10 01:06:39.101728957 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.105729103 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231208" schemaversion="4.1">
+<image name="OBS__openSUSE___20231209" 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-20231208-i586</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231209-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">20231208</productvar>
+ <productvar name="VERSION">20231209</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231208,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231209,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/20231208/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231209/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.2p6MBj/_old 2023-12-10 01:06:39.125729839 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.129729987 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231208" schemaversion="4.1">
+<image name="OBS__openSUSE___20231209" 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-20231208-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231209-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">20231208</productvar>
+ <productvar name="VERSION">20231209</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231208,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231209,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/20231208/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231209/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.2p6MBj/_old 2023-12-10 01:06:39.173731604 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.177731752 +0100
@@ -6,7 +6,7 @@
<name>Aeon</name>
<releasepkgname>Aeon-release</releasepkgname>
<endoflife/>
- <version>20231208</version>
+ <version>20231209</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>Aeon</productline>
++++++ MicroOS.product ++++++
--- /var/tmp/diff_new_pack.2p6MBj/_old 2023-12-10 01:06:39.197732487 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.201732635 +0100
@@ -6,7 +6,7 @@
<name>MicroOS</name>
<releasepkgname>MicroOS-release</releasepkgname>
<endoflife/>
- <version>20231208</version>
+ <version>20231209</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>MicroOS</productline>
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.2p6MBj/_old 2023-12-10 01:06:39.293736018 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.301736313 +0100
@@ -2736,7 +2736,6 @@
<package name="libvirt-daemon-lock" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="libvirt-daemon-log" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="libvirt-daemon-plugin-lockd" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
- <package name="libvirt-daemon-proxy" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="libvirt-daemon-qemu" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="libvirt-daemon-xen" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-xen_server -->
<package name="libvirt-glib-1_0-0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.2p6MBj/_old 2023-12-10 01:06:39.317736901 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.321737048 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231208</version>
+ <version>20231209</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.2p6MBj/_old 2023-12-10 01:06:39.337737637 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.341737783 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231208</version>
+ <version>20231209</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.2p6MBj/_old 2023-12-10 01:06:39.421740726 +0100
+++ /var/tmp/diff_new_pack.2p6MBj/_new 2023-12-10 01:06:39.425740873 +0100
@@ -1711,6 +1711,7 @@
- busybox-time
- busybox-traceroute
- busybox-tunctl
+ - busybox-udhcpc
- busybox-unzip
- busybox-util-linux
- busybox-vi
@@ -3228,6 +3229,7 @@
- dracut-kiwi-oem-repart
- dracut-kiwi-overlay
- dracut-kiwi-verity
+ - dracut-pcr-signature
- dracut-sshd
- dracut-tools
- dragonbox-devel
@@ -15368,6 +15370,7 @@
- libvirt-daemon-hooks
- libvirt-daemon-lxc
- libvirt-daemon-plugin-sanlock
+ - libvirt-daemon-proxy
- libvirt-dbus
- libvirt-devel
- libvirt-doc
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-distributed for openSUSE:Factory checked in at 2023-12-09 22:54:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-distributed (Old)
and /work/SRC/openSUSE:Factory/.python-distributed.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-distributed"
Sat Dec 9 22:54:10 2023 rev:73 rq:1132243 version:2023.12.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-distributed/python-distributed.changes 2023-11-17 20:50:44.307775882 +0100
+++ /work/SRC/openSUSE:Factory/.python-distributed.new.25432/python-distributed.changes 2023-12-09 22:57:51.301749065 +0100
@@ -1,0 +2,8 @@
+Sat Dec 2 14:14:30 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 2023.12.0:
+ * see corresponding dask update:
+ * https://docs.dask.org/en/stable/changelog.html#v2023-12-0
+ * Bokeh 3.3.0 compatibility
+
+-------------------------------------------------------------------
Old:
----
distributed-2023.11.0-gh.tar.gz
New:
----
distributed-2023.12.0-gh.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-distributed.spec ++++++
--- /var/tmp/diff_new_pack.4GwfB1/_old 2023-12-09 22:57:51.965773433 +0100
+++ /var/tmp/diff_new_pack.4GwfB1/_new 2023-12-09 22:57:51.965773433 +0100
@@ -44,7 +44,7 @@
Name: python-distributed%{psuffix}
# ===> Note: python-dask MUST be updated in sync with python-distributed! <===
-Version: 2023.11.0
+Version: 2023.12.0
Release: 0
Summary: Library for distributed computing with Python
License: BSD-3-Clause
++++++ distributed-2023.11.0-gh.tar.gz -> distributed-2023.12.0-gh.tar.gz ++++++
++++ 6578 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-dask for openSUSE:Factory checked in at 2023-12-09 22:54:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dask (Old)
and /work/SRC/openSUSE:Factory/.python-dask.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-dask"
Sat Dec 9 22:54:09 2023 rev:71 rq:1132242 version:2023.12.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dask/python-dask.changes 2023-11-17 20:50:42.255700722 +0100
+++ /work/SRC/openSUSE:Factory/.python-dask.new.25432/python-dask.changes 2023-12-09 22:57:50.569722202 +0100
@@ -1,0 +2,38 @@
+Sat Dec 2 14:09:52 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 2023.12.0:
+ * Bokeh 3.3.0 compatibility
+ * Add ``network`` marker to
+ ``test_pyarrow_filesystem_option_real_data``
+ * Bump GPU CI to CUDA 11.8 (:pr:`10656`)
+ * Tokenize ``pandas`` offsets deterministically
+ * Add tokenize ``pd.NA`` functionality
+ * Update gpuCI ``RAPIDS_VER`` to ``24.02`` (:pr:`10636`)
+ * Fix precision handling in ``array.linalg.norm`` (:pr:`10556`)
+ `joanrue`_
+ * Add ``axis`` argument to ``DataFrame.clip`` and
+ ``Series.clip`` (:pr:`10616`) `Richard (Rick) Zamora`_
+ * Update changelog entry for in-memory rechunking (:pr:`10630`)
+ `Florian Jetter`_
+ * Fix flaky ``test_resources_reset_after_cancelled_task``
+ * Bump GPU CI to CUDA 11.8
+ * Bump ``conda-incubator/setup-miniconda``
+ * Add debug logs to P2P scheduler plugin
+ * ``O(1)`` access for ``/info/task/`` endpoint
+ * Remove stringification from shuffle annotations
+ * Don't cast ``int`` metrics to ``float``
+ * Drop asyncio TCP backend
+ * Add offload support to ``context_meter.add_callback``
+ * Test that ``sync()`` propagates contextvars
+ * Fix ``test_statistical_profiling_cycle``
+ * Replace ``Client.register_plugin`` s ``idempotent`` argument
+ with ``.idempotent`` attribute on plugins
+ * Fix test report generation
+ * Install ``pyarrow-hotfix`` on ``mindeps-pandas`` CI
+ * Reduce memory usage of scheduler process - optimize
+ ``scheduler.py::TaskState`` class
+ * Update cuDF test with explicit ``dtype=object``
+ * Fix ``Cluster`` / ``SpecCluster`` calls to async close
+ methods
+
+-------------------------------------------------------------------
Old:
----
dask-2023.11.0.tar.gz
New:
----
dask-2023.12.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-dask.spec ++++++
--- /var/tmp/diff_new_pack.Z3QLHM/_old 2023-12-09 22:57:51.093741432 +0100
+++ /var/tmp/diff_new_pack.Z3QLHM/_new 2023-12-09 22:57:51.093741432 +0100
@@ -43,7 +43,7 @@
%{?sle15_python_module_pythons}
Name: python-dask%{psuffix}
# ===> Note: python-dask MUST be updated in sync with python-distributed! <===
-Version: 2023.11.0
+Version: 2023.12.0
Release: 0
Summary: Minimal task scheduling abstraction
License: BSD-3-Clause
++++++ dask-2023.11.0.tar.gz -> dask-2023.12.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-dask/dask-2023.11.0.tar.gz /work/SRC/openSUSE:Factory/.python-dask.new.25432/dask-2023.12.0.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 vkd3d for openSUSE:Factory checked in at 2023-12-09 22:54:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vkd3d (Old)
and /work/SRC/openSUSE:Factory/.vkd3d.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vkd3d"
Sat Dec 9 22:54:08 2023 rev:13 rq:1132240 version:1.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/vkd3d/vkd3d.changes 2023-09-25 21:04:07.506202519 +0200
+++ /work/SRC/openSUSE:Factory/.vkd3d.new.25432/vkd3d.changes 2023-12-09 22:57:49.349677429 +0100
@@ -1,0 +2,104 @@
+Thu Dec 7 13:07:01 UTC 2023 - Tobias Klausmann <tobias.klausmann(a)freenet.de>
+
+- Update to version 1.10:
+ - libvkd3d
+ Creating pipeline state objects from pipeline state stream descriptions is
+ implemented.
+ Depth-bounds testing is implemented.
+ When the VK_KHR_maintenance2 extension is available, libvkd3d will
+ explicitly specify the usage flags of Vulkan image views. This is
+ particularly useful on MoltenVK, where 2D-array views of 3D textures are
+ subject to usage restrictions.
+ The D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD and/or
+ D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE feature flags are reported for
+ UAV formats when the ‘shaderStorageImageReadWithoutFormat’ and/or
+ ‘shaderStorageImageWriteWithoutFormat’ Vulkan device features are supported.
+ The ID3D12Device5 interface is supported.
+ The ID3D12GraphicsCommandList5 interface is supported.
+ The ID3D12Resource1 interface is supported.
+ - libvkd3d-shader
+ New features for the HLSL source type:
+ Support for the following intrinsic functions: ceil(), degrees(), radians(),
+ fwidth(), tan() tex2Dlod(), tex2Dproj(), texCUBEproj(), and tex3Dproj()
+ Constant folding support for more expression types. In particular:
+ ternary operators and branches, reciprocal square roots, exponentials,
+ logical ‘not’ on booleans, bitwise complements, left/right shifts, ceil(),
+ floor(), frac(), and saturate()
+ Support for dynamic indexing of arrays.
+ Support for ‘break’ and ‘continue’ statements.
+ Support for ‘switch’ statements.
+ The ‘linear’, ‘centroid’, and ‘noperspective’ interpolation modifiers are
+ supported.
+ The ‘RWTexture1DArray’ and ‘RWTexture2DArray’ unordered access view types
+ are supported.
+ ‘[loop]’ attributes are accepted on loops.
+ u/U and l/L suffixes on integer constants.
+ Floating-point values are explicitly clamped to the upper and lower bounds
+ of the target type by ‘ftoi’ and ‘ftou’ instructions when targeting SPIR-V.
+ Similarly, NaNs are flushed to zero. Some hardware/drivers would already do
+ this implicitly, but behaviour for such inputs is undefined as far as
+ SPIR-V is concerned.
+ The VKD3D_SHADER_CONFIG environment variable can be used to modify the
+ behaviour of libvkd3d-shader at run-time, analogous to the existing
+ VKD3D_CONFIG environment variable for libvkd3d. See the README for a list
+ of supported options.
+ When scanning legacy Direct3D bytecode using vkd3d_shader_scan(),
+ descriptor information for shader model 2 and 3 combined resource-sampler
+ pairs is returned in the vkd3d_shader_scan_descriptor_info structure.
+ Note that this information is not yet available for shader model 1 sources,
+ although this will likely be added in a future release.
+ The Direct3D shader assembly target supports the ‘rasteriser ordered view’
+ flag (‘_rov’) on unordered access view declarations.
+ New interfaces:
+ The VKD3D_SHADER_COMPILE_OPTION_BACKWARD_COMPATIBILITY compile option can
+ be used to specify backward compatibility options. The
+ VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES flag is the only
+ currently supported flag, and can be used to specify that shader model 1-3
+ semantic names should be mapped to their shader model 4+ system value
+ equivalents when compiling HLSL sources.
+ The VKD3D_SHADER_COMPILE_OPTION_FRAGMENT_COORDINATE_ORIGIN compile option
+ can be used to specify the origin of fragment coordinates for SPIR-V
+ targets. This is especially useful in OpenGL environments, where the origin
+ may be different than in Direct3D or Vulkan environments.
+ The vkd3d_shader_scan_combined_resource_sampler_info structure extends the
+ vkd3d_shader_compile_info structure, and can be used to retrieve
+ information about the combined resource-sampler pairs used by a shader.
+ This is especially useful when compiling shaders for usage in environments
+ without separate binding points for samplers and resources, like OpenGL.
+ vkd3d_shader_free_scan_combined_resource_sampler_info() is used to free
+ vkd3d_shader_scan_combined_resource_sampler_info structures.
+ - libvkd3d-utils
+ Passing the D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY flag to D3DCompile()
+ and D3DCompile2() will enable mapping shader model 1-3 semantic names to
+ their shader model 4+ system value equivalents.
+ New interfaces:
+ D3DGetBlobPart() is used to retrieve specific parts of DXBC blobs.
+ D3DGetDebugInfo() is used to retrieve debug information from DXBC blobs.
+ D3DGetInputAndOutputSignatureBlob() is used to retrieve input and output
+ signatures from DXBC blobs.
+ D3DGetInputSignatureBlob() is used to retrieve input signatures from DXBC
+ blobs.
+ D3DGetOutputSignatureBlob() is used to retrieve output signatures from DXBC
+ blobs.
+ D3DStripShader() is used to remove specific parts from DXBC blobs.
+ - vkd3d-compiler
+ The ‘--fragment-coordinate-origin’ option can be used to specify the origin
+ of fragment coordinates for SPIR-V targets.
+ The ‘--semantic-compat-map’ option can be used to specify that shader model
+ 1-3 semantic names should be mapped to their shader model 4+ system value
+ equivalents when compiling HLSL sources.
+ - vkd3d-dxbc
+ The ‘--list’ and ‘--list-data’ options now also output the offsets of
+ sections inside the input data.
+ - build
+ The minimum required version of Vulkan-Headers for this release is version
+ 1.2.148.
+ When available, the libEGL and libOpenGL libraries are used to run the
+ vkd3d tests in additional configurations. These libraries are not used by
+ vkd3d itself.
+ The SONAME_LIBDXCOMPILER configure variable can be used specify the shared
+ object name of the dxcompiler library. When available, it's used to run the
+ vkd3d tests in additional configurations. The dxcompiler library is not
+ used by vkd3d itself.
+
+-------------------------------------------------------------------
Old:
----
vkd3d-1.9.tar.xz
vkd3d-1.9.tar.xz.sign
New:
----
vkd3d-1.10.tar.xz
vkd3d-1.10.tar.xz.sign
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vkd3d.spec ++++++
--- /var/tmp/diff_new_pack.IKH1I0/_old 2023-12-09 22:57:49.881696953 +0100
+++ /var/tmp/diff_new_pack.IKH1I0/_new 2023-12-09 22:57:49.881696953 +0100
@@ -26,7 +26,7 @@
BuildRequires: xcb-util-keysyms-devel
BuildRequires: pkgconfig(SPIRV-Tools)
BuildRequires: pkgconfig(ncurses)
-BuildRequires: pkgconfig(vulkan)
+BuildRequires: pkgconfig(vulkan) >= 1.2.148
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-event)
BuildRequires: pkgconfig(xcb-icccm)
@@ -34,7 +34,7 @@
Summary: Direct3D 12 to Vulkan translation library
License: LGPL-2.1-or-later
Group: System/X11/Utilities
-Version: 1.9
+Version: 1.10
Release: 0
Source0: https://dl.winehq.org/vkd3d/source/vkd3d-%version.tar.xz
Source1: https://dl.winehq.org/vkd3d/source/vkd3d-%version.tar.xz.sign
++++++ vkd3d-1.9.tar.xz -> vkd3d-1.10.tar.xz ++++++
++++ 36168 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-CPAN-Perl-Releases for openSUSE:Factory checked in at 2023-12-09 22:54:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-CPAN-Perl-Releases (Old)
and /work/SRC/openSUSE:Factory/.perl-CPAN-Perl-Releases.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-CPAN-Perl-Releases"
Sat Dec 9 22:54:04 2023 rev:143 rq:1132234 version:5.20231129
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-CPAN-Perl-Releases/perl-CPAN-Perl-Releases.changes 2023-10-26 17:16:07.308021199 +0200
+++ /work/SRC/openSUSE:Factory/.perl-CPAN-Perl-Releases.new.25432/perl-CPAN-Perl-Releases.changes 2023-12-09 22:57:46.993590967 +0100
@@ -1,0 +2,6 @@
+Thu Nov 30 03:06:15 UTC 2023 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 5.20231129
+ see /usr/share/doc/packages/perl-CPAN-Perl-Releases/Changes
+
+-------------------------------------------------------------------
Old:
----
CPAN-Perl-Releases-5.20231025.tar.gz
New:
----
CPAN-Perl-Releases-5.20231129.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-CPAN-Perl-Releases.spec ++++++
--- /var/tmp/diff_new_pack.oHSmhr/_old 2023-12-09 22:57:47.489609169 +0100
+++ /var/tmp/diff_new_pack.oHSmhr/_new 2023-12-09 22:57:47.489609169 +0100
@@ -18,7 +18,7 @@
%define cpan_name CPAN-Perl-Releases
Name: perl-CPAN-Perl-Releases
-Version: 5.20231025
+Version: 5.20231129
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Mapping Perl releases on CPAN to the location of the tarballs
++++++ CPAN-Perl-Releases-5.20231025.tar.gz -> CPAN-Perl-Releases-5.20231129.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-5.20231025/Changes new/CPAN-Perl-Releases-5.20231129/Changes
--- old/CPAN-Perl-Releases-5.20231025/Changes 2023-10-25 22:25:28.000000000 +0200
+++ new/CPAN-Perl-Releases-5.20231129/Changes 2023-11-29 17:43:50.000000000 +0100
@@ -1,8 +1,40 @@
==================================================
-Changes from 2018-10-26 00:00:00 +0000 to present.
+Changes from 2018-11-30 00:00:00 +0000 to present.
==================================================
-----------------------------------------------
+version 5.20231129 at 2023-11-29 16:42:36 +0000
+-----------------------------------------------
+
+ Change: e00885d04b7b09c5af083ea9f676debb25c3aeb1
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2023-11-29 16:42:36 +0000
+
+ Updated for v5.34.3, v5.36.3 and v5.38.2
+
+-----------------------------------------------
+version 5.20231125 at 2023-11-25 15:33:39 +0000
+-----------------------------------------------
+
+ Change: 8d68024297ab0476c12901327f0349ea27721790
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2023-11-25 15:33:39 +0000
+
+ Updated for maintenance releases
+
+ v5.34.2 v5.36.2 v5.38.1
+
+-----------------------------------------------
+version 5.20231120 at 2023-11-20 09:24:19 +0000
+-----------------------------------------------
+
+ Change: 5baddd08edbb5b987a0851bfee46f0b8265be8ef
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2023-11-20 09:24:19 +0000
+
+ Updated for v5.39.5
+
+-----------------------------------------------
version 5.20231025 at 2023-10-25 20:24:51 +0000
-----------------------------------------------
@@ -900,32 +932,6 @@
Updated for v5.26.3 && v5.28.1
------------------------------------------
-version 3.82 at 2018-11-20 22:10:01 +0000
------------------------------------------
-
- Change: 9b48c3d5594dcf443b8cf3e7fb5746eb00055c6e
- Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
- Date : 2018-11-20 22:10:01 +0000
-
- Updated for v5.29.5
-
------------------------------------------
-version 3.80 at 2018-10-26 12:51:16 +0000
------------------------------------------
-
- Change: 97a04e9885bb2b1a00446061f95da821af4263e5
- Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
- Date : 2018-10-26 13:51:16 +0000
-
- Release engineering 3.80
-
- Change: 587f6176b904e4e44c3344bf381975ac30802895
- Author: Mohammad S Anwar <mohammad.anwar(a)yahoo.com>
- Date : 2018-10-26 13:12:10 +0000
-
- Added test for method perl_tarballs().
-
==================================================
-Plus 187 releases after 2018-10-26 00:00:00 +0000.
+Plus 189 releases after 2018-11-30 00:00:00 +0000.
==================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-5.20231025/META.json new/CPAN-Perl-Releases-5.20231129/META.json
--- old/CPAN-Perl-Releases-5.20231025/META.json 2023-10-25 22:25:28.000000000 +0200
+++ new/CPAN-Perl-Releases-5.20231129/META.json 2023-11-29 17:43:50.000000000 +0100
@@ -49,7 +49,7 @@
"web" : "https://github.com/bingos/cpan-perl-releases"
}
},
- "version" : "5.20231025",
+ "version" : "5.20231129",
"x_generated_by_perl" : "v5.38.0",
"x_serialization_backend" : "Cpanel::JSON::XS version 4.37",
"x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-5.20231025/META.yml new/CPAN-Perl-Releases-5.20231129/META.yml
--- old/CPAN-Perl-Releases-5.20231025/META.yml 2023-10-25 22:25:28.000000000 +0200
+++ new/CPAN-Perl-Releases-5.20231129/META.yml 2023-11-29 17:43:50.000000000 +0100
@@ -21,7 +21,7 @@
resources:
homepage: https://github.com/bingos/cpan-perl-releases
repository: https://github.com/bingos/cpan-perl-releases.git
-version: '5.20231025'
+version: '5.20231129'
x_generated_by_perl: v5.38.0
x_serialization_backend: 'YAML::Tiny version 1.74'
x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-5.20231025/Makefile.PL new/CPAN-Perl-Releases-5.20231129/Makefile.PL
--- old/CPAN-Perl-Releases-5.20231025/Makefile.PL 2023-10-25 22:25:28.000000000 +0200
+++ new/CPAN-Perl-Releases-5.20231129/Makefile.PL 2023-11-29 17:43:50.000000000 +0100
@@ -23,7 +23,7 @@
"IPC::Open3" => 0,
"Test::More" => "0.47"
},
- "VERSION" => "5.20231025",
+ "VERSION" => "5.20231129",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-5.20231025/README new/CPAN-Perl-Releases-5.20231129/README
--- old/CPAN-Perl-Releases-5.20231025/README 2023-10-25 22:25:28.000000000 +0200
+++ new/CPAN-Perl-Releases-5.20231129/README 2023-11-29 17:43:50.000000000 +0100
@@ -5,7 +5,7 @@
VERSION
- version 5.20231025
+ version 5.20231129
SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-5.20231025/dist.ini new/CPAN-Perl-Releases-5.20231129/dist.ini
--- old/CPAN-Perl-Releases-5.20231025/dist.ini 2023-10-25 22:25:28.000000000 +0200
+++ new/CPAN-Perl-Releases-5.20231129/dist.ini 2023-11-29 17:43:50.000000000 +0100
@@ -1,5 +1,5 @@
name = CPAN-Perl-Releases
-version = 5.20231025
+version = 5.20231129
author = Chris Williams <chris(a)bingosnet.co.uk>
license = Perl_5
copyright_holder = Chris Williams
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-5.20231025/lib/CPAN/Perl/Releases.pm new/CPAN-Perl-Releases-5.20231129/lib/CPAN/Perl/Releases.pm
--- old/CPAN-Perl-Releases-5.20231025/lib/CPAN/Perl/Releases.pm 2023-10-25 22:25:28.000000000 +0200
+++ new/CPAN-Perl-Releases-5.20231129/lib/CPAN/Perl/Releases.pm 2023-11-29 17:43:50.000000000 +0100
@@ -1,5 +1,5 @@
package CPAN::Perl::Releases;
-$CPAN::Perl::Releases::VERSION = '5.20231025';
+$CPAN::Perl::Releases::VERSION = '5.20231129';
#ABSTRACT: Mapping Perl releases on CPAN to the location of the tarballs
use strict;
@@ -295,6 +295,13 @@
"5.39.2" => { id => 'PEVANS' },
"5.39.3" => { id => 'WOLFSAGE' },
"5.39.4" => { id => 'HAARG' },
+"5.39.5" => { id => 'ETHER' },
+"5.34.2" => { id => 'PEVANS' },
+"5.36.2" => { id => 'PEVANS' },
+"5.38.1" => { id => 'PEVANS' },
+"5.34.3" => { id => 'PEVANS' },
+"5.36.3" => { id => 'PEVANS' },
+"5.38.2" => { id => 'PEVANS' },
};
sub perl_tarballs {
@@ -364,7 +371,7 @@
=head1 VERSION
-version 5.20231025
+version 5.20231129
=head1 SYNOPSIS
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Time-Out for openSUSE:Factory checked in at 2023-12-09 22:53:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Time-Out (Old)
and /work/SRC/openSUSE:Factory/.perl-Time-Out.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Time-Out"
Sat Dec 9 22:53:59 2023 rev:3 rq:1132232 version:0.240.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Time-Out/perl-Time-Out.changes 2014-03-18 15:51:03.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Time-Out.new.25432/perl-Time-Out.changes 2023-12-09 22:57:45.565538561 +0100
@@ -1,0 +2,6 @@
+Tue Nov 28 03:10:08 UTC 2023 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 0.24
+ see /usr/share/doc/packages/perl-Time-Out/Changes
+
+-------------------------------------------------------------------
Old:
----
Time-Out-0.11.tar.gz
New:
----
Time-Out-0.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Time-Out.spec ++++++
--- /var/tmp/diff_new_pack.CEbAVx/_old 2023-12-09 22:57:45.985553974 +0100
+++ /var/tmp/diff_new_pack.CEbAVx/_new 2023-12-09 22:57:45.985553974 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Time-Out
#
-# Copyright (c) 2014 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,38 +12,68 @@
# 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 cpan_name Time-Out
Name: perl-Time-Out
-Version: 0.11
+Version: 0.240.0
Release: 0
-%define cpan_name Time-Out
+%define cpan_version 0.24
+License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Easily timeout long running operations
-License: GPL-1.0+ or Artistic-1.0
-Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Time-Out/
-Source: http://www.cpan.org/authors/id/P/PA/PATL/%{cpan_name}-%{version}.tar.gz
+URL: https://metacpan.org/release/%{cpan_name}
+Source0: https://cpan.metacpan.org/authors/id/S/SV/SVW/%{cpan_name}-%{cpan_version}.…
BuildArch: noarch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
+BuildRequires: perl(App::cpanminus) >= 1.7046
+BuildRequires: perl(ExtUtils::MakeMaker::CPANfile) >= 0.09
+BuildRequires: perl(Test::Fatal)
+BuildRequires: perl(Test::Needs)
+BuildRequires: perl(Try::Tiny)
+Requires: perl(Try::Tiny)
+Provides: perl(Time::Out) = %{version}
+Provides: perl(Time::Out::Exception) = %{version}
+Provides: perl(Time::Out::ParamConstraints) = %{version}
+%define __perllib_provides /bin/true
+Recommends: perl(Time::HiRes) >= 1.972.600
%{perl_requires}
%description
-'Time::Out' provides an easy interface to _alarm(2)_ based timeouts. Nested
-timeouts are supported.
+The 'Time::Out' module provides an easy interface to alarm(2) based
+timeouts. Nested timeouts are supported. The module exports the 'timeout()'
+function by default. The function returns whatever the code placed inside
+the subroutine reference returns:
+
+ use Time::Out qw( timeout );
+
+ my $result = timeout 5 => sub {
+ return 7;
+ };
+ # $result == 7
+
+If 'Time::Out' sees that Time::HiRes has been loaded, it will use that
+'alarm()' function (if available) instead of the default one, allowing
+float timeout values to be used effectively:
+
+ use Time::HiRes qw();
+ use Time::Out qw( timeout );
+
+ timeout 3.1416 => sub {
+ # ...
+ };
%prep
-%setup -q -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version}
%build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__make} %{?_smp_mflags}
+perl Makefile.PL INSTALLDIRS=vendor
+%make_build
%check
-%{__make} test
+make test
%install
%perl_make_install
@@ -51,6 +81,6 @@
%perl_gen_filelist
%files -f %{name}.files
-%defattr(-,root,root,755)
%doc Changes README
+%license LICENSE
++++++ Time-Out-0.11.tar.gz -> Time-Out-0.24.tar.gz ++++++
++++ 1972 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Minion for openSUSE:Factory checked in at 2023-12-09 22:54:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Minion (Old)
and /work/SRC/openSUSE:Factory/.perl-Minion.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Minion"
Sat Dec 9 22:54:04 2023 rev:74 rq:1132233 version:10.280.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Minion/perl-Minion.changes 2023-11-16 20:31:39.527220985 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Minion.new.25432/perl-Minion.changes 2023-12-09 22:57:46.197561754 +0100
@@ -1,0 +2,12 @@
+Wed Nov 29 03:07:48 UTC 2023 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 10.28
+ see /usr/share/doc/packages/perl-Minion/Changes
+
+ 10.28 2023-11-217
+ - Improved repair and history performance in most cases.
+
+ 10.27 2023-11-20
+ - Improved repair performance in cases where there are a lot of finished jobs with dependencies.
+
+-------------------------------------------------------------------
Old:
----
Minion-10.26.tar.gz
New:
----
Minion-10.28.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Minion.spec ++++++
--- /var/tmp/diff_new_pack.6zEffJ/_old 2023-12-09 22:57:46.665578929 +0100
+++ /var/tmp/diff_new_pack.6zEffJ/_new 2023-12-09 22:57:46.665578929 +0100
@@ -18,9 +18,9 @@
%define cpan_name Minion
Name: perl-Minion
-Version: 10.260.0
+Version: 10.280.0
Release: 0
-%define cpan_version 10.26
+%define cpan_version 10.28
License: Artistic-2.0
Summary: Job queue
URL: https://metacpan.org/release/%{cpan_name}
@@ -33,7 +33,7 @@
BuildRequires: perl(YAML::XS) >= 0.67
Requires: perl(Mojolicious) >= 9.0
Requires: perl(YAML::XS) >= 0.67
-Provides: perl(Minion) = 10.260.0
+Provides: perl(Minion) = %{version}
Provides: perl(Minion::Backend)
Provides: perl(Minion::Backend::Pg)
Provides: perl(Minion::Command::minion)
++++++ Minion-10.26.tar.gz -> Minion-10.28.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/Changes new/Minion-10.28/Changes
--- old/Minion-10.26/Changes 2023-11-10 15:50:50.000000000 +0100
+++ new/Minion-10.28/Changes 2023-11-27 19:41:07.000000000 +0100
@@ -1,4 +1,10 @@
+10.28 2023-11-217
+ - Improved repair and history performance in most cases.
+
+10.27 2023-11-20
+ - Improved repair performance in cases where there are a lot of finished jobs with dependencies.
+
10.26 2023-11-10
- Added type information to worker status.
- Improved workers by calling srand() after starting a new job process.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/META.json new/Minion-10.28/META.json
--- old/Minion-10.26/META.json 2023-11-10 15:53:06.000000000 +0100
+++ new/Minion-10.28/META.json 2023-11-28 12:05:02.000000000 +0100
@@ -58,6 +58,6 @@
"web" : "https://web.libera.chat/#mojo"
}
},
- "version" : "10.26",
+ "version" : "10.28",
"x_serialization_backend" : "JSON::PP version 4.07"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/META.yml new/Minion-10.28/META.yml
--- old/Minion-10.26/META.yml 2023-11-10 15:53:06.000000000 +0100
+++ new/Minion-10.28/META.yml 2023-11-28 12:05:02.000000000 +0100
@@ -30,5 +30,5 @@
homepage: https://mojolicious.org
license: http://www.opensource.org/licenses/artistic-license-2.0
repository: https://github.com/mojolicious/minion.git
-version: '10.26'
+version: '10.28'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/lib/Minion/Backend/Pg.pm new/Minion-10.28/lib/Minion/Backend/Pg.pm
--- old/Minion-10.26/lib/Minion/Backend/Pg.pm 2022-07-21 01:39:53.000000000 +0200
+++ new/Minion-10.28/lib/Minion/Backend/Pg.pm 2023-11-27 17:49:09.000000000 +0100
@@ -178,16 +178,12 @@
my $minion = $self->minion;
$db->query("DELETE FROM minion_workers WHERE notified < NOW() - INTERVAL '1 second' * ?", $minion->missing_after);
- # Old jobs with no unresolved dependencies and expired jobs
- $db->query(
- "DELETE FROM minion_jobs WHERE id IN (
- SELECT j.id FROM minion_jobs AS j LEFT JOIN minion_jobs AS children
- ON children.state != 'finished' AND ARRAY_LENGTH(children.parents, 1) > 0 AND j.id = ANY(children.parents)
- WHERE j.state = 'finished' AND j.finished <= NOW() - INTERVAL '1 second' * ? AND children.id IS NULL
- UNION ALL
- SELECT id FROM minion_jobs WHERE state = 'inactive' AND expires <= NOW()
- )", $minion->remove_after
- );
+ # Old jobs
+ $db->query("DELETE FROM minion_jobs WHERE state = 'finished' AND finished <= NOW() - INTERVAL '1 second' * ?",
+ $minion->remove_after);
+
+ # Expired jobs
+ $db->query("DELETE FROM minion_jobs WHERE state = 'inactive' AND expires <= NOW()");
# Jobs with missing worker (can be retried)
$db->query(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/lib/Minion/Backend/resources/migrations/pg.sql new/Minion-10.28/lib/Minion/Backend/resources/migrations/pg.sql
--- old/Minion-10.26/lib/Minion/Backend/resources/migrations/pg.sql 2022-02-23 18:51:44.000000000 +0100
+++ new/Minion-10.28/lib/Minion/Backend/resources/migrations/pg.sql 2023-11-27 19:37:00.000000000 +0100
@@ -92,3 +92,6 @@
-- 23 up
ALTER TABLE minion_jobs ADD COLUMN lax BOOL NOT NULL DEFAULT FALSE;
+
+-- 24 up
+CREATE INDEX ON minion_jobs (finished, state);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/lib/Minion.pm new/Minion-10.28/lib/Minion.pm
--- old/Minion-10.26/lib/Minion.pm 2023-02-04 01:47:41.000000000 +0100
+++ new/Minion-10.28/lib/Minion.pm 2023-11-20 15:55:38.000000000 +0100
@@ -21,7 +21,7 @@
has [qw(remove_after stuck_after)] => 172800;
has tasks => sub { {} };
-our $VERSION = '10.26';
+our $VERSION = '10.28';
sub add_task {
my ($self, $name, $task) = @_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/t/pg.t new/Minion-10.28/t/pg.t
--- old/Minion-10.26/t/pg.t 2022-07-21 01:39:54.000000000 +0200
+++ new/Minion-10.28/t/pg.t 2023-11-27 19:37:28.000000000 +0100
@@ -29,9 +29,9 @@
};
subtest 'Migrate up and down' => sub {
- is $minion->backend->pg->migrations->active, 23, 'active version is 23';
+ is $minion->backend->pg->migrations->active, 24, 'active version is 24';
is $minion->backend->pg->migrations->migrate(0)->active, 0, 'active version is 0';
- is $minion->backend->pg->migrations->migrate->active, 23, 'active version is 23';
+ is $minion->backend->pg->migrations->migrate->active, 24, 'active version is 24';
};
subtest 'Register and unregister' => sub {
@@ -1116,9 +1116,9 @@
is_deeply $job->info->{children}, [], 'right children';
is_deeply $job->info->{parents}, [$id, $id2], 'right parents';
is $minion->stats->{finished_jobs}, 2, 'two finished jobs';
- is $minion->repair->stats->{finished_jobs}, 2, 'two finished jobs';
+ is $minion->repair->stats->{finished_jobs}, 0, 'no finished jobs';
ok $job->finish, 'job finished';
- is $minion->stats->{finished_jobs}, 3, 'three finished jobs';
+ is $minion->stats->{finished_jobs}, 1, 'one finished job';
is $minion->repair->remove_after(172800)->stats->{finished_jobs}, 0, 'no finished jobs';
$id = $minion->enqueue(test => [] => {parents => [-1]});
ok $job = $worker->dequeue(0), 'job dequeued';
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-ExtUtils-CppGuess for openSUSE:Factory checked in at 2023-12-09 22:53:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-ExtUtils-CppGuess (Old)
and /work/SRC/openSUSE:Factory/.perl-ExtUtils-CppGuess.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-ExtUtils-CppGuess"
Sat Dec 9 22:53:57 2023 rev:12 rq:1132227 version:0.270.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-ExtUtils-CppGuess/perl-ExtUtils-CppGuess.changes 2022-04-28 23:07:53.124682094 +0200
+++ /work/SRC/openSUSE:Factory/.perl-ExtUtils-CppGuess.new.25432/perl-ExtUtils-CppGuess.changes 2023-12-09 22:57:43.305455621 +0100
@@ -1,0 +2,9 @@
+Mon Nov 20 03:06:19 UTC 2023 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 0.27
+ see /usr/share/doc/packages/perl-ExtUtils-CppGuess/Changes
+
+ 0.27 2023-11-19
+ - support C++20 and C++23 standards, and vendored version output - thanks @tonycoz
+
+-------------------------------------------------------------------
Old:
----
ExtUtils-CppGuess-0.26.tar.gz
New:
----
ExtUtils-CppGuess-0.27.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-ExtUtils-CppGuess.spec ++++++
--- /var/tmp/diff_new_pack.bP82s5/_old 2023-12-09 22:57:43.877476613 +0100
+++ /var/tmp/diff_new_pack.bP82s5/_new 2023-12-09 22:57:43.877476613 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-ExtUtils-CppGuess
#
-# 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,12 +18,13 @@
%define cpan_name ExtUtils-CppGuess
Name: perl-ExtUtils-CppGuess
-Version: 0.26
+Version: 0.270.0
Release: 0
+%define cpan_version 0.27
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Guess C++ compiler and flags
URL: https://metacpan.org/release/%{cpan_name}
-Source0: https://cpan.metacpan.org/authors/id/E/ET/ETJ/%{cpan_name}-%{version}.tar.gz
+Source0: https://cpan.metacpan.org/authors/id/E/ET/ETJ/%{cpan_name}-%{cpan_version}.…
Source1: cpanspec.yml
BuildRequires: perl
BuildRequires: perl-macros
@@ -34,6 +35,8 @@
BuildRequires: perl(Test::More) >= 0.88
Requires: perl(Capture::Tiny)
Requires: perl(ExtUtils::ParseXS) >= 3.35
+Provides: perl(ExtUtils::CppGuess) = %{version}
+%define __perllib_provides /bin/true
%{perl_requires}
# MANUAL BEGIN
BuildRequires: gcc-c++
@@ -47,7 +50,7 @@
to ExtUtils::MakeMaker's 'WriteMakefile' function.
%prep
-%autosetup -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
++++++ ExtUtils-CppGuess-0.26.tar.gz -> ExtUtils-CppGuess-0.27.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-CppGuess-0.26/Changes new/ExtUtils-CppGuess-0.27/Changes
--- old/ExtUtils-CppGuess-0.26/Changes 2022-04-21 11:59:49.000000000 +0200
+++ new/ExtUtils-CppGuess-0.27/Changes 2023-11-19 20:20:10.000000000 +0100
@@ -1,3 +1,6 @@
+0.27 2023-11-19
+- support C++20 and C++23 standards, and vendored version output - thanks @tonycoz
+
0.26 2022-04-21
- fix test-failure caused if CXX is set - thanks @hroncok for report
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-CppGuess-0.26/META.json new/ExtUtils-CppGuess-0.27/META.json
--- old/ExtUtils-CppGuess-0.26/META.json 2022-04-21 12:00:17.000000000 +0200
+++ new/ExtUtils-CppGuess-0.27/META.json 2023-11-19 20:21:02.000000000 +0100
@@ -63,6 +63,6 @@
"web" : "https://github.com/tsee/extutils-cppguess"
}
},
- "version" : "0.26",
+ "version" : "0.27",
"x_serialization_backend" : "JSON::PP version 4.04"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-CppGuess-0.26/META.yml new/ExtUtils-CppGuess-0.27/META.yml
--- old/ExtUtils-CppGuess-0.26/META.yml 2022-04-21 12:00:16.000000000 +0200
+++ new/ExtUtils-CppGuess-0.27/META.yml 2023-11-19 20:21:02.000000000 +0100
@@ -33,5 +33,5 @@
resources:
bugtracker: https://github.com/tsee/extutils-cppguess/issues
repository: git://github.com/tsee/extutils-cppguess
-version: '0.26'
+version: '0.27'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-CppGuess-0.26/lib/ExtUtils/CppGuess.pm new/ExtUtils-CppGuess-0.27/lib/ExtUtils/CppGuess.pm
--- old/ExtUtils-CppGuess-0.26/lib/ExtUtils/CppGuess.pm 2022-04-21 11:59:55.000000000 +0200
+++ new/ExtUtils-CppGuess-0.27/lib/ExtUtils/CppGuess.pm 2023-11-19 20:19:51.000000000 +0100
@@ -171,6 +171,10 @@
=item * C<< C++17 >>
+=item * C<< C++20 >>
+
+=item * C<< C++23 >>
+
=back
returns a string with a flag that can be used to tell the compiler to support
@@ -201,7 +205,7 @@
use File::Spec::Functions qw(catfile);
use File::Temp qw(tempdir);
-our $VERSION = '0.26';
+our $VERSION = '0.27';
sub new {
my( $class, %args ) = @_;
@@ -405,7 +409,7 @@
$self->{is_clang} = 0;
my $cc_version = _capture( "$cc --version" );
if (
- $cc_version =~ m/\A(?:clang|apple llvm)/i
+ $cc_version =~ m/\A(?:(?:\S+ )?clang version|apple llvm)/i
|| $cc eq 'clang' # because why would they lie?
|| (($self->_config->{gccversion} || '') =~ /Clang|Apple LLVM/),
) {
@@ -565,12 +569,16 @@
'C++11' => [ "-std=c++11", "-std=c++0x" ],
'C++14' => [ "-std=c++14", "-std=c++1y" ],
'C++17' => [ "-std=c++17", "-std=c++1z" ],
+ 'C++20' => [ "-std=c++20", "-std=c++2a" ],
+ 'C++23' => [ "-std=c++23", "-std=c++2b" ],
},
is_clang => {
'C++98' => [ "-std=c++98", ],
'C++11' => [ "-std=c++11", ],
'C++14' => [ "-std=c++14", "-std=c++1y" ],
'C++17' => [ "-std=c++17", "-std=c++1z" ],
+ 'C++20' => [ "-std=c++20", "-std=c++2a" ],
+ 'C++23' => [ "-std=c++23", "-std=c++2b" ],
},
is_msvc => {
# Newer MSVC set C++14 as minimum version.
@@ -578,6 +586,8 @@
'C++11' => [ "" ],
'C++14' => [ "-std:c++14" ],
'C++17' => [ "-std:c++17" ],
+ 'C++20' => [ "-std:c++20" ],
+ # no C++23 specific option as of Visual Studio 2020 17.3
},
is_sunstudio => {
'C++98' => [ "" ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-CppGuess-0.26/t/002_icpp.t new/ExtUtils-CppGuess-0.27/t/002_icpp.t
--- old/ExtUtils-CppGuess-0.26/t/002_icpp.t 2022-04-21 11:00:43.000000000 +0200
+++ new/ExtUtils-CppGuess-0.27/t/002_icpp.t 2023-11-19 20:11:06.000000000 +0100
@@ -95,6 +95,61 @@
run_test(@$_) for @DATA;
+# mock some compiler output
+my $old_capture = \&ExtUtils::CppGuess::_capture;
+our $CAPTURES;
+{
+ no warnings "redefine";
+ *ExtUtils::CppGuess::_capture =
+ sub {
+ my @cmd = @_;
+ if (my $result = $CAPTURES->{"@cmd"}) {
+ note "Mocking output of @cmd: $result";
+ return $result;
+ }
+ goto &$old_capture;
+ };
+}
+my @CAPS =
+ (
+ [
+ { cc => "cc", config => { ccflags => '' } },
+ {
+ is_sunstudio => 0,
+ is_msvc => undef, is_gcc => undef, is_clang => 1,
+ compiler_command => 'clang++ -xc++ -Wno-reserved-user-defined-literal',
+ linker_flags => '-lstdc++',
+ },
+ { "cc --version" => "OpenBSD clang version 10.0.1" },
+ ],
+ [
+ { cc => "clang-15", config => { ccflags => '' } },
+ {
+ is_sunstudio => 0,
+ is_msvc => undef, is_gcc => undef, is_clang => 1,
+ compiler_command => 'clang++ -xc++ -Wno-reserved-user-defined-literal',
+ linker_flags => '-lstdc++',
+ },
+ { "clang-15 --version" => "Debian clang version 15.0.7" },
+ ],
+ [
+ { cc => "cc", config => { ccflags => '' } },
+ {
+ is_sunstudio => 0,
+ is_msvc => undef, is_gcc => 1, is_clang => 0,
+ compiler_command => 'g++ -xc++',
+ linker_flags => '-lstdc++',
+ },
+ { "cc --version" => "cc (Debian 12.2.0-14) 12.2.0" },
+ ],
+ );
+
+for my $test (@CAPS) {
+ my ($args, $expect, $cap) = @$test;
+ local $CAPTURES = $cap;
+ run_test($args, $expect);
+}
+
done_testing;
sub run_test {
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package wike for openSUSE:Factory checked in at 2023-12-09 22:53:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wike (Old)
and /work/SRC/openSUSE:Factory/.wike.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wike"
Sat Dec 9 22:53:49 2023 rev:8 rq:1132203 version:2.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/wike/wike.changes 2023-05-09 13:08:41.397503845 +0200
+++ /work/SRC/openSUSE:Factory/.wike.new.25432/wike.changes 2023-12-09 22:57:34.657138249 +0100
@@ -1,0 +2,13 @@
+Wed Dec 6 08:45:21 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 2.1.0:
+ * Added an option to clear personal data on exit.
+ * Added an option to restore open articles on start.
+ * Enabled navigation with gestures and mouse buttons 8 and 9.
+ * Tab overview can now also be used in desktop mode.
+ * History items can now be deleted individually.
+ * Minor UI changes.
+ * Bug fixes.
+ * Updated translations.
+
+-------------------------------------------------------------------
Old:
----
wike-2.0.1.tar.gz
New:
----
wike-2.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wike.spec ++++++
--- /var/tmp/diff_new_pack.aURdSg/_old 2023-12-09 22:57:35.261160415 +0100
+++ /var/tmp/diff_new_pack.aURdSg/_new 2023-12-09 22:57:35.265160562 +0100
@@ -17,7 +17,7 @@
Name: wike
-Version: 2.0.1
+Version: 2.1.0
Release: 0
Summary: A Wikipedia reader for the GNOME Desktop
License: GPL-3.0-or-later
++++++ wike-2.0.1.tar.gz -> wike-2.1.0.tar.gz ++++++
++++ 9873 lines of diff (skipped)
1
0