openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2024
- 1 participants
- 1521 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2024-07-02 18:17:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Tue Jul 2 18:17:42 2024 rev:443 rq:1184354 version:4.6.1719838742.4815a51
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2024-06-27 16:05:00.938388062 +0200
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.18349/os-autoinst.changes 2024-07-02 18:17:46.906343731 +0200
@@ -1,0 +2,13 @@
+Mon Jul 01 17:23:25 UTC 2024 - okurz(a)suse.com
+
+- Update to version 4.6.1719838742.4815a51:
+ * baseclass: Explicitly log retry interval for SSH console
+ * Refactor: generate python bindings from template
+ * Add lockapi.py
+ * Add mmapi.py
+ * Wrap README text consistently at 80 characters
+ * Fix typo in README
+ * backend/qemu.pm: Fix typo: It's riscv64, not risv64
+ * ustreamer: restrict to aarch64 and x86_64
+
+-------------------------------------------------------------------
Old:
----
os-autoinst-4.6.1719324538.dc98b76.obscpio
New:
----
os-autoinst-4.6.1719838742.4815a51.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.ic310B/_old 2024-07-02 18:17:47.998383693 +0200
+++ /var/tmp/diff_new_pack.ic310B/_new 2024-07-02 18:17:47.998383693 +0200
@@ -18,7 +18,7 @@
%define short_name os-autoinst-devel
Name: %{short_name}-test
-Version: 4.6.1719324538.dc98b76
+Version: 4.6.1719838742.4815a51
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ os-autoinst-openvswitch-test.spec ++++++
--- /var/tmp/diff_new_pack.ic310B/_old 2024-07-02 18:17:48.026384717 +0200
+++ /var/tmp/diff_new_pack.ic310B/_new 2024-07-02 18:17:48.026384717 +0200
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst-openvswitch
Name: %{short_name}%{?name_ext}
-Version: 4.6.1719324538.dc98b76
+Version: 4.6.1719838742.4815a51
Release: 0
Summary: test package for %{short_name}
License: GPL-2.0-or-later
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.ic310B/_old 2024-07-02 18:17:48.054385742 +0200
+++ /var/tmp/diff_new_pack.ic310B/_new 2024-07-02 18:17:48.054385742 +0200
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.6.1719324538.dc98b76
+Version: 4.6.1719838742.4815a51
Release: 0
Summary: test package for os-autoinst
License: GPL-2.0-or-later
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.ic310B/_old 2024-07-02 18:17:48.086386913 +0200
+++ /var/tmp/diff_new_pack.ic310B/_new 2024-07-02 18:17:48.086386913 +0200
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.6.1719324538.dc98b76
+Version: 4.6.1719838742.4815a51
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
++++++ os-autoinst-4.6.1719324538.dc98b76.obscpio -> os-autoinst-4.6.1719838742.4815a51.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.6.1719324538.dc98b76.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.18349/os-autoinst-4.6.1719838742.4815a51.obscpio differ: char 49, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.ic310B/_old 2024-07-02 18:17:48.158389548 +0200
+++ /var/tmp/diff_new_pack.ic310B/_new 2024-07-02 18:17:48.162389694 +0200
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.6.1719324538.dc98b76
-mtime: 1719324538
-commit: dc98b7691a4c73ac3c7c34748ae9b82d5ec1668e
+version: 4.6.1719838742.4815a51
+mtime: 1719838742
+commit: 4815a51de8dd9e2773be3eb59abf86874ff3ae7e
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 2024-07-02 18:17:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
and /work/SRC/openSUSE:Factory/.openQA.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA"
Tue Jul 2 18:17:39 2024 rev:592 rq:1184351 version:4.6.1719769755.f382481d
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 2024-06-27 16:04:56.998243303 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.18349/openQA.changes 2024-07-02 18:17:44.242246244 +0200
@@ -1,0 +2,10 @@
+Mon Jul 01 12:52:33 UTC 2024 - okurz(a)suse.com
+
+- Update to version 4.6.1719769755.f382481d:
+ * Bump @floating-ui/core from 1.6.2 to 1.6.3
+ * Dependency cron 2024-06-29
+ * Be more explicit about the booleans in build_results
+ * Bump @eslint-community/regexpp from 4.10.1 to 4.11.0
+ * Bump ace-builds from 1.35.0 to 1.35.1
+
+-------------------------------------------------------------------
Old:
----
openQA-4.6.1719403951.26949373.obscpio
New:
----
openQA-4.6.1719769755.f382481d.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.QjxdjL/_old 2024-07-02 18:17:45.782302599 +0200
+++ /var/tmp/diff_new_pack.QjxdjL/_new 2024-07-02 18:17:45.782302599 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-client
Name: %{short_name}-test
-Version: 4.6.1719403951.26949373
+Version: 4.6.1719769755.f382481d
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.QjxdjL/_old 2024-07-02 18:17:45.814303770 +0200
+++ /var/tmp/diff_new_pack.QjxdjL/_new 2024-07-02 18:17:45.818303917 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-devel
Name: %{short_name}-test
-Version: 4.6.1719403951.26949373
+Version: 4.6.1719769755.f382481d
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.QjxdjL/_old 2024-07-02 18:17:45.846304941 +0200
+++ /var/tmp/diff_new_pack.QjxdjL/_new 2024-07-02 18:17:45.850305087 +0200
@@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
-Version: 4.6.1719403951.26949373
+Version: 4.6.1719769755.f382481d
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.QjxdjL/_old 2024-07-02 18:17:45.882306259 +0200
+++ /var/tmp/diff_new_pack.QjxdjL/_new 2024-07-02 18:17:45.882306259 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
-Version: 4.6.1719403951.26949373
+Version: 4.6.1719769755.f382481d
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.QjxdjL/_old 2024-07-02 18:17:45.914307430 +0200
+++ /var/tmp/diff_new_pack.QjxdjL/_new 2024-07-02 18:17:45.918307576 +0200
@@ -78,7 +78,7 @@
%define devel_requires %devel_no_selenium_requires chromedriver
Name: openQA
-Version: 4.6.1719403951.26949373
+Version: 4.6.1719769755.f382481d
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
++++++ node_modules.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/node_modules.obscpio /work/SRC/openSUSE:Factory/.openQA.new.18349/node_modules.obscpio differ: char 63908, line 216
++++++ node_modules.spec.inc ++++++
--- /var/tmp/diff_new_pack.QjxdjL/_old 2024-07-02 18:17:45.990310211 +0200
+++ /var/tmp/diff_new_pack.QjxdjL/_new 2024-07-02 18:17:45.994310357 +0200
@@ -1,10 +1,10 @@
Source1000: https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.…
-Source1001: https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz#/…
+Source1001: https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#/…
Source1002: https://registry.npmjs.org/@eslint/config-array/-/config-array-0.16.0.tgz#/…
Source1003: https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#/@eslint-e…
Source1004: https://registry.npmjs.org/@eslint/js/-/js-9.5.0.tgz#/@eslint-js-9.5.0.tgz
Source1005: https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz#…
-Source1006: https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz#/@floating-ui…
+Source1006: https://registry.npmjs.org/@floating-ui/core/-/core-1.6.3.tgz#/@floating-ui…
Source1007: https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.6.tgz#/@floating-ui-d…
Source1008: https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.3.tgz#/@floating-…
Source1009: https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer…
@@ -14,7 +14,7 @@
Source1013: https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#/@nodelib-f…
Source1014: https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz#/@pkgr-core-0.1.1.tgz
Source1015: https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz#/@popperjs-core…
-Source1016: https://registry.npmjs.org/ace-builds/-/ace-builds-1.35.0.tgz#/ace-builds-1…
+Source1016: https://registry.npmjs.org/ace-builds/-/ace-builds-1.35.1.tgz#/ace-builds-1…
Source1017: https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz#/acorn-8.12.0.tgz
Source1018: https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2…
Source1019: https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
++++++ openQA-4.6.1719403951.26949373.obscpio -> openQA-4.6.1719769755.f382481d.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/openQA-4.6.1719403951.26949373.obscpio /work/SRC/openSUSE:Factory/.openQA.new.18349/openQA-4.6.1719769755.f382481d.obscpio differ: char 49, line 1
++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.QjxdjL/_old 2024-07-02 18:17:46.050312406 +0200
+++ /var/tmp/diff_new_pack.QjxdjL/_new 2024-07-02 18:17:46.054312553 +0200
@@ -1,5 +1,5 @@
name: openQA
-version: 4.6.1719403951.26949373
-mtime: 1719403951
-commit: 26949373401942c72d1e1f2c0c37780cb2681b1c
+version: 4.6.1719769755.f382481d
+mtime: 1719769755
+commit: f382481d2d376b3f17be69945d3bd311a5bbbc7b
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package clamav for openSUSE:Factory checked in at 2024-07-02 18:17:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clamav (Old)
and /work/SRC/openSUSE:Factory/.clamav.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clamav"
Tue Jul 2 18:17:36 2024 rev:125 rq:1184343 version:1.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/clamav/clamav.changes 2024-02-26 19:49:21.898528909 +0100
+++ /work/SRC/openSUSE:Factory/.clamav.new.18349/clamav.changes 2024-07-02 18:17:42.686189302 +0200
@@ -1,0 +2,96 @@
+Mon Apr 22 15:30:18 UTC 2024 - Reinhard Max <max(a)suse.com>
+
+- New Version: 1.3.1:
+ * CVE-2024-20380: Fixed a possible crash in the HTML file parser
+ that could cause a denial-of-service (DoS) condition.
+ * Updated select Rust dependencies to the latest versions.
+ * Fixed a bug causing some text to be truncated when converting
+ from UTF-16.
+ * Fixed assorted complaints identified by Coverity static
+ analysis.
+ * Fixed a bug causing CVDs downloaded by the DatabaseCustomURL
+ Freshclam config option to be pruned and then re-downloaded
+ with every update.
+ * Added the new 'valhalla' database name to the list of optional
+ databases in preparation for future work.
+
+-------------------------------------------------------------------
+Fri Mar 15 13:52:57 UTC 2024 - Reinhard Max <max(a)suse.com>
+
+- New version: 1.3.0:
+ * Added support for extracting and scanning attachments found in
+ Microsoft OneNote section files. OneNote parsing will be
+ enabled by default, but may be optionally disabled.
+ * Added file type recognition for compiled Python (`.pyc`) files.
+ * Improved support for decrypting PDFs with empty passwords.
+ * Fixed a warning when scanning some HTML files.
+ * ClamOnAcc: Fixed an infinite loop when a watched directory
+ does not exist.
+ * ClamOnAcc: Fixed an infinite loop when a file has been deleted
+ before a scan.
+- New version: 1.2.0:
+ * Added support for extracting Universal Disk Format (UDF)
+ partitions.
+ * Added an option to customize the size of ClamAV's clean file
+ cache.
+ * Raised the MaxScanSize limit so the total amount of data
+ scanned when scanning a file or archive may exceed 4 gigabytes.
+ * Added ability for Freshclam to use a client certificate PEM
+ file and a private key PEM file for authentication to a private
+ mirror.
+ * Fix an issue extracting files from ISO9660 partitions where the
+ files are listed in the plain ISO tree and there also exists an
+ empty Joliet tree.
+ * PID and socket are now located under /run/clamav/clamd.pid and
+ /run/clamav/clamd.sock .
+ * bsc#1211594: Fixed an issue where ClamAV does not abort the
+ signature load process after partially loading an invalid
+ signature.
+- New version 1.1.0:
+ * https://blog.clamav.net/2023/05/clamav-110-released.html
+ * Added the ability to extract images embedded in HTML CSS
+ <style> blocks.
+ * Updated to Sigtool so that the --vba option will extract VBA
+ code from Microsoft Office documents the same way that
+ libclamav extracts VBA.
+ * Added a new option --fail-if-cvd-older-than=days to clamscan
+ and clamd, and FailIfCvdOlderThan to clamd.conf
+ * Added a new function cl_cvdgetage() to the libclamav API.
+ * Added a new function cl_engine_set_clcb_vba() to the
+ libclamav API.
+ * obsoletes clamav-ec32.patch.
+- boo#1180296: Integrate clamonacc as a service.
+- New version 1.0.1 LTS (including changes in 0.104 and 0.105):
+ * As of ClamAV 0.104, CMake is required to build ClamAV.
+ * As of ClamAV 0.105, Rust is now required to compile ClamAV.
+ * Increased the default limits for file and scan size:
+ * MaxScanSize: 100M to 400M
+ * MaxFileSize: 25M to 100M
+ * StreamMaxLength: 25M to 100M
+ * PCREMaxFileSize: 25M to 100M
+ * MaxEmbeddedPE: 10M to 40M
+ * MaxHTMLNormalize: 10M to 40M
+ * MaxScriptNormalize: 5M to 20M
+ * MaxHTMLNoTags: 2M to 8M
+ * Added image fuzzy hash subsignatures for logical signatures.
+ * Support for decrypting read-only OLE2-based XLS files that are
+ encrypted with the default password.
+ * Overhauled the implementation of the all-match feature.
+ * Added a new callback to the public API for inspecting file
+ content during a scan at each layer of archive extraction.
+ * Added a new function to the public API for unpacking CVD
+ signature archives.
+ * The option to build with an external TomsFastMath library has
+ been removed. ClamAV requires non-default build options for
+ TomsFastMath to support bigger floating point numbers.
+ * For a full list of changes see the release announcements:
+ * https://blog.clamav.net/2022/11/clamav-100-lts-released.html
+ * https://blog.clamav.net/2022/05/clamav-01050-01043-01036-released.html
+ * https://blog.clamav.net/2021/09/clamav-01040-released.html
+- Build clamd with systemd support.
+- Fix format strings on 32bit platforms (clamav-format.patch).
+- Add missing endianness conversions (clamav-ec32.patch).
+- Don't build on armv7l for now due to some test failures.
+- Drop clamav-disable-yara.patch as yara cannot be disabled anymore
+
+-------------------------------------------------------------------
Old:
----
clamav-0.103.11.tar.gz
clamav-0.103.11.tar.gz.sig
clamav-disable-yara.patch
New:
----
_constraints
clamav-1.3.1.tar.gz
clamav-1.3.1.tar.gz.sig
clamav-format.patch
service.clamonacc
BETA DEBUG BEGIN:
Old:- Don't build on armv7l for now due to some test failures.
- Drop clamav-disable-yara.patch as yara cannot be disabled anymore
BETA DEBUG END:
BETA DEBUG BEGIN:
New:- Build clamd with systemd support.
- Fix format strings on 32bit platforms (clamav-format.patch).
- Add missing endianness conversions (clamav-ec32.patch).
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ clamav.spec ++++++
--- /var/tmp/diff_new_pack.W2iroa/_old 2024-07-02 18:17:43.410215797 +0200
+++ /var/tmp/diff_new_pack.W2iroa/_new 2024-07-02 18:17:43.410215797 +0200
@@ -1,7 +1,7 @@
#
# spec file for package clamav
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,23 @@
#
-%bcond_with clammspack
+%bcond_without clammspack
%bcond_with valgrind
+
+%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400
+%bcond_without sysuser_vscan
+%endif
+%if 0%{?suse_version} <= 1500
+%define vgcc 13
+%if 0%{?sle_version} < 150400
+%define vrust 1.69
+%define vcmake 3
+%endif
+%endif
+%global confdir %_prefix%_sysconfdir
+
Name: clamav
-Version: 0.103.11
+Version: 1.3.1
Release: 0
Summary: Antivirus Toolkit
License: GPL-2.0-only
@@ -35,27 +48,40 @@
Source10: timer.freshclam
# w3m https://www.clamav.net/downloads | sed -n '/-BEGIN /,/-END /p'
Source11: clamav.keyring
+Source12: service.clamonacc
Source65: system-user-vscan.conf
Patch1: clamav-conf.patch
Patch5: clamav-obsolete-config.patch
-Patch6: clamav-disable-yara.patch
Patch12: clamav-fips.patch
Patch14: clamav-document-maxsize.patch
+Patch15: clamav-format.patch
+ExcludeArch: %{arml}
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: gcc-c++
+BuildRequires: cargo%{?vrust}
+BuildRequires: cmake%{?vcmake}
+BuildRequires: gcc%{?vgcc}
+BuildRequires: gcc%{?vgcc}-c++
BuildRequires: libbz2-devel
-BuildRequires: libcurl-devel >= 7.45
BuildRequires: libjson-c-devel
BuildRequires: libopenssl-devel >= 1.0.2
-BuildRequires: libtool
BuildRequires: libxml2-devel
+BuildRequires: make
+BuildRequires: rust%{?vrust}
+#BuildRequires: rust+cargo >= 1.61.0
+#BuildRequires: rust+rustc >= 1.61.0
BuildRequires: sendmail-devel
+BuildRequires: systemd
+BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(check)
+BuildRequires: pkgconfig(libcurl) >= 7.45
BuildRequires: pkgconfig(libpcre2-8) >= 10.30
+BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(zlib)
+BuildRequires: python(abi) >= 3.6
+%if 0%{?suse_version} >= 1500
+BuildRequires: python3-pytest
+%endif
#
# Workaround to keep "make check" from using an existing libclamav
# instead of the just built one. This should rather be fixed
@@ -72,7 +98,7 @@
%if %{with valgrind}
BuildRequires: valgrind
%endif
-%if 0%{?suse_version} > 1500
+%if %{with sysuser_vscan}
Requires(pre): group(vscan)
Requires(pre): user(vscan)
%else
@@ -114,19 +140,19 @@
between different machines and to keep scanning for viruses even
when a server goes down.
-%package -n libclamav9
+%package -n libclamav12
Summary: ClamAV antivirus engine runtime
Group: System/Libraries
-%description -n libclamav9
+%description -n libclamav12
ClamAV is an antivirus engine designed for detecting trojans,
viruses, malware and other malicious threats.
-%package -n libfreshclam2
+%package -n libfreshclam3
Summary: ClamAV updater library
Group: System/Libraries
-%description -n libfreshclam2
+%description -n libfreshclam3
ClamAV is an antivirus engine designed for detecting trojans,
viruses, malware and other malicious threats.
@@ -141,8 +167,8 @@
%package devel
Summary: Development files for libclamav, an antivirus engine
Group: Development/Libraries/C and C++
-Requires: libclamav9 = %{version}
-Requires: libfreshclam2 = %{version}
+Requires: libclamav12 = %{version}
+Requires: libfreshclam3 = %{version}
%description devel
ClamAV is an antivirus engine designed for detecting trojans,
@@ -155,102 +181,93 @@
%setup -q
%patch -P 1
%patch -P 5
-%patch -P 6
%patch -P 12
-%patch -P 14 -p1
+%patch -P 14
+%patch -P 15
chmod -x docs/html/images/flamegraph.svg
%build
-%if 0%{?suse_version} <= 1500
+%if %{without sysuser_vscan}
# Create vscan user
%sysusers_generate_pre %{SOURCE65} vscan
%endif
-CFLAGS="-fstack-protector"
-CXXFLAGS="-fstack-protector"
-export CFLAGS="%optflags $CFLAGS -fPIE -fno-strict-aliasing"
-export CXXFLAGS="%optflags $CXXFLAGS -fPIE -fno-strict-aliasing"
-export LDFLAGS="-pie"
-%if "%{_lib}" == "lib64"
-# tomsfastmath needs this for correct operation on 64-bit platforms
-CFLAGS="$CFLAGS -DFP_64BIT"
-%endif
-%configure \
- --disable-clamav \
- --disable-static \
- --with-dbdir=%{_localstatedir}/lib/clamav \
- --with-user=vscan \
- --with-group=vscan \
- --enable-milter \
- --enable-check \
- --enable-clamdtop \
- --disable-yara \
+%cmake \
+%if "%{?vgcc}" != ""
+ -DCMAKE_C_COMPILER=gcc-%{vgcc} \
+ -DCMAKE_CXX_COMPILER=g++-%{vgcc} \
+%endif
+ -DCMAKE_BUILD_TYPE=DEBUG \
+ -DCLAMAV_USER=vscan \
+ -DCLAMAV_GROUP=vscan \
+ -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%name \
+ -DAPP_CONFIG_DIRECTORY:PATH=%_sysconfdir \
+ -DDATABASE_DIRECTORY:PATH=%_localstatedir/lib/clamav \
+ -DENABLE_CLAMONACC=ON \
+ -DENABLE_MILTER=ON \
+ -DSYSTEMD_UNIT_DIR=%{_unitdir} \
%if %{without clammspack}
- --with-system-libmspack
+ -DENABLE_EXTERNAL_MSPACK=ON
%endif
-%make_build
-
%install
-%make_install
+
+%cmake_install
install -d -m755 %{buildroot}%{_localstatedir}/lib/clamav
install -d -m755 %{buildroot}%{_tmpfilesdir}
install -m644 %SOURCE6 %{buildroot}%{_tmpfilesdir}/clamav.conf
%if 0%{?suse_version} <= 1500
mkdir -p %{buildroot}%{_localstatedir}/spool/amavis
%endif
-mkdir -p -m 0755 %{buildroot}/run/clamav
+mkdir -p -m 0755 %{buildroot}{%_sysconfdir,/run/clamav}
find %{buildroot} -type f -name "*.la" -delete -print
-# libclammspack is not meant to be linked against by anything but
-# libclamav
-rm -f %{buildroot}%{_libdir}/pkgconfig/libclammspack.pc
-rm -f %{buildroot}%{_libdir}/libclammspack.so
-
-# fix the new config file names
-mv %{buildroot}%{_sysconfdir}/clamd.conf{.sample,}
-mv %{buildroot}%{_sysconfdir}/clamav-milter.conf{.sample,}
-mv %{buildroot}%{_sysconfdir}/freshclam.conf{.sample,}
+for f in %{buildroot}%{_sysconfdir}/*.conf.sample;
+do
+ mv $f ${f%.sample}
+done
# Systemd...
-install -d -m 0755 %{buildroot}%{_unitdir}
rm -f %{buildroot}%{_unitdir}/clamav-*
install -m 0644 %SOURCE7 %{buildroot}%{_unitdir}/clamd.service
install -m 0644 %SOURCE8 %{buildroot}%{_unitdir}/freshclam.service
install -m 0644 %SOURCE9 %{buildroot}%{_unitdir}/clamav-milter.service
install -m 0644 %SOURCE10 %{buildroot}%{_unitdir}/freshclam.timer
-# this is broken if system does not have systemd so don't
-# use it at all on systems without mandatory systemd
-for srvname in clamd freshclam clamav-milter; do
- (export PATH=%_prefix/sbin:/sbin:$PATH ;ln -sf $(which service) %{buildroot}/%{_sbindir}/rc${srvname})
+install -m 0644 %SOURCE12 %{buildroot}%{_unitdir}/clamonacc.service
+for srvname in clamd freshclam clamav-milter clamonacc; do
+ (export PATH=%_prefix/sbin:/sbin:$PATH ;ln -sf service %{buildroot}/%{_sbindir}/rc${srvname})
done
%check
# regression tests
-%if !0%{?qemu_user_space_build:1}
-make check VG=1
+%if !0%{?qemu_user_space_build:1} && ( 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150500 )
+# Run ctest with a single job to avoid failures
+# due to race conditions, e.g. on s390x.
+%define _smp_mflags -j1
+%ctest
+%undefine _smp_mflags
%endif
-%if 0%{?suse_version} > 1500
+%if %{with sysuser_vscan}
%pre
%else
%pre -f vscan.pre
%endif
-%service_add_pre clamd.service
+%service_add_pre clamd.service clamonacc.service
%post
%tmpfiles_create %{_tmpfilesdir}/clamav.conf
-%service_add_post clamd.service
+%service_add_post clamd.service clamonacc.service
%preun
if [ $1 -eq 0 ]; then
# package will be uninstalled
rm -f %{_localstatedir}/lib/clamav/*
fi
-%service_del_preun clamd.service
+%service_del_preun clamd.service clamonacc.service
%postun
-%service_del_postun clamd.service
+%service_del_postun clamd.service clamonacc.service
%pre milter
%service_add_pre clamav-milter.service
@@ -265,16 +282,16 @@
%service_del_postun clamav-milter.service
%if 0%{?suse_version} > 1500
-%ldconfig_scriptlets -n libclamav9
-%ldconfig_scriptlets -n libfreshclam2
+%ldconfig_scriptlets -n libclamav12
+%ldconfig_scriptlets -n libfreshclam3
%if %{with clammspack}
%ldconfig_scriptlets -n libclammspack0
%endif
%else
-%post -n libclamav9 -p /sbin/ldconfig
-%postun -n libclamav9 -p /sbin/ldconfig
-%post -n libfreshclam2 -p /sbin/ldconfig
-%postun -n libfreshclam2 -p /sbin/ldconfig
+%post -n libclamav12 -p /sbin/ldconfig
+%postun -n libclamav12 -p /sbin/ldconfig
+%post -n libfreshclam3 -p /sbin/ldconfig
+%postun -n libfreshclam3 -p /sbin/ldconfig
%if %{with clammspack}
%post -n libclammspack0 -p /sbin/ldconfig
%postun -n libclammspack0 -p /sbin/ldconfig
@@ -298,6 +315,7 @@
%{_sbindir}/clamonacc
%{_sbindir}/rcclamd
%{_sbindir}/rcfreshclam
+%{_sbindir}/rcclamonacc
%{_mandir}/man1/clambc.1%{?ext_man}
%{_mandir}/man1/clamconf.1%{?ext_man}
%{_mandir}/man1/clamdscan.1%{?ext_man}
@@ -314,6 +332,7 @@
%{_unitdir}/clamd.service
%{_unitdir}/freshclam.service
%{_unitdir}/freshclam.timer
+%{_unitdir}/clamonacc.service
%defattr(-,vscan,vscan)
%dir %{_localstatedir}/lib/clamav
%if 0%{?suse_version} <= 1500
@@ -322,7 +341,7 @@
%ghost %attr(755,vscan,vscan) /run/clamav
%files docs-html
-%doc docs/html/*
+%doc %_docdir/%name
%files milter
%config(noreplace) %{_sysconfdir}/clamav-milter.conf
@@ -332,11 +351,11 @@
%{_mandir}/man5/clamav-milter.conf.5%{?ext_man}
%{_mandir}/man8/clamav-milter.8%{?ext_man}
-%files -n libclamav9
-%{_libdir}/libclam*.so.9*
+%files -n libclamav12
+%{_libdir}/libclam*.so.12*
-%files -n libfreshclam2
-%{_libdir}/libfreshclam.so.2*
+%files -n libfreshclam3
+%{_libdir}/libfreshclam.so.3*
%if %{with clammspack}
%files -n libclammspack0
@@ -348,4 +367,5 @@
%{_libdir}/pkgconfig/*
%{_libdir}/libclam*.so
%{_libdir}/libfreshclam*.so
+%{_libdir}/libclamav_rust.a
++++++ _constraints ++++++
<constraints>
<hardware>
<disk>
<size unit="G">6</size>
</disk>
<memory>
<size unit="G">8</size>
</memory>
</hardware>
</constraints>
++++++ clamav-0.103.11.tar.gz -> clamav-1.3.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/clamav/clamav-0.103.11.tar.gz /work/SRC/openSUSE:Factory/.clamav.new.18349/clamav-1.3.1.tar.gz differ: char 5, line 1
++++++ clamav-conf.patch ++++++
--- /var/tmp/diff_new_pack.W2iroa/_old 2024-07-02 18:17:43.482218432 +0200
+++ /var/tmp/diff_new_pack.W2iroa/_new 2024-07-02 18:17:43.486218578 +0200
@@ -1,7 +1,9 @@
--- etc/clamav-milter.conf.sample.orig
+++ etc/clamav-milter.conf.sample
-@@ -2,10 +2,6 @@
- ## Example config file for clamav-milter
+@@ -1,11 +1,7 @@
+ ##
+-## Example config file for clamav-milter
++## config file for clamav-milter
##
-# Comment or remove the line below.
@@ -11,17 +13,16 @@
##
## Main options
##
-@@ -17,8 +13,7 @@ Example
+@@ -17,7 +13,7 @@ Example
# inet6:port@[hostname|ip-address] - to specify an ipv6 socket
#
# Default: no default
--#MilterSocket /tmp/clamav-milter.socket
--#MilterSocket inet:7357
-+MilterSocket /run/clamav/clamav-milter-socket
-
- # Define the group ownership for the (unix) milter socket.
- # Default: disabled (the primary group of the user running clamd)
-@@ -37,7 +32,7 @@ Example
+-#MilterSocket /run/clamav/clamav-milter.sock
++MilterSocket /run/clamav/clamav-milter.sock
+ #MilterSocket /tmp/clamav-milter.sock
+ #MilterSocket inet:7357
+
+@@ -38,7 +34,7 @@ Example
# to work)
#
# Default: unset (don't drop privileges)
@@ -30,25 +31,25 @@
# Waiting for data from clamd will timeout after this time (seconds).
# Value of 0 disables the timeout.
-@@ -61,7 +56,7 @@ Example
+@@ -65,7 +61,7 @@ Example
# also owned by root to keep other users from tampering with it.
#
# Default: disabled
--#PidFile /var/run/clamav-milter.pid
+-#PidFile /run/clamav/clamav-milter.pid
+PidFile /run/clamav/clamav-milter.pid
# Optional path to the global temporary directory.
# Default: system specific (usually /tmp or /var/tmp).
-@@ -88,7 +83,7 @@ Example
- # fashion.
+@@ -93,7 +89,7 @@ Example
#
# Default: no default
--#ClamdSocket tcp:scanner.mydomain:7357
-+ClamdSocket unix:/run/clamav/clamd-socket
+ #ClamdSocket tcp:scanner.mydomain:7357
+-#ClamdSocket unix:/run/clamav/clamd.sock
++ClamdSocket unix:/run/clamav/clamd.sock
##
-@@ -238,13 +233,13 @@ Example
+@@ -243,13 +239,13 @@ Example
# Use system logger (can work together with LogFile).
#
# Default: no
@@ -95,25 +96,25 @@
# Enable verbose logging.
# Default: no
-@@ -71,7 +67,7 @@ Example
+@@ -74,7 +70,7 @@ Example
# It is recommended that the directory where this file is stored is
# also owned by root to keep other users from tampering with it.
# Default: disabled
--#PidFile /var/run/clamd.pid
+-#PidFile /run/clamav/clamd.pid
+PidFile /run/clamav/clamd.pid
# Optional path to the global temporary directory.
# Default: system specific (usually /tmp or /var/tmp).
-@@ -90,7 +86,7 @@ Example
+@@ -98,7 +94,7 @@ Example
# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
--#LocalSocket /tmp/clamd.socket
-+LocalSocket /run/clamav/clamd-socket
+-#LocalSocket /run/clamav/clamd.sock
++LocalSocket /run/clamav/clamd.sock
+ #LocalSocket /tmp/clamd.sock
# Sets the group ownership on the unix socket.
- # Default: disabled (the primary group of the user running clamd)
-@@ -204,7 +200,7 @@ Example
+@@ -230,7 +226,7 @@ Example
# Run as another user (clamd must be started by root for this option to work)
# Default: don't drop privileges
@@ -122,6 +123,24 @@
# Stop daemon when libclamav reports out of memory condition.
#ExitOnOOM yes
+@@ -708,7 +704,7 @@ Example
+ # multiple OnAccessIncludePath directives but each directory must be added
+ # in a separate line.
+ # Default: disabled
+-#OnAccessIncludePath /home
++OnAccessIncludePath /home
+ #OnAccessIncludePath /students
+
+ # Set the exclude paths. All subdirectories are also excluded.
+@@ -778,7 +774,7 @@ Example
+ # It has the same potential race condition limitations of the
+ # OnAccessExcludeUID option.
+ # Default: disabled
+-#OnAccessExcludeUname clamav
++OnAccessExcludeUname vscan
+
+ # Number of times the OnAccess client will retry a failed scan due to
+ # connection problems (or other issues).
--- etc/freshclam.conf.sample.orig
+++ etc/freshclam.conf.sample
@@ -1,12 +1,8 @@
@@ -138,12 +157,12 @@
# Path to the database directory.
# WARNING: It must match clamd.conf's directive!
# Default: hardcoded (depends on installation options)
-@@ -48,12 +44,12 @@ Example
+@@ -52,12 +48,12 @@ Example
# It is recommended that the directory where this file is stored is
# also owned by root to keep other users from tampering with it.
# Default: disabled
--#PidFile /var/run/freshclam.pid
-+#PidFile /run/clamav/freshclam.pid
+-#PidFile /run/clamav/freshclam.pid
++PidFile /run/clamav/freshclam.pid
# By default when started freshclam drops privileges and switches to the
# "clamav" user. This directive allows you to change the database owner.
@@ -153,7 +172,7 @@
# Use DNS to verify virus database version. FreshClam uses DNS TXT records
# to verify database and software versions. With this directive you can change
-@@ -127,7 +123,7 @@ DatabaseMirror database.clamav.net
+@@ -148,7 +144,7 @@ DatabaseMirror database.clamav.net
# Send the RELOAD command to clamd.
# Default: no
++++++ clamav-document-maxsize.patch ++++++
--- /var/tmp/diff_new_pack.W2iroa/_old 2024-07-02 18:17:43.498219017 +0200
+++ /var/tmp/diff_new_pack.W2iroa/_new 2024-07-02 18:17:43.502219164 +0200
@@ -1,7 +1,5 @@
-Index: clamav-0.103.2/docs/man/clamscan.1.in
-===================================================================
---- clamav-0.103.2.orig/docs/man/clamscan.1.in
-+++ clamav-0.103.2/docs/man/clamscan.1.in
+--- docs/man/clamscan.1.in.orig
++++ docs/man/clamscan.1.in
@@ -8,6 +8,18 @@ clamscan [options] [file/directory/\-]
.SH "DESCRIPTION"
.LP
@@ -21,10 +19,8 @@
.SH "OPTIONS"
.LP
Most of the options are simple switches which enable or disable some features. Options marked with [=yes/no(*)] can be optionally followed by =yes/=no; if they get called without the boolean argument the scanner will assume 'yes'. The asterisk marks the default internal setting for a given option.
-Index: clamav-0.103.2/docs/man/clamdscan.1.in
-===================================================================
---- clamav-0.103.2.orig/docs/man/clamdscan.1.in
-+++ clamav-0.103.2/docs/man/clamdscan.1.in
+--- docs/man/clamdscan.1.in.orig
++++ docs/man/clamdscan.1.in
@@ -8,6 +8,17 @@ clamdscan [options] [file/directory]
.SH "DESCRIPTION"
.LP
++++++ clamav-format.patch ++++++
--- clamdscan/client.c.orig
+++ clamdscan/client.c
@@ -239,14 +239,14 @@ int16_t ping_clamd(const struct optstruc
if (i + 1 < attempts) {
if (optget(opts, "wait")->enabled) {
if (interval == 1)
- logg(LOGG_DEBUG, "Could not connect, will try again in %lu second\n", interval);
+ logg(LOGG_DEBUG, "Could not connect, will try again in %" PRIu64 " second\n", interval);
else
- logg(LOGG_DEBUG, "Could not connect, will try again in %lu seconds\n", interval);
+ logg(LOGG_DEBUG, "Could not connect, will try again in %" PRIu64 " seconds\n", interval);
} else {
if (interval == 1)
- logg(LOGG_INFO, "Could not connect, will PING again in %lu second\n", interval);
+ logg(LOGG_INFO, "Could not connect, will PING again in %" PRIu64 " second\n", interval);
else
- logg(LOGG_INFO, "Could not connect, will PING again in %lu seconds\n", interval);
+ logg(LOGG_INFO, "Could not connect, will PING again in %" PRIu64 " seconds\n", interval);
}
sleep(interval);
}
--- clamonacc/client/client.c.orig
+++ clamonacc/client/client.c
@@ -254,14 +254,14 @@ int16_t onas_ping_clamd(struct onas_cont
if (i + 1 < attempts) {
if (optget((*ctx)->opts, "wait")->enabled) {
if (interval == 1)
- logg(LOGG_DEBUG, "Will try again in %lu second\n", interval);
+ logg(LOGG_DEBUG, "Will try again in %" PRIu64 " second\n", interval);
else
- logg(LOGG_DEBUG, "Will try again in %lu seconds\n", interval);
+ logg(LOGG_DEBUG, "Will try again in %" PRIu64 " seconds\n", interval);
} else {
if (interval == 1)
- logg(LOGG_INFO, "PINGing again in %lu second\n", interval);
+ logg(LOGG_INFO, "PINGing again in %" PRIu64 " second\n", interval);
else
- logg(LOGG_INFO, "PINGing again in %lu seconds\n", interval);
+ logg(LOGG_INFO, "PINGing again in %" PRIu64 " seconds\n", interval);
}
sleep(interval);
}
--- clamonacc/fanotif/fanotif.c.orig
+++ clamonacc/fanotif/fanotif.c
@@ -141,7 +141,7 @@ cl_error_t onas_setup_fanotif(struct ona
/* Load other options. */
(*ctx)->sizelimit = optget((*ctx)->clamdopts, "OnAccessMaxFileSize")->numarg;
if ((*ctx)->sizelimit) {
- logg(LOGG_DEBUG, "ClamFanotif: max file size limited to %lu bytes\n", (*ctx)->sizelimit);
+ logg(LOGG_DEBUG, "ClamFanotif: max file size limited to %" PRIu64 " bytes\n", (*ctx)->sizelimit);
} else {
logg(LOGG_DEBUG, "ClamFanotif: file size limit disabled\n");
}
--- libclamav/mew.c.orig
+++ libclamav/mew.c
@@ -787,7 +787,7 @@ int unmew11(char *src, uint32_t off, uin
}
if (((size_t)(src + off) < (size_t)(src)) ||
((size_t)(src + off) < (size_t)(off))) {
- cli_dbgmsg("MEW: Buffer pointer (%08zx) + offset (%08zx) exceeds max size of pointer (%08lx)\n",
+ cli_dbgmsg("MEW: Buffer pointer (%08zx) + offset (%08zx) exceeds max size of pointer (%08zx)\n",
(size_t)src, (size_t)off, SIZE_MAX);
return -1;
}
--- libclamav/pe.c.orig
+++ libclamav/pe.c
@@ -5185,12 +5185,12 @@ cl_error_t cli_peheader(fmap_t *map, str
/* If a section is truncated, adjust its size value */
if (!CLI_ISCONTAINED_0_TO(fsize, section->raw, section->rsz)) {
- cli_dbgmsg("cli_peheader: PE Section %zu raw+rsz extends past the end of the file by %lu bytes\n", section_pe_idx, (section->raw + section->rsz) - fsize);
+ cli_dbgmsg("cli_peheader: PE Section %zu raw+rsz extends past the end of the file by %zu bytes\n", section_pe_idx, (section->raw + section->rsz) - fsize);
section->rsz = fsize - section->raw;
}
if (!CLI_ISCONTAINED_0_TO(fsize, section->uraw, section->ursz)) {
- cli_dbgmsg("cli_peheader: PE Section %zu uraw+ursz extends past the end of the file by %lu bytes\n", section_pe_idx, (section->uraw + section->ursz) - fsize);
+ cli_dbgmsg("cli_peheader: PE Section %zu uraw+ursz extends past the end of the file by %zu bytes\n", section_pe_idx, (section->uraw + section->ursz) - fsize);
section->ursz = fsize - section->uraw;
}
}
--- libfreshclam/libfreshclam_internal.c.orig
+++ libfreshclam/libfreshclam_internal.c
@@ -226,7 +226,7 @@ fc_error_t load_freshclam_dat(void)
if (-1 == lseek(handle, strlen(MIRRORS_DAT_MAGIC), SEEK_SET)) {
char error_message[260];
cli_strerror(errno, error_message, 260);
- logg(LOGG_ERROR, "Can't seek to %lu, error: %s\n", strlen(MIRRORS_DAT_MAGIC), error_message);
+ logg(LOGG_ERROR, "Can't seek to %zu, error: %s\n", strlen(MIRRORS_DAT_MAGIC), error_message);
goto done;
}
--- unit_tests/check_clamav.c.orig
+++ unit_tests/check_clamav.c
@@ -1939,7 +1939,7 @@ void diff_file_mem(int fd, const char *r
ck_assert_msg(!!buf, "unable to malloc buffer: %zu", len);
p = read(fd, buf, len);
- ck_assert_msg(p == len, "file is smaller: %lu, expected: %lu", p, len);
+ ck_assert_msg(p == len, "file is smaller: %zu, expected: %zu", p, len);
p = 0;
while (len > 0) {
c1 = ref[p];
@@ -1950,10 +1950,10 @@ void diff_file_mem(int fd, const char *r
len--;
}
if (len > 0)
- ck_assert_msg(c1 == c2, "file contents mismatch at byte: %lu, was: %c, expected: %c", p, c2, c1);
+ ck_assert_msg(c1 == c2, "file contents mismatch at byte: %zu, was: %c, expected: %c", p, c2, c1);
free(buf);
p = lseek(fd, 0, SEEK_END);
- ck_assert_msg(p == reflen, "trailing garbage, file size: %ld, expected: %ld", p, reflen);
+ ck_assert_msg(p == reflen, "trailing garbage, file size: %zd, expected: %zd", p, reflen);
close(fd);
}
@@ -1969,7 +1969,7 @@ void diff_files(int fd, int ref_fd)
ck_assert_msg(lseek(ref_fd, 0, SEEK_SET) == 0, "lseek failed");
nread = read(ref_fd, ref, siz);
- ck_assert_msg(nread == siz, "short read, expected: %ld, was: %ld", siz, nread);
+ ck_assert_msg(nread == siz, "short read, expected: %ld, was: %zd", siz, nread);
close(ref_fd);
diff_file_mem(fd, ref, siz);
free(ref);
--- unit_tests/check_clamd.c.orig
+++ unit_tests/check_clamd.c
@@ -363,7 +363,7 @@ START_TEST(test_stats)
recvdata = (char *)recvfull(sockd, &len);
- ck_assert_msg(len > strlen(STATS_REPLY), "Reply has wrong size: %lu, minimum %lu, reply: %s\n",
+ ck_assert_msg(len > strlen(STATS_REPLY), "Reply has wrong size: %zu, minimum %zu, reply: %s\n",
len, strlen(STATS_REPLY), recvdata);
if (len > strlen(STATS_REPLY))
@@ -416,7 +416,7 @@ START_TEST(test_instream)
recvdata = (char *)recvfull(sockd, &len);
expect_len = strlen(EXPECT_INSTREAM);
- ck_assert_msg(len == expect_len, "Reply has wrong size: %lu, expected %lu, reply: %s\n",
+ ck_assert_msg(len == expect_len, "Reply has wrong size: %zu, expected %zu, reply: %s\n",
len, expect_len, recvdata);
rc = memcmp(recvdata, EXPECT_INSTREAM, expect_len);
@@ -494,7 +494,7 @@ static void tst_fildes(const char *cmd,
ck_assert_msg(sscanf(recvdata, "fd[%u]", &rc) == 1, "Reply doesn't contain fd: %s\n", recvdata);
len -= p - recvdata;
- ck_assert_msg(len == expect_len, "Reply has wrong size: %lu, expected %lu, reply: %s, expected: %s\n",
+ ck_assert_msg(len == expect_len, "Reply has wrong size: %zu, expected %zu, reply: %s, expected: %s\n",
len, expect_len, p, expect);
rc = memcmp(p, expect, expect_len);
--- libclamav/others_common.c.orig
+++ libclamav/others_common.c
@@ -312,7 +312,7 @@ char *cli_strdup(const char *s)
}
alloc = strdup(s);
-
+
if (!alloc) {
perror("strdup_problem");
cli_errmsg("cli_strdup(): Can't allocate memory (%u bytes).\n", (unsigned int)strlen(s));
++++++ clamav-obsolete-config.patch ++++++
--- /var/tmp/diff_new_pack.W2iroa/_old 2024-07-02 18:17:43.526220042 +0200
+++ /var/tmp/diff_new_pack.W2iroa/_new 2024-07-02 18:17:43.530220188 +0200
@@ -1,6 +1,6 @@
---- shared/optparser.c.orig
-+++ shared/optparser.c
-@@ -517,6 +517,13 @@ const struct clam_option __clam_options[
+--- common/optparser.c.orig
++++ common/optparser.c
+@@ -598,6 +598,13 @@ const struct clam_option __clam_options[
{"MailFollowURLs", "mail-follow-urls", 0, CLOPT_TYPE_BOOL, MATCH_BOOL, -1, NULL, 0, OPT_CLAMD | OPT_CLAMSCAN | OPT_DEPRECATED, "", ""},
{"AllowSupplementaryGroups", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_MILTER | OPT_DEPRECATED, "Initialize a supplementary group access (the process must be started by root).", "no"},
{"ScanOnAccess", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, -1, NULL, 0, OPT_CLAMD | OPT_DEPRECATED, "", ""},
++++++ service.clamonacc ++++++
[Unit]
Description=ClamAV On-Access Scanner
Documentation=man:clamonacc(8) man:clamd.conf(5) https://docs.clamav.net/
Requires=clamd.service
After=clamd.service syslog.target network.target
[Service]
Type=forking
User=root
ExecStart=/usr/sbin/clamonacc --ping 30:10 --wait
[Install]
WantedBy=multi-user.target
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-lmdb for openSUSE:Factory checked in at 2024-07-02 18:17:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-lmdb (Old)
and /work/SRC/openSUSE:Factory/.python-lmdb.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-lmdb"
Tue Jul 2 18:17:35 2024 rev:12 rq:1184348 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-lmdb/python-lmdb.changes 2023-04-07 18:16:55.504752374 +0200
+++ /work/SRC/openSUSE:Factory/.python-lmdb.new.18349/python-lmdb.changes 2024-07-02 18:17:38.970053317 +0200
@@ -1,0 +2,5 @@
+Mon Jul 1 16:53:38 UTC 2024 - Mia Herkt <mia(a)0x0.st>
+
+- Update to 1.5.1 (no changes for openSUSE)
+
+-------------------------------------------------------------------
Old:
----
lmdb-1.4.1.tar.gz
New:
----
lmdb-1.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-lmdb.spec ++++++
--- /var/tmp/diff_new_pack.lqa0Wm/_old 2024-07-02 18:17:40.890123579 +0200
+++ /var/tmp/diff_new_pack.lqa0Wm/_new 2024-07-02 18:17:40.890123579 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-lmdb
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 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,13 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-lmdb
-Version: 1.4.1
+Version: 1.5.1
Release: 0
Summary: Universal Python binding for the LMDB 'Lightning' Database
License: OLDAP-2.8
Group: Development/Languages/Python
-URL: http://github.com/dw/py-lmdb/
+URL: https://github.com/dw/py-lmdb/
Source: https://files.pythonhosted.org/packages/source/l/lmdb/lmdb-%{version}.tar.gz
BuildRequires: %{python_module cffi}
BuildRequires: %{python_module devel}
@@ -62,7 +61,7 @@
%check
%python_exec setup.py develop --user
%python_exec -c 'import lmdb.cpython'
-%python_exec -m pytest -v tests
+%pytest tests
%install
%python_install
@@ -71,5 +70,6 @@
%files %{python_files}
%license LICENSE
%doc README.md ChangeLog
-%{python_sitearch}/*
+%{python_sitearch}/lmdb
+%{python_sitearch}/lmdb-%{version}*-info
++++++ lmdb-1.4.1.tar.gz -> lmdb-1.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/ChangeLog new/lmdb-1.5.1/ChangeLog
--- old/lmdb-1.4.1/ChangeLog 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/ChangeLog 2024-07-01 08:57:53.000000000 +0200
@@ -1,3 +1,13 @@
+2024-07-01 1.5.1
+* CI-only fix.
+
+2024-06-30 1.5.0
+* Add Python 3.12 binaries.
+
+* Update bundled LMDB to 0.9.31.
+
+* Remove Python 2.7 support.
+
2022-04-04 v1.4.1
* Update CI to build manylinux binaries.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/PKG-INFO new/lmdb-1.5.1/PKG-INFO
--- old/lmdb-1.4.1/PKG-INFO 2023-04-06 08:42:21.875925800 +0200
+++ new/lmdb-1.5.1/PKG-INFO 2024-07-01 08:58:03.667085200 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: lmdb
-Version: 1.4.1
+Version: 1.5.1
Summary: Universal Python binding for the LMDB 'Lightning' Database
Home-page: http://github.com/jnwatson/py-lmdb/
Author: David Wilson
@@ -9,10 +9,7 @@
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
@@ -20,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: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Description-Content-Type: text/plain
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/README.md new/lmdb-1.5.1/README.md
--- old/lmdb-1.4.1/README.md 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/README.md 2024-07-01 08:57:53.000000000 +0200
@@ -7,11 +7,7 @@
# Python Version Support Statement
-This project has been around for a while. Previously, it supported all the way back to before 2.5. Currently py-lmdb
-supports Python 2.7, Python >= 3.5, and pypy.
-
-Python 2.7 is now end-of-life. If you are still using Python 2.7, you should strongly considering porting to Python
-3.
-
-That said, this project will continue to support running on Python 2.7 until Github Actions remove support for it.
+This project has been around for a while. Previously, it supported all the way back to before 2.5. Currently, py-lmdb
+supports Python >= 3.5 and pypy.
+The last version of py-lmdb that supported Python 2.7 was 1.4.1.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/docs/index.rst new/lmdb-1.5.1/docs/index.rst
--- old/lmdb-1.4.1/docs/index.rst 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/docs/index.rst 2024-07-01 08:57:53.000000000 +0200
@@ -11,9 +11,8 @@
This is a universal Python binding for the `LMDB 'Lightning' Database
<http://lmdb.tech/>`_. Two variants are provided and automatically selected
during install: a `CFFI <https://cffi.readthedocs.io/en/release-0.5/>`_ variant
-that supports `PyPy <http://www.pypy.org/>`_ and all versions of CPython >=2.7,
-and a C extension that supports CPython >=2.7 and >=3.4. Both variants
-provide the same interface.
+that supports `PyPy <http://www.pypy.org/>`_ and all versions of CPython >=3.5,
+and a C extension that supports >= 3.5. Both variants provide the same interface.
LMDB is a tiny database with some excellent properties:
@@ -41,21 +40,12 @@
present. The binary releases statically link against the bundled version of
LMDB.
-Initially 32-bit and 64-bit binaries are provided for Python 2.7; in future
-binaries will be published for all supported versions of Python.
-
To install, use a command like:
::
C:\Python27\python -mpip install lmdb
-Or:
-
- ::
-
- C:\Python27\python -measy_install lmdb
-
Installation: UNIX
++++++++++++++++++
@@ -78,14 +68,12 @@
apt-get install libffi-dev python-dev build-essential
-To install the C extension, ensure a C compiler and `pip` or `easy_install` are
+To install the C extension, ensure a C compiler and `pip` are
available and type:
::
pip install lmdb
- # or
- easy_install lmdb
The CFFI variant may be used on CPython by setting the ``LMDB_FORCE_CFFI``
environment variable before installation, or before module import with an
@@ -194,21 +182,11 @@
Bytestrings
+++++++++++
-This documentation uses `bytestring` to mean either the Python<=2.7
-:py:func:`str` type, or the Python>=3.0 :py:func:`bytes` type, depending on the
-Python version in use.
-
-Due to the design of Python 2.x, LMDB will happily accept Unicode instances
-where :py:func:`str` instances are expected, so long as they contain only ASCII
-characters, in which case they are implicitly encoded to ASCII. You should not
-rely on this behaviour! It results in brittle programs that often break the
-moment they are deployed in production. Always explicitly encode and decode any
-Unicode values before passing them to LMDB.
+This documentation uses `bytestring` to mean the Python>=3.0 :py:func:`bytes`
+type.
This documentation uses :py:func:`bytes` in examples. In Python 3.x this is a
-distinct type, whereas in Python 2.7 it is simply an alias for
-:py:func:`str`.
-
+distinct type.
Buffers
+++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lib/lmdb.h new/lmdb-1.5.1/lib/lmdb.h
--- old/lmdb-1.4.1/lib/lmdb.h 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/lib/lmdb.h 2024-07-01 08:57:53.000000000 +0200
@@ -200,7 +200,7 @@
/** Library minor version */
#define MDB_VERSION_MINOR 9
/** Library patch version */
-#define MDB_VERSION_PATCH 29
+#define MDB_VERSION_PATCH 31
/** Combine args a,b,c into a single integer for easy version comparisons */
#define MDB_VERINT(a,b,c) (((a) << 24) | ((b) << 16) | (c))
@@ -210,7 +210,7 @@
MDB_VERINT(MDB_VERSION_MAJOR,MDB_VERSION_MINOR,MDB_VERSION_PATCH)
/** The release date of this library version */
-#define MDB_VERSION_DATE "March 16, 2021"
+#define MDB_VERSION_DATE "July 10, 2023"
/** A stringifier for the version info */
#define MDB_VERSTR(a,b,c,d) "LMDB " #a "." #b "." #c ": (" d ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lib/mdb.c new/lmdb-1.5.1/lib/mdb.c
--- old/lmdb-1.4.1/lib/mdb.c 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/lib/mdb.c 2024-07-01 08:57:53.000000000 +0200
@@ -77,8 +77,7 @@
#if defined(__mips) && defined(__linux)
/* MIPS has cache coherency issues, requires explicit cache control */
-#include <asm/cachectl.h>
-extern int cacheflush(char *addr, int nbytes, int cache);
+#include <sys/cachectl.h>
#define CACHEFLUSH(addr, bytes, cache) cacheflush(addr, bytes, cache)
#else
#define CACHEFLUSH(addr, bytes, cache)
@@ -200,15 +199,21 @@
# error "Two's complement, reasonably sized integer types, please"
#endif
-#ifdef __GNUC__
-/** Put infrequently used env functions in separate section */
-# ifdef __APPLE__
-# define ESECT __attribute__ ((section("__TEXT,text_env")))
+#if (((__clang_major__ << 8) | __clang_minor__) >= 0x0302) || (((__GNUC__ << 8) | __GNUC_MINOR__) >= 0x0403)
+/** Mark infrequently used env functions as cold. This puts them in a separate
+ * section, and optimizes them for size */
+#define ESECT __attribute__ ((cold))
+#else
+/* On older compilers, use a separate section */
+# ifdef __GNUC__
+# ifdef __APPLE__
+# define ESECT __attribute__ ((section("__TEXT,text_env")))
+# else
+# define ESECT __attribute__ ((section("text_env")))
+# endif
# else
-# define ESECT __attribute__ ((section("text_env")))
+# define ESECT
# endif
-#else
-#define ESECT
#endif
#ifdef _WIN32
@@ -833,9 +838,26 @@
} pb;
uint32_t pb_pages; /**< number of overflow pages */
} mp_pb;
- indx_t mp_ptrs[1]; /**< dynamic size */
+ indx_t mp_ptrs[0]; /**< dynamic size */
} MDB_page;
+/** Alternate page header, for 2-byte aligned access */
+typedef struct MDB_page2 {
+ uint16_t mp2_p[sizeof(pgno_t)/2];
+ uint16_t mp2_pad;
+ uint16_t mp2_flags;
+ indx_t mp2_lower;
+ indx_t mp2_upper;
+ indx_t mp2_ptrs[0];
+} MDB_page2;
+
+#define MP_PGNO(p) (((MDB_page2 *)(void *)(p))->mp2_p)
+#define MP_PAD(p) (((MDB_page2 *)(void *)(p))->mp2_pad)
+#define MP_FLAGS(p) (((MDB_page2 *)(void *)(p))->mp2_flags)
+#define MP_LOWER(p) (((MDB_page2 *)(void *)(p))->mp2_lower)
+#define MP_UPPER(p) (((MDB_page2 *)(void *)(p))->mp2_upper)
+#define MP_PTRS(p) (((MDB_page2 *)(void *)(p))->mp2_ptrs)
+
/** Size of the page header, excluding dynamic data at the end */
#define PAGEHDRSZ ((unsigned) offsetof(MDB_page, mp_ptrs))
@@ -846,10 +868,10 @@
#define PAGEBASE ((MDB_DEVEL) ? PAGEHDRSZ : 0)
/** Number of nodes on a page */
-#define NUMKEYS(p) (((p)->mp_lower - (PAGEHDRSZ-PAGEBASE)) >> 1)
+#define NUMKEYS(p) ((MP_LOWER(p) - (PAGEHDRSZ-PAGEBASE)) >> 1)
/** The amount of space remaining in the page */
-#define SIZELEFT(p) (indx_t)((p)->mp_upper - (p)->mp_lower)
+#define SIZELEFT(p) (indx_t)(MP_UPPER(p) - MP_LOWER(p))
/** The percentage of space used in the page, in tenths of a percent. */
#define PAGEFILL(env, p) (1000L * ((env)->me_psize - PAGEHDRSZ - SIZELEFT(p)) / \
@@ -860,15 +882,15 @@
#define FILL_THRESHOLD 250
/** Test if a page is a leaf page */
-#define IS_LEAF(p) F_ISSET((p)->mp_flags, P_LEAF)
+#define IS_LEAF(p) F_ISSET(MP_FLAGS(p), P_LEAF)
/** Test if a page is a LEAF2 page */
-#define IS_LEAF2(p) F_ISSET((p)->mp_flags, P_LEAF2)
+#define IS_LEAF2(p) F_ISSET(MP_FLAGS(p), P_LEAF2)
/** Test if a page is a branch page */
-#define IS_BRANCH(p) F_ISSET((p)->mp_flags, P_BRANCH)
+#define IS_BRANCH(p) F_ISSET(MP_FLAGS(p), P_BRANCH)
/** Test if a page is an overflow page */
-#define IS_OVERFLOW(p) F_ISSET((p)->mp_flags, P_OVERFLOW)
+#define IS_OVERFLOW(p) F_ISSET(MP_FLAGS(p), P_OVERFLOW)
/** Test if a page is a sub page */
-#define IS_SUBP(p) F_ISSET((p)->mp_flags, P_SUBP)
+#define IS_SUBP(p) F_ISSET(MP_FLAGS(p), P_SUBP)
/** The number of overflow pages needed to store the given size. */
#define OVPAGES(size, psize) ((PAGEHDRSZ-1 + (size)) / (psize) + 1)
@@ -936,7 +958,7 @@
#define LEAFSIZE(k, d) (NODESIZE + (k)->mv_size + (d)->mv_size)
/** Address of node \b i in page \b p */
-#define NODEPTR(p, i) ((MDB_node *)((char *)(p) + (p)->mp_ptrs[i] + PAGEBASE))
+#define NODEPTR(p, i) ((MDB_node *)((char *)(p) + MP_PTRS(p)[i] + PAGEBASE))
/** Address of the key for the node */
#define NODEKEY(node) (void *)((node)->mn_data)
@@ -964,6 +986,8 @@
/** Copy a page number from src to dst */
#ifdef MISALIGNED_OK
#define COPY_PGNO(dst,src) dst = src
+#undef MP_PGNO
+#define MP_PGNO(p) ((p)->mp_pgno)
#else
#if SIZE_MAX > 4294967295UL
#define COPY_PGNO(dst,src) do { \
@@ -1517,6 +1541,8 @@
NULL, err, 0, ptr, MSGSIZE, (va_list *)buf+MSGSIZE);
return ptr;
#else
+ if (err < 0)
+ return "Invalid error code";
return strerror(err);
#endif
}
@@ -1554,7 +1580,7 @@
mdb_dbg_pgno(MDB_page *mp)
{
pgno_t ret;
- COPY_PGNO(ret, mp->mp_pgno);
+ COPY_PGNO(ret, MP_PGNO(mp));
return ret;
}
@@ -1601,13 +1627,13 @@
mdb_page_list(MDB_page *mp)
{
pgno_t pgno = mdb_dbg_pgno(mp);
- const char *type, *state = (mp->mp_flags & P_DIRTY) ? ", dirty" : "";
+ const char *type, *state = (MP_FLAGS(mp) & P_DIRTY) ? ", dirty" : "";
MDB_node *node;
unsigned int i, nkeys, nsize, total = 0;
MDB_val key;
DKBUF;
- switch (mp->mp_flags & (P_BRANCH|P_LEAF|P_LEAF2|P_META|P_OVERFLOW|P_SUBP)) {
+ switch (MP_FLAGS(mp) & (P_BRANCH|P_LEAF|P_LEAF2|P_META|P_OVERFLOW|P_SUBP)) {
case P_BRANCH: type = "Branch page"; break;
case P_LEAF: type = "Leaf page"; break;
case P_LEAF|P_SUBP: type = "Sub-page"; break;
@@ -1622,7 +1648,7 @@
pgno, ((MDB_meta *)METADATA(mp))->mm_txnid);
return;
default:
- fprintf(stderr, "Bad page %"Z"u flags 0x%X\n", pgno, mp->mp_flags);
+ fprintf(stderr, "Bad page %"Z"u flags 0x%X\n", pgno, MP_FLAGS(mp));
return;
}
@@ -1658,7 +1684,7 @@
total = EVEN(total);
}
fprintf(stderr, "Total: header %d + contents %d + unused %d\n",
- IS_LEAF2(mp) ? PAGEHDRSZ : PAGEBASE + mp->mp_lower, total, SIZELEFT(mp));
+ IS_LEAF2(mp) ? PAGEHDRSZ : PAGEBASE + MP_LOWER(mp), total, SIZELEFT(mp));
}
void
@@ -2418,7 +2444,7 @@
pgno_t pgno;
int rc;
- if (!F_ISSET(mp->mp_flags, P_DIRTY)) {
+ if (!F_ISSET(MP_FLAGS(mp), P_DIRTY)) {
if (txn->mt_flags & MDB_TXN_SPILLS) {
np = NULL;
rc = mdb_page_unspill(txn, mp, &np);
@@ -6061,7 +6087,7 @@
mc->mc_ki[mc->mc_top] = 0;
return MDB_NOTFOUND;
}
- if (mp->mp_flags & P_LEAF2) {
+ if (MP_FLAGS(mp) & P_LEAF2) {
nodekey.mv_size = mc->mc_db->md_pad;
nodekey.mv_data = LEAF2KEY(mp, 0, nodekey.mv_size);
} else {
@@ -6082,7 +6108,7 @@
unsigned int i;
unsigned int nkeys = NUMKEYS(mp);
if (nkeys > 1) {
- if (mp->mp_flags & P_LEAF2) {
+ if (MP_FLAGS(mp) & P_LEAF2) {
nodekey.mv_data = LEAF2KEY(mp,
nkeys-1, nodekey.mv_size);
} else {
@@ -6100,7 +6126,7 @@
if (rc < 0) {
if (mc->mc_ki[mc->mc_top] < NUMKEYS(mp)) {
/* This is definitely the right page, skip search_page */
- if (mp->mp_flags & P_LEAF2) {
+ if (MP_FLAGS(mp) & P_LEAF2) {
nodekey.mv_data = LEAF2KEY(mp,
mc->mc_ki[mc->mc_top], nodekey.mv_size);
} else {
@@ -6477,6 +6503,7 @@
rc = MDB_NOTFOUND;
break;
}
+ mc->mc_flags &= ~C_EOF;
{
MDB_node *leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]);
if (!F_ISSET(leaf->mn_flags, F_DUPDATA)) {
@@ -6663,7 +6690,7 @@
*mc->mc_dbflag |= DB_DIRTY;
if ((mc->mc_db->md_flags & (MDB_DUPSORT|MDB_DUPFIXED))
== MDB_DUPFIXED)
- np->mp_flags |= P_LEAF2;
+ MP_FLAGS(np) |= P_LEAF2;
mc->mc_flags |= C_INITIALIZED;
} else {
/* make sure all cursor pages are writable */
@@ -6685,7 +6712,7 @@
fp_flags = P_LEAF|P_DIRTY;
fp = env->me_pbuf;
fp->mp_pad = data->mv_size; /* used if MDB_DUPFIXED */
- fp->mp_lower = fp->mp_upper = (PAGEHDRSZ-PAGEBASE);
+ MP_LOWER(fp) = MP_UPPER(fp) = (PAGEHDRSZ-PAGEBASE);
olddata.mv_size = PAGEHDRSZ;
goto prep_subDB;
}
@@ -6761,18 +6788,18 @@
dkey.mv_data = memcpy(fp+1, olddata.mv_data, olddata.mv_size);
/* Make sub-page header for the dup items, with dummy body */
- fp->mp_flags = P_LEAF|P_DIRTY|P_SUBP;
- fp->mp_lower = (PAGEHDRSZ-PAGEBASE);
+ MP_FLAGS(fp) = P_LEAF|P_DIRTY|P_SUBP;
+ MP_LOWER(fp) = (PAGEHDRSZ-PAGEBASE);
xdata.mv_size = PAGEHDRSZ + dkey.mv_size + data->mv_size;
if (mc->mc_db->md_flags & MDB_DUPFIXED) {
- fp->mp_flags |= P_LEAF2;
+ MP_FLAGS(fp) |= P_LEAF2;
fp->mp_pad = data->mv_size;
xdata.mv_size += 2 * data->mv_size; /* leave space for 2 more */
} else {
xdata.mv_size += 2 * (sizeof(indx_t) + NODESIZE) +
(dkey.mv_size & 1) + (data->mv_size & 1);
}
- fp->mp_upper = xdata.mv_size - PAGEBASE;
+ MP_UPPER(fp) = xdata.mv_size - PAGEBASE;
olddata.mv_size = xdata.mv_size; /* pretend olddata is fp */
} else if (leaf->mn_flags & F_SUBDATA) {
/* Data is on sub-DB, just store it */
@@ -6795,8 +6822,8 @@
}
/* FALLTHRU */ /* Big enough MDB_DUPFIXED sub-page */
case MDB_CURRENT:
- fp->mp_flags |= P_DIRTY;
- COPY_PGNO(fp->mp_pgno, mp->mp_pgno);
+ MP_FLAGS(fp) |= P_DIRTY;
+ COPY_PGNO(MP_PGNO(fp), MP_PGNO(mp));
mc->mc_xcursor->mx_cursor.mc_pg[0] = fp;
flags |= F_DUPDATA;
goto put_sub;
@@ -6804,7 +6831,7 @@
xdata.mv_size = olddata.mv_size + offset;
}
- fp_flags = fp->mp_flags;
+ fp_flags = MP_FLAGS(fp);
if (NODESIZE + NODEKSZ(leaf) + xdata.mv_size > env->me_nodemax) {
/* Too big for a sub-page, convert to sub-DB */
fp_flags &= ~P_SUBP;
@@ -6834,16 +6861,16 @@
sub_root = mp;
}
if (mp != fp) {
- mp->mp_flags = fp_flags | P_DIRTY;
- mp->mp_pad = fp->mp_pad;
- mp->mp_lower = fp->mp_lower;
- mp->mp_upper = fp->mp_upper + offset;
+ MP_FLAGS(mp) = fp_flags | P_DIRTY;
+ MP_PAD(mp) = MP_PAD(fp);
+ MP_LOWER(mp) = MP_LOWER(fp);
+ MP_UPPER(mp) = MP_UPPER(fp) + offset;
if (fp_flags & P_LEAF2) {
memcpy(METADATA(mp), METADATA(fp), NUMKEYS(fp) * fp->mp_pad);
} else {
- memcpy((char *)mp + mp->mp_upper + PAGEBASE, (char *)fp + fp->mp_upper + PAGEBASE,
- olddata.mv_size - fp->mp_upper - PAGEBASE);
- memcpy((char *)(&mp->mp_ptrs), (char *)(&fp->mp_ptrs), NUMKEYS(fp) * sizeof(mp->mp_ptrs[0]));
+ memcpy((char *)mp + MP_UPPER(mp) + PAGEBASE, (char *)fp + MP_UPPER(fp) + PAGEBASE,
+ olddata.mv_size - MP_UPPER(fp) - PAGEBASE);
+ memcpy((char *)MP_PTRS(mp), (char *)MP_PTRS(fp), NUMKEYS(fp) * sizeof(mp->mp_ptrs[0]));
for (i=0; i<NUMKEYS(fp); i++)
mp->mp_ptrs[i] += offset;
}
@@ -6908,7 +6935,7 @@
* Copy end of page, adjusting alignment so
* compiler may copy words instead of bytes.
*/
- off = (PAGEHDRSZ + data->mv_size) & -sizeof(size_t);
+ off = (PAGEHDRSZ + data->mv_size) & -(int)sizeof(size_t);
memcpy((size_t *)((char *)np + off),
(size_t *)((char *)omp + off), sz - off);
sz = PAGEHDRSZ;
@@ -6936,11 +6963,14 @@
else if (!(mc->mc_flags & C_SUB))
memcpy(olddata.mv_data, data->mv_data, data->mv_size);
else {
+ if (key->mv_size != NODEKSZ(leaf))
+ goto new_ksize;
memcpy(NODEKEY(leaf), key->mv_data, key->mv_size);
goto fix_parent;
}
return MDB_SUCCESS;
}
+new_ksize:
mdb_node_del(mc, 0);
}
@@ -7291,7 +7321,7 @@
void *ndata;
DKBUF;
- mdb_cassert(mc, mp->mp_upper >= mp->mp_lower);
+ mdb_cassert(mc, MP_UPPER(mp) >= MP_LOWER(mp));
DPRINTF(("add to %s %spage %"Z"u index %i, data size %"Z"u key size %"Z"u [%s]",
IS_LEAF(mp) ? "leaf" : "branch",
@@ -7310,8 +7340,8 @@
memcpy(ptr, key->mv_data, ksize);
/* Just using these for counting */
- mp->mp_lower += sizeof(indx_t);
- mp->mp_upper -= ksize - sizeof(indx_t);
+ MP_LOWER(mp) += sizeof(indx_t);
+ MP_UPPER(mp) -= ksize - sizeof(indx_t);
return MDB_SUCCESS;
}
@@ -7348,14 +7378,14 @@
update:
/* Move higher pointers up one slot. */
for (i = NUMKEYS(mp); i > indx; i--)
- mp->mp_ptrs[i] = mp->mp_ptrs[i - 1];
+ MP_PTRS(mp)[i] = MP_PTRS(mp)[i - 1];
/* Adjust free space offsets. */
- ofs = mp->mp_upper - node_size;
- mdb_cassert(mc, ofs >= mp->mp_lower + sizeof(indx_t));
- mp->mp_ptrs[indx] = ofs;
- mp->mp_upper = ofs;
- mp->mp_lower += sizeof(indx_t);
+ ofs = MP_UPPER(mp) - node_size;
+ mdb_cassert(mc, ofs >= MP_LOWER(mp) + sizeof(indx_t));
+ MP_PTRS(mp)[indx] = ofs;
+ MP_UPPER(mp) = ofs;
+ MP_LOWER(mp) += sizeof(indx_t);
/* Write the node data. */
node = NODEPTR(mp, indx);
@@ -7393,7 +7423,7 @@
full:
DPRINTF(("not enough room in page %"Z"u, got %u ptrs",
mdb_dbg_pgno(mp), NUMKEYS(mp)));
- DPRINTF(("upper-lower = %u - %u = %"Z"d", mp->mp_upper,mp->mp_lower,room));
+ DPRINTF(("upper-lower = %u - %u = %"Z"d", MP_UPPER(mp),MP_LOWER(mp),room));
DPRINTF(("node size = %"Z"u", node_size));
mc->mc_txn->mt_flags |= MDB_TXN_ERROR;
return MDB_PAGE_FULL;
@@ -7424,8 +7454,8 @@
base = LEAF2KEY(mp, indx, ksize);
if (x)
memmove(base, base + ksize, x * ksize);
- mp->mp_lower -= sizeof(indx_t);
- mp->mp_upper += ksize - sizeof(indx_t);
+ MP_LOWER(mp) -= sizeof(indx_t);
+ MP_UPPER(mp) += ksize - sizeof(indx_t);
return;
}
@@ -7439,21 +7469,21 @@
}
sz = EVEN(sz);
- ptr = mp->mp_ptrs[indx];
+ ptr = MP_PTRS(mp)[indx];
for (i = j = 0; i < numkeys; i++) {
if (i != indx) {
- mp->mp_ptrs[j] = mp->mp_ptrs[i];
- if (mp->mp_ptrs[i] < ptr)
- mp->mp_ptrs[j] += sz;
+ MP_PTRS(mp)[j] = MP_PTRS(mp)[i];
+ if (MP_PTRS(mp)[i] < ptr)
+ MP_PTRS(mp)[j] += sz;
j++;
}
}
- base = (char *)mp + mp->mp_upper + PAGEBASE;
- memmove(base + sz, base, ptr - mp->mp_upper);
+ base = (char *)mp + MP_UPPER(mp) + PAGEBASE;
+ memmove(base + sz, base, ptr - MP_UPPER(mp));
- mp->mp_lower -= sizeof(indx_t);
- mp->mp_upper += sz;
+ MP_LOWER(mp) -= sizeof(indx_t);
+ MP_UPPER(mp) += sz;
}
/** Compact the main page after deleting a node on a subpage.
@@ -7482,11 +7512,11 @@
} else {
xp = (MDB_page *)((char *)sp + delta); /* destination subpage */
for (i = NUMKEYS(sp); --i >= 0; )
- xp->mp_ptrs[i] = sp->mp_ptrs[i] - delta;
+ MP_PTRS(xp)[i] = MP_PTRS(sp)[i] - delta;
len = PAGEHDRSZ;
}
- sp->mp_upper = sp->mp_lower;
- COPY_PGNO(sp->mp_pgno, mp->mp_pgno);
+ MP_UPPER(sp) = MP_LOWER(sp);
+ COPY_PGNO(MP_PGNO(sp), mp->mp_pgno);
SETDSZ(node, nsize);
/* Shift <lower nodes...initial part of subpage> upward */
@@ -7557,7 +7587,7 @@
mx->mx_db.md_leaf_pages = 1;
mx->mx_db.md_overflow_pages = 0;
mx->mx_db.md_entries = NUMKEYS(fp);
- COPY_PGNO(mx->mx_db.md_root, fp->mp_pgno);
+ COPY_PGNO(mx->mx_db.md_root, MP_PGNO(fp));
mx->mx_cursor.mc_snum = 1;
mx->mx_cursor.mc_top = 0;
mx->mx_cursor.mc_flags = C_INITIALIZED|C_SUB;
@@ -8729,9 +8759,13 @@
mc->mc_ki[mc->mc_top] = x;
}
} else {
- int psize, nsize, k;
+ int psize, nsize, k, keythresh;
+
/* Maximum free space in an empty page */
pmax = env->me_psize - PAGEHDRSZ;
+ /* Threshold number of keys considered "small" */
+ keythresh = env->me_psize >> 7;
+
if (IS_LEAF(mp))
nsize = mdb_leaf_size(env, newkey, newdata);
else
@@ -8772,7 +8806,7 @@
* the split so the new page is emptier than the old page.
* This yields better packing during sequential inserts.
*/
- if (nkeys < 32 || nsize > pmax/16 || newindx >= nkeys) {
+ if (nkeys < keythresh || nsize > pmax/16 || newindx >= nkeys) {
/* Find split point */
psize = 0;
if (newindx <= split_indx || newindx >= nkeys) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lib/midl.c new/lmdb-1.5.1/lib/midl.c
--- old/lmdb-1.4.1/lib/midl.c 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/lib/midl.c 2024-07-01 08:57:53.000000000 +0200
@@ -3,8 +3,8 @@
/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 2000-2020 The OpenLDAP Foundation.
- * Portions Copyright 2001-2020 Howard Chu, Symas Corp.
+ * Copyright 2000-2021 The OpenLDAP Foundation.
+ * Portions Copyright 2001-2021 Howard Chu, Symas Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lib/midl.h new/lmdb-1.5.1/lib/midl.h
--- old/lmdb-1.4.1/lib/midl.h 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/lib/midl.h 2024-07-01 08:57:53.000000000 +0200
@@ -11,8 +11,8 @@
/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 2000-2020 The OpenLDAP Foundation.
- * Portions Copyright 2001-2020 Howard Chu, Symas Corp.
+ * Copyright 2000-2021 The OpenLDAP Foundation.
+ * Portions Copyright 2001-2021 Howard Chu, Symas Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lib/py-lmdb/env-copy-txn.patch new/lmdb-1.5.1/lib/py-lmdb/env-copy-txn.patch
--- old/lmdb-1.4.1/lib/py-lmdb/env-copy-txn.patch 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/lib/py-lmdb/env-copy-txn.patch 2024-07-01 08:57:53.000000000 +0200
@@ -1,5 +1,5 @@
diff --git a/libraries/liblmdb/lmdb.h b/libraries/liblmdb/lmdb.h
-index 69aa2751a2..ff7f77a10d 100644
+index ff03c22..3d6f4cc 100644
--- a/libraries/liblmdb/lmdb.h
+++ b/libraries/liblmdb/lmdb.h
@@ -682,9 +682,14 @@ int mdb_env_copyfd(MDB_env *env, mdb_filehandle_t fd);
@@ -32,10 +32,10 @@
/** @brief Return statistics about the LMDB environment.
*
diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
-index 8cecdb2e69..9ede4183dd 100644
+index deb6779..b5d152c 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
-@@ -9332,12 +9332,12 @@ done:
+@@ -9366,12 +9366,12 @@ done:
/** Copy environment with compaction. */
static int ESECT
@@ -50,7 +50,7 @@
pthread_t thr;
pgno_t root, new_root;
int rc = MDB_SUCCESS;
-@@ -9383,9 +9383,11 @@ mdb_env_copyfd1(MDB_env *env, HANDLE fd)
+@@ -9417,9 +9417,11 @@ mdb_env_copyfd1(MDB_env *env, HANDLE fd)
if (rc)
goto done;
@@ -65,7 +65,7 @@
mp = (MDB_page *)my.mc_wbuf[0];
memset(mp, 0, NUM_METAS * env->me_psize);
-@@ -9445,7 +9447,8 @@ finish:
+@@ -9479,7 +9481,8 @@ finish:
my.mc_error = rc;
mdb_env_cthr_toggle(&my, 1 | MDB_EOF);
rc = THREAD_FINISH(thr);
@@ -75,7 +75,7 @@
done:
#ifdef _WIN32
-@@ -9562,12 +9565,22 @@ leave:
+@@ -9596,12 +9599,22 @@ leave:
}
int ESECT
@@ -100,7 +100,7 @@
}
int ESECT
-@@ -9578,6 +9591,12 @@ mdb_env_copyfd(MDB_env *env, HANDLE fd)
+@@ -9612,6 +9625,12 @@ mdb_env_copyfd(MDB_env *env, HANDLE fd)
int ESECT
mdb_env_copy2(MDB_env *env, const char *path, unsigned int flags)
@@ -113,7 +113,7 @@
{
int rc;
MDB_name fname;
-@@ -9589,7 +9608,7 @@ mdb_env_copy2(MDB_env *env, const char *path, unsigned int flags)
+@@ -9623,7 +9642,7 @@ mdb_env_copy2(MDB_env *env, const char *path, unsigned int flags)
mdb_fname_destroy(fname);
}
if (rc == MDB_SUCCESS) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lmdb/__init__.py new/lmdb-1.5.1/lmdb/__init__.py
--- old/lmdb-1.4.1/lmdb/__init__.py 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/lmdb/__init__.py 2024-07-01 08:57:53.000000000 +0200
@@ -50,4 +50,4 @@
from lmdb.cffi import __all__
from lmdb.cffi import __doc__
-__version__ = '1.4.1'
+__version__ = '1.5.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lmdb/__main__.py new/lmdb-1.5.1/lmdb/__main__.py
--- old/lmdb-1.4.1/lmdb/__main__.py 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/lmdb/__main__.py 2024-07-01 08:57:53.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2013 The py-lmdb authors, all rights reserved.
+# Copyright 2013-2024 The py-lmdb authors, all rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted only as authorized by the OpenLDAP
@@ -18,7 +18,7 @@
# Additional information about OpenLDAP can be obtained at
# <http://www.openldap.org/>.
-# Hack to support Python >=v2.6 'pythom -mlmdb'
+# Hack to support Python >=v2.6 'python -mlmdb'
from __future__ import absolute_import
import lmdb.tool
lmdb.tool.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lmdb/cpython.c new/lmdb-1.5.1/lmdb/cpython.c
--- old/lmdb-1.4.1/lmdb/cpython.c 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/lmdb/cpython.c 2024-07-01 08:57:53.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright 2013 The py-lmdb authors, all rights reserved.
+ * Copyright 2013-2024 The py-lmdb authors, all rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted only as authorized by the OpenLDAP
@@ -112,50 +112,12 @@
typedef struct TransObject TransObject;
-/* ------------------------ */
-/* Python 3.x Compatibility */
-/* ------------------------ */
-
-#if PY_MAJOR_VERSION >= 3
-
# define MOD_RETURN(mod) return mod;
# define MODINIT_NAME PyInit_cpython
# define MAKE_ID(id) PyCapsule_New((void *) (1 + (id)), NULL, NULL)
# define READ_ID(obj) (((int) (long) PyCapsule_GetPointer(obj, NULL)) - 1)
-#else
-
-# define MOD_RETURN(mod) return
-# define MODINIT_NAME initcpython
-
-# define MAKE_ID(id) PyInt_FromLong((long) id)
-# define READ_ID(obj) PyInt_AS_LONG(obj)
-
-# define PyUnicode_InternFromString PyString_InternFromString
-# define PyBytes_AS_STRING PyString_AS_STRING
-# define PyBytes_GET_SIZE PyString_GET_SIZE
-# define PyBytes_CheckExact PyString_CheckExact
-# define PyBytes_FromStringAndSize PyString_FromStringAndSize
-# define _PyBytes_Resize _PyString_Resize
-# define PyMemoryView_FromMemory(x, y, z) PyBuffer_FromMemory(x, y)
-
-# ifndef PyBUF_READ
-# define PyBUF_READ 0
-# endif
-
-/* Python 2.5 */
-# ifndef Py_TYPE
-# define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
-# endif
-
-# ifndef PyVarObject_HEAD_INIT
-# define PyVarObject_HEAD_INIT(x, y) \
- PyObject_HEAD_INIT(x) y,
-# endif
-
-#endif
-
struct list_head {
struct lmdb_object *prev;
struct lmdb_object *next;
@@ -649,11 +611,7 @@
PyErr_Format(PyExc_OverflowError, "Integer argument exceeds limit.");
return -1;
}
-#if PY_MAJOR_VERSION >= 3
*l = PyLong_AsUnsignedLongLongMask(obj);
-#else
- *l = PyInt_AsUnsignedLongLongMask(obj);
-#endif
return 0;
}
@@ -2124,7 +2082,7 @@
};
size_t buffer_pos = 0, buffer_size = 8;
- size_t key_size, val_size, item_size = 0;
+ size_t key_size = 0, val_size, item_size = 0;
char *buffer = NULL;
static PyObject *cache = NULL;
@@ -3797,11 +3755,7 @@
static int
append_string(PyObject *list, const char *s)
{
-#if PY_MAJOR_VERSION >= 3
PyObject *o = PyUnicode_FromString(s);
-#else
- PyObject *o = PyBytes_FromStringAndSize(s, strlen(s));
-#endif
if(! o) {
return -1;
@@ -3862,7 +3816,6 @@
{0, 0, 0, 0}
};
-#if PY_MAJOR_VERSION >= 3
static struct PyModuleDef moduledef = {
PyModuleDef_HEAD_INIT,
"cpython",
@@ -3874,7 +3827,6 @@
NULL,
NULL
};
-#endif
/**
* Initialize and publish the LMDB built-in types.
@@ -3985,11 +3937,7 @@
MODINIT_NAME(void)
{
PyObject *__all__;
-#if PY_MAJOR_VERSION >= 3
PyObject *mod = PyModule_Create(&moduledef);
-#else
- PyObject *mod = Py_InitModule3("cpython", module_methods, "");
-#endif
if(! mod) {
MOD_RETURN(NULL);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/lmdb.egg-info/PKG-INFO new/lmdb-1.5.1/lmdb.egg-info/PKG-INFO
--- old/lmdb-1.4.1/lmdb.egg-info/PKG-INFO 2023-04-06 08:42:17.000000000 +0200
+++ new/lmdb-1.5.1/lmdb.egg-info/PKG-INFO 2024-07-01 08:57:59.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: lmdb
-Version: 1.4.1
+Version: 1.5.1
Summary: Universal Python binding for the LMDB 'Lightning' Database
Home-page: http://github.com/jnwatson/py-lmdb/
Author: David Wilson
@@ -9,10 +9,7 @@
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
@@ -20,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: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Description-Content-Type: text/plain
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lmdb-1.4.1/setup.py new/lmdb-1.5.1/setup.py
--- old/lmdb-1.4.1/setup.py 2023-04-06 08:42:11.000000000 +0200
+++ new/lmdb-1.5.1/setup.py 2024-07-01 08:57:53.000000000 +0200
@@ -1,5 +1,5 @@
#
-# Copyright 2013-2020 The py-lmdb authors, all rights reserved.
+# Copyright 2013-2024 The py-lmdb authors, all rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted only as authorized by the OpenLDAP
@@ -45,8 +45,8 @@
if os.getenv('LMDB_FORCE_CFFI') is not None:
use_cpython = False
-if sys.version[:3] < '2.7' or (3, 0) < sys.version_info[:2] < (3, 4):
- sys.stderr.write('Error: py-lmdb requires at least CPython 2.7 or 3.4\n')
+if (3, 0) < sys.version_info[:2] < (3, 5):
+ sys.stderr.write('Error: py-lmdb requires at CPython 3.5\n')
raise SystemExit(1)
#
@@ -110,11 +110,11 @@
if sys.platform.startswith('win'):
patchfile = 'lib' + os.sep + 'py-lmdb' + os.sep + 'env-copy-txn.patch'
patchset = patch.fromfile(patchfile)
- rv = patchset.apply(3, root=dest)
+ rv = patchset.apply(2, root=dest)
if not rv:
raise Exception('Applying patch failed')
else:
- rv = os.system('/usr/bin/patch -N -p3 -d build/lib < lib/py-lmdb/env-copy-txn.patch')
+ rv = os.system('patch -N -p3 -d build/lib < lib/py-lmdb/env-copy-txn.patch')
if rv:
raise Exception('Applying patch failed')
@@ -206,10 +206,7 @@
"Programming Language :: Python",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
- "Programming Language :: Python :: 2",
- "Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
@@ -217,6 +214,7 @@
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
"Topic :: Database",
"Topic :: Database :: Database Engines/Servers",
],
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-agent for openSUSE:Factory checked in at 2024-07-02 18:17:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-agent (Old)
and /work/SRC/openSUSE:Factory/.python-azure-agent.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-agent"
Tue Jul 2 18:17:33 2024 rev:34 rq:1184344 version:2.9.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-agent/python-azure-agent.changes 2024-06-28 15:50:15.689030612 +0200
+++ /work/SRC/openSUSE:Factory/.python-azure-agent.new.18349/python-azure-agent.changes 2024-07-02 18:17:36.769972809 +0200
@@ -1,0 +2,5 @@
+Mon Jul 1 09:53:19 UTC 2024 - Joachim Gleissner <jgleissner(a)suse.com>
+
+- Do not require wicked in non-SUSE build environments.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-agent.spec ++++++
--- /var/tmp/diff_new_pack.oNvZRu/_old 2024-07-02 18:17:37.373994913 +0200
+++ /var/tmp/diff_new_pack.oNvZRu/_new 2024-07-02 18:17:37.381995205 +0200
@@ -53,7 +53,7 @@
Requires: pwdutils
Requires: systemd
Requires: sysvinit-tools
-%if 0%{?suse_version} <= 1500
+%if 0%{?suse_version} && 0%{?suse_version} <= 1500
Requires: wicked
%endif
%if 0%{?suse_version} > 1315
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 2024-07-02 18:17:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/oci-cli (Old)
and /work/SRC/openSUSE:Factory/.oci-cli.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "oci-cli"
Tue Jul 2 18:17:27 2024 rev:65 rq:1184328 version:3.43.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/oci-cli/oci-cli.changes 2024-06-18 22:53:07.101162095 +0200
+++ /work/SRC/openSUSE:Factory/.oci-cli.new.18349/oci-cli.changes 2024-07-02 18:17:31.073764367 +0200
@@ -1,0 +2,26 @@
+Mon Jun 24 11:11:22 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to version 3.43.2
+ * OCI AI Document Service
+ * Support for new document type ``INSURANCE_CLAIM`` as shown:
+ * ``oci ai-document analyze-document-result analyze-document
+ --document-type INSURANCE_CLAIM``
+ * ``oci ai-document analyze-document-result analyze-document-\
+ inline-document-details --document-type INSURANCE_CLAIM``
+ * ``oci ai-document analyze-document-result analyze-document-\
+ object-storage-document-details --document-type INSURANCE_CLAIM``
+ * ``oci ai-document processor-job create-processor-job-general-\
+ processor-config --processor-config-document-type INSURANCE_CLAIM``
+ * OCI Database Service
+ * Support for adding whitelisted ips for private endpoint enabled databases.
+ * ``oci db autonomous-database create --whitelisted-ips``
+ * ``oci db autonomous-database update --whitelisted-ips``
+ * OCI Stack Monitoring Service
+ * Support for Microsoft IIS resource type when declaring discovery details.
+ * ``oci stack-monitoring discovery-job create --discovery-details``
+ * Security Enhancement: Improved security for API key management.
+- Refresh patches for new version
+ * oc_relax-python-depends.patch
+- Update BuildRequires and Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
oci-cli-3.43.1.tar.gz
New:
----
oci-cli-3.43.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ oci-cli.spec ++++++
--- /var/tmp/diff_new_pack.oXGJkg/_old 2024-07-02 18:17:31.929795692 +0200
+++ /var/tmp/diff_new_pack.oXGJkg/_new 2024-07-02 18:17:31.933795838 +0200
@@ -36,7 +36,7 @@
%global _sitelibdir %{%{pythons}_sitelib}
Name: oci-cli%{psuffix}
-Version: 3.43.1
+Version: 3.43.2
Release: 0
Summary: Oracle Cloud Infrastructure CLI
License: Apache-2.0
@@ -52,7 +52,7 @@
BuildRequires: %{pythons}-cryptography >= 3.2.1
BuildRequires: %{pythons}-devel
BuildRequires: %{pythons}-jmespath >= 0.10.0
-BuildRequires: %{pythons}-oci-sdk >= 2.128.1
+BuildRequires: %{pythons}-oci-sdk >= 2.128.2
BuildRequires: %{pythons}-pip
BuildRequires: %{pythons}-pyOpenSSL >= 22.1.0
BuildRequires: %{pythons}-python-dateutil >= 2.5.3
@@ -95,7 +95,7 @@
Requires: %{pythons}-click >= 8.0.4
Requires: %{pythons}-cryptography >= 3.2.1
Requires: %{pythons}-jmespath >= 0.10.0
-Requires: %{pythons}-oci-sdk >= 2.128.1
+Requires: %{pythons}-oci-sdk >= 2.128.2
Requires: %{pythons}-prompt_toolkit >= 3.0.38
Requires: %{pythons}-pyOpenSSL >= 22.1.0
Requires: %{pythons}-python-dateutil >= 2.5.3
++++++ oc_relax-python-depends.patch ++++++
--- /var/tmp/diff_new_pack.oXGJkg/_old 2024-07-02 18:17:31.953796570 +0200
+++ /var/tmp/diff_new_pack.oXGJkg/_new 2024-07-02 18:17:31.957796717 +0200
@@ -1,6 +1,6 @@
-diff -Nru oci-cli-3.43.1.orig/requirements.txt oci-cli-3.43.1/requirements.txt
---- oci-cli-3.43.1.orig/requirements.txt 2024-06-11 08:05:18.000000000 +0200
-+++ oci-cli-3.43.1/requirements.txt 2024-06-18 13:47:53.003455590 +0200
+diff -Nru oci-cli-3.43.2.orig/requirements.txt oci-cli-3.43.2/requirements.txt
+--- oci-cli-3.43.2.orig/requirements.txt 2024-06-18 07:36:55.000000000 +0200
++++ oci-cli-3.43.2/requirements.txt 2024-06-24 13:07:06.473139507 +0200
@@ -2,48 +2,48 @@
# (https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-form…)
# you may need to use the --extra-index-url option instead.
@@ -18,7 +18,7 @@
-jmespath==0.10.0
-ndg-httpsclient==0.4.2
-mock==2.0.0
--oci==2.128.1
+-oci==2.128.2
-packaging==20.2
-pluggy==0.13.0
-py==1.11.0
@@ -29,7 +29,6 @@
-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,7 +37,7 @@
+jmespath>=0.10.0
+ndg-httpsclient>=0.4.2
+mock>=2.0.0
-+oci>=2.128.1
++oci>=2.128.2
+packaging>=20.2
+pluggy>=0.13.0
+py>=1.11.0
@@ -49,7 +48,7 @@
+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
+ python-dateutil>=2.5.3,<3.0.0
pytz>=2016.10
-requests==2.21.0; python_version == '3.6'
-requests==2.31.0; python_version > '3.6'
@@ -86,15 +85,15 @@
+setuptools>=59.6.0; python_version == '3.6'
# this is required because of python 3.6 requests dependency version bound
urllib3<=1.26.15
-diff -Nru oci-cli-3.43.1.orig/setup.py oci-cli-3.43.1/setup.py
---- oci-cli-3.43.1.orig/setup.py 2024-06-11 08:05:18.000000000 +0200
-+++ oci-cli-3.43.1/setup.py 2024-06-18 13:46:47.849464815 +0200
+diff -Nru oci-cli-3.43.2.orig/setup.py oci-cli-3.43.2/setup.py
+--- oci-cli-3.43.2.orig/setup.py 2024-06-18 07:36:55.000000000 +0200
++++ oci-cli-3.43.2/setup.py 2024-06-24 13:06:03.189628435 +0200
@@ -30,24 +30,24 @@
readme = f.read()
requires = [
-- 'oci==2.128.1',
-+ 'oci>=2.128.1',
+- 'oci==2.128.2',
++ 'oci>=2.128.2',
'arrow>=1.0.0',
'certifi',
- 'click==8.0.4',
++++++ oci-cli-3.43.1.tar.gz -> oci-cli-3.43.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/CHANGELOG.rst new/oci-cli-3.43.2/CHANGELOG.rst
--- old/oci-cli-3.43.1/CHANGELOG.rst 2024-06-11 08:05:18.000000000 +0200
+++ new/oci-cli-3.43.2/CHANGELOG.rst 2024-06-18 07:36:55.000000000 +0200
@@ -6,6 +6,34 @@
The format is based on `Keep a Changelog <http://keepachangelog.com/>`__.
+3.43.2 - 2024-06-18
+--------------------
+Added
+~~~~~
+* OCI AI Document Service
+
+ * Support for new document type ``INSURANCE_CLAIM`` as shown:
+
+ * ``oci ai-document analyze-document-result analyze-document --document-type INSURANCE_CLAIM``
+ * ``oci ai-document analyze-document-result analyze-document-inline-document-details --document-type INSURANCE_CLAIM``
+ * ``oci ai-document analyze-document-result analyze-document-object-storage-document-details --document-type INSURANCE_CLAIM``
+ * ``oci ai-document processor-job create-processor-job-general-processor-config --processor-config-document-type INSURANCE_CLAIM``
+
+* OCI Database Service
+
+ * Support for adding whitelisted ips for private endpoint enabled databases.
+
+ * ``oci db autonomous-database create --whitelisted-ips``
+ * ``oci db autonomous-database update --whitelisted-ips``
+
+* OCI Stack Monitoring Service
+
+ * Support for Microsoft IIS resource type when declaring discovery details.
+
+ * ``oci stack-monitoring discovery-job create --discovery-details``
+
+* Security Enhancement: Improved security for API key management.
+
3.43.1 - 2024-06-11
--------------------
Added
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/requirements.txt new/oci-cli-3.43.2/requirements.txt
--- old/oci-cli-3.43.1/requirements.txt 2024-06-11 08:05:18.000000000 +0200
+++ new/oci-cli-3.43.2/requirements.txt 2024-06-18 07:36:55.000000000 +0200
@@ -14,7 +14,7 @@
jmespath==0.10.0
ndg-httpsclient==0.4.2
mock==2.0.0
-oci==2.128.1
+oci==2.128.2
packaging==20.2
pluggy==0.13.0
py==1.11.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py new/oci-cli-3.43.2/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py
--- old/oci-cli-3.43.1/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py 2024-06-11 08:05:18.000000000 +0200
+++ new/oci-cli-3.43.2/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py 2024-06-18 07:36:55.000000000 +0200
@@ -79,7 +79,7 @@
@cli_util.option('--compartment-id', help=u"""The compartment identifier.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""")
-(a)cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""")
+(a)cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "INSURANCE_CLAIM"]), help=u"""The document type.""")
@cli_util.option('--ocr-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_document', 'class': 'list[DocumentFeature]'}, 'document': {'module': 'ai_document', 'class': 'DocumentDetails'}, 'output-location': {'module': 'ai_document', 'class': 'OutputLocation'}, 'ocr-data': {'module': 'ai_document', 'class': 'AnalyzeDocumentResult'}})
@@ -129,7 +129,7 @@
@cli_util.option('--compartment-id', help=u"""The compartment identifier.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""")
-(a)cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""")
+(a)cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "INSURANCE_CLAIM"]), help=u"""The document type.""")
@cli_util.option('--ocr-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_document', 'class': 'list[DocumentFeature]'}, 'output-location': {'module': 'ai_document', 'class': 'OutputLocation'}, 'ocr-data': {'module': 'ai_document', 'class': 'AnalyzeDocumentResult'}})
@@ -182,7 +182,7 @@
@cli_util.option('--compartment-id', help=u"""The compartment identifier.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""")
-(a)cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""")
+(a)cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "INSURANCE_CLAIM"]), help=u"""The document type.""")
@cli_util.option('--ocr-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_document', 'class': 'list[DocumentFeature]'}, 'output-location': {'module': 'ai_document', 'class': 'OutputLocation'}, 'ocr-data': {'module': 'ai_document', 'class': 'AnalyzeDocumentResult'}})
@@ -636,7 +636,7 @@
@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
@cli_util.option('--processor-config-features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of document analysis requested.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the processor job.""")
-(a)cli_util.option('--processor-config-document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""")
+(a)cli_util.option('--processor-config-document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "INSURANCE_CLAIM"]), help=u"""The document type.""")
@cli_util.option('--processor-config-is-zip-output-enabled', type=click.BOOL, help=u"""Whether or not to generate a ZIP file containing the results.""")
@cli_util.option('--processor-config-language', help=u"""The document language, abbreviated according to the BCP 47 Language-Tag syntax.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["SUCCEEDED", "FAILED", "ACCEPTED", "CANCELED", "IN_PROGRESS", "CANCELING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/services/apm_config/tests/util/generated/command_to_api.py new/oci-cli-3.43.2/services/apm_config/tests/util/generated/command_to_api.py
--- old/oci-cli-3.43.1/services/apm_config/tests/util/generated/command_to_api.py 2024-06-11 08:05:18.000000000 +0200
+++ new/oci-cli-3.43.2/services/apm_config/tests/util/generated/command_to_api.py 2024-06-18 07:36:55.000000000 +0200
@@ -8,6 +8,7 @@
"apm_config.list_configs": "oci.apm_config.ConfigClient.list_configs",
"apm_config.retrieve_namespace_metrics": "oci.apm_config.ConfigClient.retrieve_namespace_metrics",
"apm_config.retrieve_namespaces": "oci.apm_config.ConfigClient.retrieve_namespaces",
+ "apm_config.test": "oci.apm_config.ConfigClient.test",
"apm_config.update_config": "oci.apm_config.ConfigClient.update_config",
"apm_config.validate_span_filter_pattern": "oci.apm_config.ConfigClient.validate_span_filter_pattern",
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/setup.py new/oci-cli-3.43.2/setup.py
--- old/oci-cli-3.43.1/setup.py 2024-06-11 08:05:18.000000000 +0200
+++ new/oci-cli-3.43.2/setup.py 2024-06-18 07:36:55.000000000 +0200
@@ -30,7 +30,7 @@
readme = f.read()
requires = [
- 'oci==2.128.1',
+ 'oci==2.128.2',
'arrow>=1.0.0',
'certifi',
'click==8.0.4',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/src/oci_cli/cli_setup.py new/oci-cli-3.43.2/src/oci_cli/cli_setup.py
--- old/oci-cli-3.43.1/src/oci_cli/cli_setup.py 2024-06-11 08:05:18.000000000 +0200
+++ new/oci-cli-3.43.2/src/oci_cli/cli_setup.py 2024-06-18 07:36:55.000000000 +0200
@@ -193,10 +193,10 @@
--ingress-rules = --ingress-security-rules
"""
-
NO_PASSPHRASE = 'N/A'
PUBLIC_KEY_FILENAME_SUFFIX = '_public.pem'
PRIVATE_KEY_FILENAME_SUFFIX = '.pem'
+PRIVATE_KEY_LABEL = "OCI_API_KEY"
config_generation_canceled_message = "Config creation canceled."
@@ -292,6 +292,14 @@
private_key_file, has_passphrase, private_key = click.prompt(text='Enter the location of your API Signing private key file', value_proc=validate_private_key_file)
private_key_file = os.path.abspath(private_key_file)
+ if not validate_label_private_key(private_key_file):
+ private_label_message = (
+ f"To increase security of your API key located at {private_key_file}, "
+ "append an extra line with 'OCI_API_KEY' at the end. For more information, "
+ "refer to https://docs.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm"
+ )
+ click.echo(click.style(f"Warning: {private_label_message}", fg='yellow'))
+
key_passphrase = None
if has_passphrase:
key_passphrase, private_key = click.prompt(text='Enter the passphrase for your private key', hide_input=True, value_proc=lambda passphrase: validate_private_key_passphrase(private_key_file, passphrase))
@@ -705,6 +713,11 @@
with open(filename, "wb") as f:
f.write(cli_util.serialize_key(private_key=private_key, passphrase=passphrase))
+ # Open a file in append mode
+ with open(filename, 'a') as file:
+ # add the static label
+ file.write(PRIVATE_KEY_LABEL)
+
# only user has R/W permissions to the key file
cli_util.apply_user_only_access_permissions(filename)
@@ -723,6 +736,14 @@
raise click.BadParameter("Incorrect passphrase, could not decrypt private key")
+def validate_label_private_key(file_path):
+
+ with open(file_path, "r") as file:
+ content = file.read()
+
+ return content.endswith(PRIVATE_KEY_LABEL)
+
+
def validate_private_key_file(filename):
filename = os.path.expanduser(filename)
if not os.path.isfile(filename):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/src/oci_cli/version.py new/oci-cli-3.43.2/src/oci_cli/version.py
--- old/oci-cli-3.43.1/src/oci_cli/version.py 2024-06-11 08:05:18.000000000 +0200
+++ new/oci-cli-3.43.2/src/oci_cli/version.py 2024-06-18 07:36:55.000000000 +0200
@@ -2,4 +2,4 @@
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
-__version__ = '3.43.1'
+__version__ = '3.43.2'
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package cherrytree for openSUSE:Factory checked in at 2024-07-02 18:17:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cherrytree (Old)
and /work/SRC/openSUSE:Factory/.cherrytree.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cherrytree"
Tue Jul 2 18:17:22 2024 rev:35 rq:1184326 version:1.1.4+1
Changes:
--------
--- /work/SRC/openSUSE:Factory/cherrytree/cherrytree.changes 2024-04-08 17:52:00.905116540 +0200
+++ /work/SRC/openSUSE:Factory/.cherrytree.new.18349/cherrytree.changes 2024-07-02 18:17:28.729678589 +0200
@@ -1,0 +2,72 @@
+Mon Jul 01 12:44:06 UTC 2024 - malcolmlewis(a)opensuse.org
+
+- Update to version 1.1.4+1:
+ + Fixed msys2 script.
+ + Fixed syntax error in latex wrongly detected as failure to
+ access latex executable, (gh#giuspen/cherrytree#2534).
+ + Copy link to node and copy anchor link to include absolute path
+ to the cherrytree document and hierarchical path to node,
+ (gh#giuspen/cherrytree#2452).
+ + Implemented reset of zoom with Ctrl+0,
+ (gh#giuspen/cherrytree#1835).
+ + Improved extraction from a password protected archive (.ctz,
+ .ctx) to distinguish incorrect password from a corrupted
+ archive / not an archive.
+ + Removed message instructing the user how to manually recover
+ using the backups as cherrytree will do it itself automatically
+ after asking the user.
+ + Added auto recovery from a backup (after asking the user) in
+ case of corrupted document.
+ + Added warning message in case an automatic restore from backup
+ was necessary for the new multifile data storage document.
+ + Debugging issue with locale, (gh#giuspen/cherrytree#2529).
+
+-------------------------------------------------------------------
+Sat Jun 15 21:35:31 UTC 2024 - malcolmlewis(a)opensuse.org
+
+- Update to version 1.1.3+1:
+ + Position (row,column) of the cursor in statusbar - improved.
+ + Added in statusbar the position (row,column) of the cursor.
+ + Added in config.cfg the group [proxy] to support downloading.
+ data/checking for new version available from behind a proxy,
+ (gh#giuspen/cherrytree#2522).
+ + Reworked CtConfig to ensure single instance during whole life
+ of the app.
+ + Added support for moving cursor to table cell previous/next
+ when key left pressed before first character/right pressed
+ after the last character, (gh#giuspen/cherrytree#2523).
+ + Added support for moving cursor to table cell above/below when
+ key up pressed on first line/down pressed on the last line,
+ (gh#giuspen/cherrytree#2523).
+ + Fixed right click -> copy link not working if there is a text
+ selection, (gh#giuspen/cherrytree#2362).
+ + Temporary workaround for crash in Gsv::Init() -> [gtk]
+ [critical] Class::register_derived_type(): base_query.type_name
+ is NULL, (gh#giuspen/cherrytree#2518).
+ + Removed 'Set the global C++ locale to the user-specified
+ locale'.
+ + Minor rework in g_log_set_default_handler,
+ (gh#giuspen/cherrytree#2518).
+ + Fix typos in bug_report.md, (gh#giuspen/cherrytree#2519).
+ + Fixed drag and drop of text when line numbers visible.
+ + Replaced regular expression help dead url,
+ (gh#giuspen/cherrytree#2511).
+ + Support for drag and drop of text with copy instead of move.
+ + New multifile data storage, in case of corruption all backups
+ are looked for data recovery starting from the most recent,
+ (gh#giuspen/cherrytree#2505).
+ + Added checks to prevent a save as or export overwriting the
+ currently open document (as t as unsupported,
+ (gh#giuspen/cherrytree#2504).
+ + Updated supporters record.
+ + Fixed crash when importing text file for incorrect detection of
+ encoding, (gh#giuspen/cherrytree#2492).
+ + Removed all noexcept operators.
+ + Do not allow in the preferences dialog, toolbar configurator,
+ to add a button twice, (gh#giuspen/cherrytree#2482).
+ + Fixed crash in case of a duplicated button configured in the
+ toolbar, (gh#giuspen/cherrytree#2482).
+ + Fixed unit test after new library png encoding.
+ + Updated translations.
+
+-------------------------------------------------------------------
@@ -9 +81 @@
- * Fixed drop position of dragged text wrongly one position to the
+ + Fixed drop position of dragged text wrongly one position to the
Old:
----
cherrytree-1.1.2+0.obscpio
New:
----
cherrytree-1.1.4+1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cherrytree.spec ++++++
--- /var/tmp/diff_new_pack.a4DvQa/_old 2024-07-02 18:17:30.445741385 +0200
+++ /var/tmp/diff_new_pack.a4DvQa/_new 2024-07-02 18:17:30.445741385 +0200
@@ -17,7 +17,7 @@
Name: cherrytree
-Version: 1.1.2+0
+Version: 1.1.4+1
Release: 0
Summary: A hierarchical note taking application
License: GPL-3.0-or-later AND LGPL-2.1-only
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.a4DvQa/_old 2024-07-02 18:17:30.489742996 +0200
+++ /var/tmp/diff_new_pack.a4DvQa/_new 2024-07-02 18:17:30.493743142 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/giuspen/cherrytree.git</param>
- <param name="changesrevision">427d7d9261494e8e2d34511f58a4db8b1143de84</param></service></servicedata>
+ <param name="changesrevision">a84919afd51e1997ea3f78e1ac4cb81663ee2dd5</param></service></servicedata>
(No newline at EOF)
++++++ cherrytree-1.1.2+0.obscpio -> cherrytree-1.1.4+1.obscpio ++++++
/work/SRC/openSUSE:Factory/cherrytree/cherrytree-1.1.2+0.obscpio /work/SRC/openSUSE:Factory/.cherrytree.new.18349/cherrytree-1.1.4+1.obscpio differ: char 49, line 1
++++++ cherrytree.obsinfo ++++++
--- /var/tmp/diff_new_pack.a4DvQa/_old 2024-07-02 18:17:30.537744752 +0200
+++ /var/tmp/diff_new_pack.a4DvQa/_new 2024-07-02 18:17:30.541744899 +0200
@@ -1,5 +1,5 @@
name: cherrytree
-version: 1.1.2+0
-mtime: 1712263128
-commit: 427d7d9261494e8e2d34511f58a4db8b1143de84
+version: 1.1.4+1
+mtime: 1719774896
+commit: a84919afd51e1997ea3f78e1ac4cb81663ee2dd5
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package telegram-desktop for openSUSE:Factory checked in at 2024-07-02 18:17:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/telegram-desktop (Old)
and /work/SRC/openSUSE:Factory/.telegram-desktop.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "telegram-desktop"
Tue Jul 2 18:17:18 2024 rev:121 rq:1184325 version:5.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/telegram-desktop/telegram-desktop.changes 2024-06-24 20:55:50.457880926 +0200
+++ /work/SRC/openSUSE:Factory/.telegram-desktop.new.18349/telegram-desktop.changes 2024-07-02 18:17:24.489523428 +0200
@@ -1,0 +2,18 @@
+Mon Jul 1 06:30:36 UTC 2024 - Manfred Hollstein <manfred.h(a)gmx.net>
+
+- Updated to version 5.2.0
+ * Pay for content with Telegram Stars.
+ * Enable local passcode unlock by Windows Hello and Touch ID.
+ * Allow opening forums, topics and archive in a separate window.
+
+- Updated to version 5.1.8
+ * Support nice blockquotes and code blocks edition when composing
+ messages.
+ * Support collapsing blockquotes and specifying syntax highlight
+ language.
+ * Support nice spoiler animation in the message composing input
+ field.
+
+- Update tg_owt to git commit c9cc4390ab951f2cbc103ff783a11f398b27660b
+
+-------------------------------------------------------------------
Old:
----
tdesktop-5.1.7-full.tar.gz
New:
----
tdesktop-5.2.0-full.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ telegram-desktop.spec ++++++
--- /var/tmp/diff_new_pack.1KLkC5/_old 2024-07-02 18:17:26.833609206 +0200
+++ /var/tmp/diff_new_pack.1KLkC5/_new 2024-07-02 18:17:26.833609206 +0200
@@ -38,7 +38,7 @@
%define qt_major_version 6
Name: telegram-desktop
-Version: 5.1.7
+Version: 5.2.0
Release: 0
Summary: Messaging application with a focus on speed and security
License: GPL-3.0-only
++++++ tdesktop-5.1.7-full.tar.gz -> tdesktop-5.2.0-full.tar.gz ++++++
/work/SRC/openSUSE:Factory/telegram-desktop/tdesktop-5.1.7-full.tar.gz /work/SRC/openSUSE:Factory/.telegram-desktop.new.18349/tdesktop-5.2.0-full.tar.gz differ: char 5, line 1
++++++ tg_owt-master.zip ++++++
/work/SRC/openSUSE:Factory/telegram-desktop/tg_owt-master.zip /work/SRC/openSUSE:Factory/.telegram-desktop.new.18349/tg_owt-master.zip differ: char 11, line 2
++++++ tg_owt-packager.sh ++++++
--- /var/tmp/diff_new_pack.1KLkC5/_old 2024-07-02 18:17:26.941613158 +0200
+++ /var/tmp/diff_new_pack.1KLkC5/_new 2024-07-02 18:17:26.945613304 +0200
@@ -1,8 +1,8 @@
#! /bin/bash
# tg_owt origin
-# get it from https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/build/docker/… around line 823
-tg_owt_origin="afd9d5d31798d3eacf9ed6c30601e91d0f1e4d60"
+# get it from https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/build/docker/… around line 761
+tg_owt_origin="c9cc4390ab951f2cbc103ff783a11f398b27660b"
rm -rf tg_owt \
&& mkdir tg_owt \
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-podman-compose for openSUSE:Factory checked in at 2024-07-02 18:17:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-podman-compose (Old)
and /work/SRC/openSUSE:Factory/.python-podman-compose.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-podman-compose"
Tue Jul 2 18:17:17 2024 rev:5 rq:1184323 version:1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-podman-compose/python-podman-compose.changes 2024-04-21 20:27:31.138445108 +0200
+++ /work/SRC/openSUSE:Factory/.python-podman-compose.new.18349/python-podman-compose.changes 2024-07-02 18:17:22.929466341 +0200
@@ -1,0 +2,36 @@
+Sun Jun 30 23:48:24 UTC 2024 - Eyad Issa <eyadlorenzo(a)gmail.com>
+
+- Update to version 1.2.0:
+ * Bug fixes
+ ~ Fixed handling of --in-pod argument. Previously it was hard
+ to provide false value to it.
+ ~ podman-compose no longer creates pods when registering
+ systemd unit.
+ ~ Fixed warning RuntimeWarning: coroutine 'create_pods' was
+ never awaited
+ ~ Fixed error when setting up IPAM network with default driver.
+ ~ Fixed support for having list and dictionary depends_on
+ sections in related compose files.
+ ~ Fixed logging of failed build message.
+ ~ Fixed support for multiple entries in include section.
+ ~ Fixed environment variable precedence order.
+ * Changes
+ ~ x-podman dictionary in container root has been migrated to
+ x-podman.* fields in container root.
+ * New features
+ ~ Added support for --publish in podman-compose run.
+ ~ Added support for Podman external root filesystem management
+ (--rootfs option).
+ ~ Added support for podman-compose images command.
+ ~ Added support for env_file being configured via dictionaries.
+ ~ Added support for enabling GPU access.
+ ~ Added support for selinux in verbose mount specification.
+ ~ Added support for additional_contexts section.
+ ~ Added support for multi-line environment files.
+ ~ Added support for passing contents of podman-compose.yml
+ via stdin.
+ ~ Added support for specifying the value for --in-pod setting
+ in podman-compose.yml file.
+ ~ Added support for environmental secrets.
+
+-------------------------------------------------------------------
Old:
----
podman-compose-1.1.0.obscpio
New:
----
podman-compose-1.2.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-podman-compose.spec ++++++
--- /var/tmp/diff_new_pack.RQMcU3/_old 2024-07-02 18:17:23.473486248 +0200
+++ /var/tmp/diff_new_pack.RQMcU3/_new 2024-07-02 18:17:23.473486248 +0200
@@ -19,7 +19,7 @@
%{?sle15_python_module_pythons}
%global src_name podman-compose
Name: python-%{src_name}
-Version: 1.1.0
+Version: 1.2.0
Release: 0
Summary: A script to run docker-compose using podman
License: GPL-2.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.RQMcU3/_old 2024-07-02 18:17:23.521488005 +0200
+++ /var/tmp/diff_new_pack.RQMcU3/_new 2024-07-02 18:17:23.525488151 +0200
@@ -2,7 +2,7 @@
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/containers/podman-compose</param>
<param name="scm">git</param>
- <param name="revision">v1.1.0</param>
+ <param name="revision">v1.2.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.RQMcU3/_old 2024-07-02 18:17:23.541488737 +0200
+++ /var/tmp/diff_new_pack.RQMcU3/_new 2024-07-02 18:17:23.545488883 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/containers/podman-compose</param>
- <param name="changesrevision">2681566580b4eaadfc5e6000ad19e49e56006e2b</param></service></servicedata>
+ <param name="changesrevision">d38b26bb015a5991dad445d25a2af6fa2b61caca</param></service></servicedata>
(No newline at EOF)
++++++ podman-compose-1.1.0.obscpio -> podman-compose-1.2.0.obscpio ++++++
++++ 3159 lines of diff (skipped)
++++++ podman-compose.obsinfo ++++++
--- /var/tmp/diff_new_pack.RQMcU3/_old 2024-07-02 18:17:23.725495470 +0200
+++ /var/tmp/diff_new_pack.RQMcU3/_new 2024-07-02 18:17:23.729495617 +0200
@@ -1,5 +1,5 @@
name: podman-compose
-version: 1.1.0
-mtime: 1713519450
-commit: 2681566580b4eaadfc5e6000ad19e49e56006e2b
+version: 1.2.0
+mtime: 1719387808
+commit: d38b26bb015a5991dad445d25a2af6fa2b61caca
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package hyprshot for openSUSE:Factory checked in at 2024-07-02 18:17:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyprshot (Old)
and /work/SRC/openSUSE:Factory/.hyprshot.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hyprshot"
Tue Jul 2 18:17:15 2024 rev:2 rq:1184321 version:1.3.0+2
Changes:
--------
--- /work/SRC/openSUSE:Factory/hyprshot/hyprshot.changes 2023-07-17 19:23:17.833741184 +0200
+++ /work/SRC/openSUSE:Factory/.hyprshot.new.18349/hyprshot.changes 2024-07-02 18:17:22.193439407 +0200
@@ -1,0 +2,23 @@
+Thu Jun 27 17:05:39 UTC 2024 - malcolmlewis(a)opensuse.org
+
+- Update to version 1.3.0+2:
+ * Add -D,--delay option to allow setting a delay after selecting
+ an area to screenshot, (gh#Gustash/Hyprshot#56).
+ * Fix: support negative monitor offsets,
+ (gh#Gustash/Hyprshot#39).
+ * Feat: change --freeze shorthand to -z
+ * Added data type to wl-copy, (gh#Gustash/Hyprshot#35.)
+ * Chore: update README.
+ * New: added --freeze flag, (gh#Gustash/Hyprshot#21).
+ * Account for transforms, (gh#Gustash/Hyprshot#24).
+ * Take scale into account when capturing output.
+ * Feat: ability to pre-select monitor to capture.
+ * Fix: simplified calculations.
+ * Refactor: crop geometry before capture.
+ * Fix: window cropping instead of pixel trimming.
+ * Added -c current window/output option.
+ * Added -t notify-send timeout.
+ * Fix: use correct XDG_PICTURES_DIR even if the env var is not
+ present.
+
+-------------------------------------------------------------------
Old:
----
hyprshot-1.2.2.obscpio
New:
----
hyprshot-1.3.0+2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hyprshot.spec ++++++
--- /var/tmp/diff_new_pack.YdHm1u/_old 2024-07-02 18:17:22.649456095 +0200
+++ /var/tmp/diff_new_pack.YdHm1u/_new 2024-07-02 18:17:22.653456241 +0200
@@ -1,7 +1,8 @@
#
# spec file for package hyprshot
#
-# Copyright (c) 2023 Malcolm J Lewis <malcolmlewis(a)opensuse.org>
+# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2023-2024 Malcolm J Lewis <malcolmlewis(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,10 +18,10 @@
Name: hyprshot
-Version: 1.2.2
+Version: 1.3.0+2
Release: 0
Summary: Hyprland screenshot utility
-License: GPL-3.0
+License: GPL-3.0-only
URL: https://github.com/Gustash/Hyprshot
Source0: %{name}-%{version}.tar.xz
Source99: hyprshot-rpmlintrc
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.YdHm1u/_old 2024-07-02 18:17:22.693457705 +0200
+++ /var/tmp/diff_new_pack.YdHm1u/_new 2024-07-02 18:17:22.693457705 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/Gustash/Hyprshot.git</param>
- <param name="changesrevision">9d9df540409f4587a04324aaefec24a7224f83dc</param></service></servicedata>
+ <param name="changesrevision">f95068db7765b85a2bbae0f083e29074d7bee027</param></service></servicedata>
(No newline at EOF)
++++++ hyprshot.obsinfo ++++++
--- /var/tmp/diff_new_pack.YdHm1u/_old 2024-07-02 18:17:22.725458876 +0200
+++ /var/tmp/diff_new_pack.YdHm1u/_new 2024-07-02 18:17:22.729459022 +0200
@@ -1,5 +1,5 @@
name: hyprshot
-version: 1.2.2
-mtime: 1686854760
-commit: 9d9df540409f4587a04324aaefec24a7224f83dc
+version: 1.3.0+2
+mtime: 1718570582
+commit: f95068db7765b85a2bbae0f083e29074d7bee027
1
0