openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
- 163 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2024-07-02 18:41:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Tue Jul 2 18:41:32 2024 rev:2979 rq: version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/000release-packages/Aeon-release.changes 2024-07-01 16:15:08.368949275 +0200
+++ /work/SRC/openSUSE:Factory/.000release-packages.new.18349/Aeon-release.changes 2024-07-02 18:41:34.430538267 +0200
@@ -2 +2 @@
-Mon Jul 01 14:15:04 UTC 2024 - openSUSE <packaging(a)lists.opensuse.org>
+Tue Jul 02 16:41:30 UTC 2024 - openSUSE <packaging(a)lists.opensuse.org>
Kalpa-release.changes: same change
MicroOS-release.changes: same change
openSUSE-Addon-NonOss-release.changes: same change
openSUSE-release.changes: same change
stub.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Aeon-release.spec ++++++
--- /var/tmp/diff_new_pack.rRhM08/_old 2024-07-02 18:41:37.466649367 +0200
+++ /var/tmp/diff_new_pack.rRhM08/_new 2024-07-02 18:41:37.466649367 +0200
@@ -17,7 +17,7 @@
Name: Aeon-release
-Version: 20240701
+Version: 20240702
Release: 0
Summary: openSUSE Aeon
License: GPL-2.0-or-later
@@ -174,9 +174,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = Aeon
-Provides: product(Aeon) = 20240701-0
+Provides: product(Aeon) = 20240702-0
Provides: product-label() = openSUSE%20Aeon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20240701
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20240702
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(Aeon)
@@ -192,7 +192,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(Aeon) = 20240701-0
+Provides: product_flavor(Aeon) = 20240702-0
Summary: openSUSE Aeon%{?betaversion: %{betaversion}}
%description appliance
@@ -257,11 +257,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Aeon</name>
- <version>20240701</version>
+ <version>20240702</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:aeon:20240701</cpeid>
+ <cpeid>cpe:/o:opensuse:aeon:20240702</cpeid>
<productline>Aeon</productline>
<register>
<pool>
++++++ Kalpa-release.spec ++++++
--- /var/tmp/diff_new_pack.rRhM08/_old 2024-07-02 18:41:37.490650245 +0200
+++ /var/tmp/diff_new_pack.rRhM08/_new 2024-07-02 18:41:37.494650391 +0200
@@ -17,7 +17,7 @@
Name: Kalpa-release
-Version: 20240701
+Version: 20240702
Release: 0
Summary: openSUSE Kalpa
License: GPL-2.0-or-later
@@ -174,9 +174,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = Kalpa
-Provides: product(Kalpa) = 20240701-0
+Provides: product(Kalpa) = 20240702-0
Provides: product-label() = openSUSE%20Kalpa
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Akalpa%3A20240701
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Akalpa%3A20240702
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(Kalpa)
@@ -192,7 +192,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(Kalpa) = 20240701-0
+Provides: product_flavor(Kalpa) = 20240702-0
Summary: openSUSE Kalpa%{?betaversion: %{betaversion}}
%description appliance
@@ -257,11 +257,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Kalpa</name>
- <version>20240701</version>
+ <version>20240702</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:kalpa:20240701</cpeid>
+ <cpeid>cpe:/o:opensuse:kalpa:20240702</cpeid>
<productline>Kalpa</productline>
<register>
<pool>
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.rRhM08/_old 2024-07-02 18:41:37.522651416 +0200
+++ /var/tmp/diff_new_pack.rRhM08/_new 2024-07-02 18:41:37.522651416 +0200
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20240701
+Version: 20240702
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -179,9 +179,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = MicroOS
-Provides: product(MicroOS) = 20240701-0
+Provides: product(MicroOS) = 20240702-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20240701
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20240702
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(MicroOS)
@@ -197,7 +197,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(MicroOS) = 20240701-0
+Provides: product_flavor(MicroOS) = 20240702-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description dvd
@@ -213,7 +213,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(MicroOS) = 20240701-0
+Provides: product_flavor(MicroOS) = 20240702-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -278,11 +278,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20240701</version>
+ <version>20240702</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20240701</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20240702</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.rRhM08/_old 2024-07-02 18:41:37.550652441 +0200
+++ /var/tmp/diff_new_pack.rRhM08/_new 2024-07-02 18:41:37.554652587 +0200
@@ -18,7 +18,7 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
-Version: 20240701
+Version: 20240702
#!BcntSyncTag: openSUSE-Addon-NonOss
Release: 0
Summary: openSUSE NonOSS Addon
@@ -26,9 +26,9 @@
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE%2DAddon%2DNonOss
-Provides: product(openSUSE-Addon-NonOss) = 20240701-0
+Provides: product(openSUSE-Addon-NonOss) = 20240702-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20240701
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20240702
@@ -48,10 +48,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20240701</version>
+ <version>20240702</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20240701</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20240702</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.rRhM08/_old 2024-07-02 18:41:37.582653612 +0200
+++ /var/tmp/diff_new_pack.rRhM08/_new 2024-07-02 18:41:37.582653612 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20240701
+Version: 20240702
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -185,7 +185,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20240701-0
+Provides: product(openSUSE) = 20240702-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -199,7 +199,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20240701
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20240702
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Ftumbleweed%2Frepo%2Foss%2F
Requires: product_flavor(openSUSE)
@@ -213,7 +213,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -228,7 +228,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -243,7 +243,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -258,7 +258,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -273,7 +273,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -288,7 +288,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -303,7 +303,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -318,7 +318,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -333,7 +333,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -348,7 +348,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -363,7 +363,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -378,7 +378,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -393,7 +393,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -408,7 +408,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -423,7 +423,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -438,7 +438,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -453,7 +453,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -468,7 +468,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -483,7 +483,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20240701-0
+Provides: product_flavor(openSUSE) = 20240702-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -566,10 +566,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20240701</version>
+ <version>20240702</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20240701</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20240702</cpeid>
<productline>openSUSE</productline>
<register>
<target>openSUSE-Tumbleweed-x86_64</target>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mariadb-client-image for openSUSE:Factory checked in at 2024-07-02 18:19:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mariadb-client-image (Old)
and /work/SRC/openSUSE:Factory/.mariadb-client-image.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb-client-image"
Tue Jul 2 18:19:44 2024 rev:12 rq:1184894 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/mariadb-client-image/mariadb-client-image.changes 2024-06-24 20:58:02.130682494 +0200
+++ /work/SRC/openSUSE:Factory/.mariadb-client-image.new.18349/mariadb-client-image.changes 2024-07-02 18:19:47.054740210 +0200
@@ -1,0 +2,5 @@
+Tue Jul 2 14:53:25 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi(a)suse.com>
+
+- extend README
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ README.md ++++++
--- /var/tmp/diff_new_pack.vqXlRA/_old 2024-07-02 18:19:48.126779435 +0200
+++ /var/tmp/diff_new_pack.vqXlRA/_new 2024-07-02 18:19:48.130779581 +0200
@@ -1,7 +1,42 @@
-# The openSUSE Tumbleweed MariaDB Client container image
+# MariaDB Client container image
+
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
-MariaDB Client container based on the openSUSE Tumbleweed Base Container Image.
+## Description
+
+MariaDB is an open-source, multi-threaded, relational database management system. It's a backward-compatible branch of the MySQL Community Server that provides a drop-in replacement for MySQL.
+
+This image contains the [MariaDB client](https://mariadb.com/kb/en/mariadb-command-line-client/) and utilities.
+
+## Usage
+
+To connect to a MariaDB instance, run the following command:
+
+```ShellSession
+$ podman run -it --rm registry.opensuse.org/opensuse/mariadb-client:11.4 mariadb -h $HOST_IP -u root -p
+```
+
+Use the command below to dump all databases:
+
+```ShellSession
+$ podman run -it --rm registry.opensuse.org/opensuse/mariadb-client:11.4 mariadb-dump $HOST_IP -p --all-databases > my-dump.sql
+```
+
+## Utilities
+
+The following utilities are available in the image:
+
+- mariadb
+- mariadb-admin
+- mariadb-check
+- mariadb-dump
+- mariadb-import
+- mariadb-show
+- mariadbd-safe-helper
+
+## Backup and restore
+
+The MariaDB Knowledge Base [Container Backup and Restoration](https://mariadb.com/kb/en/container-backup-and-restoration/) provides further information on how to perform backup and restore.
## Licensing
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package OpenImageIO for openSUSE:Factory checked in at 2024-07-02 18:19:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/OpenImageIO (Old)
and /work/SRC/openSUSE:Factory/.OpenImageIO.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "OpenImageIO"
Tue Jul 2 18:19:39 2024 rev:52 rq:1184863 version:2.5.13.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/OpenImageIO/OpenImageIO.changes 2024-06-03 17:44:59.966414887 +0200
+++ /work/SRC/openSUSE:Factory/.OpenImageIO.new.18349/OpenImageIO.changes 2024-07-02 18:19:44.494646541 +0200
@@ -1,0 +2,12 @@
+Mon Jul 1 19:12:08 UTC 2024 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- update to 2.5.13.0
+ - fix: Various PSD files fail to load correctly #4302 (by Jesse
+ Yurkovich)
+ - fix: Improve error messages when a font is not found #4284
+ - int: In platform.h, define OIIO_DEVICE macro #4290
+ - ci: Typo in build_libtiff.bash #4280
+ - docs: Update INSTALL.md for windows #4279 (by Mel Massadian)
+ - docs: Fixes to formatting and sphinx warnings #4301
+
+-------------------------------------------------------------------
Old:
----
OpenImageIO-2.5.12.0.tar.gz
New:
----
OpenImageIO-2.5.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ OpenImageIO.spec ++++++
--- /var/tmp/diff_new_pack.RDzYRS/_old 2024-07-02 18:19:46.402716354 +0200
+++ /var/tmp/diff_new_pack.RDzYRS/_new 2024-07-02 18:19:46.406716500 +0200
@@ -35,7 +35,7 @@
%define so_ver 2_5
%define major_minor_ver 2.5
Name: OpenImageIO
-Version: 2.5.12.0
+Version: 2.5.13.0
Release: 0
Summary: Library for Reading and Writing Images
License: BSD-3-Clause
++++++ OpenImageIO-2.5.12.0.tar.gz -> OpenImageIO-2.5.13.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/OpenImageIO/OpenImageIO-2.5.12.0.tar.gz /work/SRC/openSUSE:Factory/.OpenImageIO.new.18349/OpenImageIO-2.5.13.0.tar.gz differ: char 13, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2024-07-02 18:19:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Tue Jul 2 18:19:31 2024 rev:524 rq:1184852 version:20240625.9e0d0ae
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2024-05-27 12:04:34.665148590 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.18349/openSUSE-release-tools.changes 2024-07-02 18:19:36.234344307 +0200
@@ -1,0 +2,163 @@
+Tue Jun 25 11:09:34 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240625.9e0d0ae:
+ * Also consider spdx.json an iso for the purpose of openQA
+
+-------------------------------------------------------------------
+Mon Jun 24 10:54:21 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240624.c6ba819:
+ * Leap 16 pkligsten use correct project
+ * Leap 16 use pkglistgen with product-composer
+
+-------------------------------------------------------------------
+Thu Jun 20 19:41:26 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240620.31704ab:
+ * Trigger publish at 0:50 and 12:50 every day
+ * Automatic publishing of repos for LEAPM 6.0
+
+-------------------------------------------------------------------
+Tue Jun 18 09:39:57 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240618.3244aa8:
+ * leap-micro55_appliances empty flavor list
+ * leap156 commented version of flavors without net images
+ * update publish_leap-micro60_appliances.config
+
+-------------------------------------------------------------------
+Tue Jun 18 08:32:19 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240618.f155c32:
+ * Use tabs for indentation
+ * add back openSUSE- prefix for LeapMicro 6.0 DVD media
+ * update dvd filename for the leapmicro6.0 and new productcompose
+ * use new 000productcompose only
+ * Add pkglistgen for LeapMicro 6.0 000productcompose (maint workflow)
+
+-------------------------------------------------------------------
+Mon Jun 17 17:04:48 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240617.0b60495:
+ * Switch CI to Leap 15.6
+
+-------------------------------------------------------------------
+Mon Jun 17 15:52:09 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240617.9b466e6:
+ * slfo-stagings: add a timeout for Build.product, and do not run if repo is missing
+ * verify-repo-built-successful: properly handle missing repositories
+ * verify-repo-built-successful: mark project and repository args required
+
+-------------------------------------------------------------------
+Mon Jun 17 10:26:40 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240617.0928376:
+ * cleanup_rings: whitelist 'devscripts'
+
+-------------------------------------------------------------------
+Mon Jun 17 07:38:42 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240617.abf142e:
+ * verify-build-and-generatelists: Adjust to use --engine and --git-url for SLFO based products.
+
+-------------------------------------------------------------------
+Mon Jun 17 07:29:44 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240617.864dffa:
+ * check_source: fix crash AttributeError: 'CheckSource' object has no attribute 'review_message'
+
+-------------------------------------------------------------------
+Thu Jun 13 10:34:48 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240613.9d63fee:
+ * docker_publisher.py: Set 15.6 as latest
+
+-------------------------------------------------------------------
+Wed Jun 12 08:47:02 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240612.1679c72:
+ * Remove codecoverage reporting
+
+-------------------------------------------------------------------
+Tue Jun 11 14:04:47 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240611.4d0b152:
+ * Restore SLFO pipelines
+
+-------------------------------------------------------------------
+Tue Jun 11 13:40:53 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240611.dc9d44d:
+ * gocd: slfo-stagings: wait for product to be built before enabling images
+ * pkglistgen: cli: Explicitly enable product-composer instead of detecting directories.
+
+-------------------------------------------------------------------
+Tue Jun 11 10:50:51 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240611.7999809:
+ * announcer: inject hostname in case fqdn cannot be found
+
+-------------------------------------------------------------------
+Mon Jun 10 12:41:48 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240610.fe74cce:
+ * gocd: sl-micro: Decouple publishing to :PUBLISH project, from publishing to :ToTest.
+
+-------------------------------------------------------------------
+Wed Jun 05 08:05:15 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240605.63b8547:
+ * Adjust the staging configuration of ALP to maintenance needs
+
+-------------------------------------------------------------------
+Tue Jun 04 14:37:47 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240604.2a36623:
+ * Add SLES16.0 release pipelines
+
+-------------------------------------------------------------------
+Mon Jun 03 13:28:42 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240603.cba9d9b:
+ * ttm: Print all failing packages before exiting
+ * ttm: Use _result of the whole project instead of separately for each pkg
+
+-------------------------------------------------------------------
+Thu May 30 08:24:20 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240530.408936d:
+ * gocd: Allow SLFO to have pkglists generated.
+
+-------------------------------------------------------------------
+Thu May 30 07:43:55 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240530.787cdb9:
+ * gocd: slfo: RelPkgs are not generated anymore.
+
+-------------------------------------------------------------------
+Thu May 30 07:04:11 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240530.db1c4dc:
+ * gocd: # must be followed by a parameter pattern or escaped by another #.
+ * fix slfo stagings pipelines
+
+-------------------------------------------------------------------
+Wed May 29 15:22:44 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240529.3f58f3e:
+ * pkglistgen: Support working on git branches
+
+-------------------------------------------------------------------
+Wed May 29 12:25:51 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240529.34947e2:
+ * Leap 15: disable skippkg-finder for 15.6
+
+-------------------------------------------------------------------
+Mon May 27 12:57:26 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240527.d25c6ef:
+ * gocd: micro: Wait also for kiwi images to finish building.
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20240520.c5122b8.obscpio
New:
----
openSUSE-release-tools-20240625.9e0d0ae.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.3tbclA/_old 2024-07-02 18:19:37.262381921 +0200
+++ /var/tmp/diff_new_pack.3tbclA/_new 2024-07-02 18:19:37.266382067 +0200
@@ -21,7 +21,7 @@
%define announcer_filename factory-package-news
%define services osrt-slsa.target osrt-relpkggen@.timer osrt-relpkggen@.service osrt-pkglistgen@.timer osrt-pkglistgen@.service
Name: openSUSE-release-tools
-Version: 20240520.c5122b8
+Version: 20240625.9e0d0ae
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.3tbclA/_old 2024-07-02 18:19:37.310383677 +0200
+++ /var/tmp/diff_new_pack.3tbclA/_new 2024-07-02 18:19:37.314383824 +0200
@@ -1,7 +1,7 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param name="changesrevision">c5122b867e455f9099e7dcd676ebef2a68bd7033</param>
+ <param name="changesrevision">9e0d0ae27f958648945c951c8d32aa2a567f2ad9</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20240520.c5122b8.obscpio -> openSUSE-release-tools-20240625.9e0d0ae.obscpio ++++++
++++ 2023 lines of diff (skipped)
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.3tbclA/_old 2024-07-02 18:19:38.142414120 +0200
+++ /var/tmp/diff_new_pack.3tbclA/_new 2024-07-02 18:19:38.146414267 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20240520.c5122b8
-mtime: 1716193962
-commit: c5122b867e455f9099e7dcd676ebef2a68bd7033
+version: 20240625.9e0d0ae
+mtime: 1719313626
+commit: 9e0d0ae27f958648945c951c8d32aa2a567f2ad9
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package osc for openSUSE:Factory checked in at 2024-07-02 18:19:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/osc (Old)
and /work/SRC/openSUSE:Factory/.osc.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "osc"
Tue Jul 2 18:19:26 2024 rev:197 rq:1184851 version:1.8.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/osc/osc.changes 2024-07-01 11:23:10.493176926 +0200
+++ /work/SRC/openSUSE:Factory/.osc.new.18349/osc.changes 2024-07-02 18:19:33.450242440 +0200
@@ -1,0 +2,9 @@
+Tue Jul 2 11:56:43 UTC 2024 - Daniel Mach <daniel.mach(a)suse.com>
+
+- 1.8.2
+ - Library:
+ - Change 'repairwc' command to fix missing .osc/_osclib_version
+ - Make error message in check_store_version() more generic to work for both projects and packages
+ - Fix check_store_version in project store
+
+-------------------------------------------------------------------
Old:
----
osc-1.8.1.tar.gz
New:
----
osc-1.8.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ osc.spec ++++++
--- /var/tmp/diff_new_pack.ouwJ5E/_old 2024-07-02 18:19:34.326274493 +0200
+++ /var/tmp/diff_new_pack.ouwJ5E/_new 2024-07-02 18:19:34.330274639 +0200
@@ -67,7 +67,7 @@
%endif
Name: osc
-Version: 1.8.1
+Version: 1.8.2
Release: 0
Summary: Command-line client for the Open Build Service
License: GPL-2.0-or-later
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.ouwJ5E/_old 2024-07-02 18:19:34.362275810 +0200
+++ /var/tmp/diff_new_pack.ouwJ5E/_new 2024-07-02 18:19:34.366275956 +0200
@@ -1,6 +1,6 @@
pkgname=osc
-pkgver=1.8.1
-pkgrel=88bf8a6a77d4f6e711b9b16732e40f83
+pkgver=1.8.2
+pkgrel=63005f5c57b69f5389cabb6ca5a033ed
pkgdesc="Command-line client for the Open Build Service"
arch=('x86_64')
url="https://www.github.com/openSUSE/osc"
++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.ouwJ5E/_old 2024-07-02 18:19:34.406277420 +0200
+++ /var/tmp/diff_new_pack.ouwJ5E/_new 2024-07-02 18:19:34.410277567 +0200
@@ -1,4 +1,4 @@
-osc (1.8.1-0) unstable; urgency=low
+osc (1.8.2-0) unstable; urgency=low
* Placeholder
++++++ osc-1.8.1.tar.gz -> osc-1.8.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.8.1/NEWS new/osc-1.8.2/NEWS
--- old/osc-1.8.1/NEWS 2024-07-01 10:11:40.000000000 +0200
+++ new/osc-1.8.2/NEWS 2024-07-02 13:54:34.000000000 +0200
@@ -1,3 +1,9 @@
+- 1.8.2
+ - Library:
+ - Change 'repairwc' command to fix missing .osc/_osclib_version
+ - Make error message in check_store_version() more generic to work for both projects and packages
+ - Fix check_store_version in project store
+
- 1.8.1
- Command-line:
- Fix 'linkpac' command crash when used with '--disable-build' or '--disable-publish' option
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.8.1/osc/__init__.py new/osc-1.8.2/osc/__init__.py
--- old/osc-1.8.1/osc/__init__.py 2024-07-01 10:11:40.000000000 +0200
+++ new/osc-1.8.2/osc/__init__.py 2024-07-02 13:54:34.000000000 +0200
@@ -13,7 +13,7 @@
from .util import git_version
-__version__ = git_version.get_version('1.8.1')
+__version__ = git_version.get_version('1.8.2')
# vim: sw=4 et
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.8.1/osc/commandline.py new/osc-1.8.2/osc/commandline.py
--- old/osc-1.8.1/osc/commandline.py 2024-07-01 10:11:40.000000000 +0200
+++ new/osc-1.8.2/osc/commandline.py 2024-07-02 13:54:34.000000000 +0200
@@ -10102,8 +10102,9 @@
if is_project_dir(i):
try:
prj = Project(i, getPackageList=False)
- except oscerr.WorkingCopyInconsistent as e:
- if '_apiurl' in e.dirty_files and (not apiurl or not opts.force_apiurl):
+ except (oscerr.WorkingCopyInconsistent, oscerr.NoWorkingCopy) as e:
+ dirty_files = getattr(e, "dirty_files", [])
+ if '_apiurl' in dirty_files and (not apiurl or not opts.force_apiurl):
apiurl = get_apiurl(apiurls)
prj = Project(i, getPackageList=False, wc_check=False)
prj.wc_repair(apiurl)
@@ -10122,8 +10123,9 @@
for pdir in pacs:
try:
p = Package(pdir)
- except oscerr.WorkingCopyInconsistent as e:
- if '_apiurl' in e.dirty_files and (not apiurl or not opts.force_apiurl):
+ except (oscerr.WorkingCopyInconsistent, oscerr.NoWorkingCopy) as e:
+ dirty_files = getattr(e, "dirty_files", [])
+ if '_apiurl' in dirty_files and (not apiurl or not opts.force_apiurl):
apiurl = get_apiurl(apiurls)
p = Package(pdir, wc_check=False)
p.wc_repair(apiurl)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.8.1/osc/obs_scm/package.py new/osc-1.8.2/osc/obs_scm/package.py
--- old/osc-1.8.1/osc/obs_scm/package.py 2024-07-01 10:11:40.000000000 +0200
+++ new/osc-1.8.2/osc/obs_scm/package.py 2024-07-02 13:54:34.000000000 +0200
@@ -51,7 +51,7 @@
self.dir = workingdir or "."
self.absdir = os.path.abspath(self.dir)
- self.store = osc_store.get_store(self.dir)
+ self.store = osc_store.get_store(self.dir, check=wc_check)
self.store.assert_is_package()
self.storedir = os.path.join(self.absdir, store)
self.progress_obj = progress_obj
@@ -178,8 +178,13 @@
def wc_repair(self, apiurl: Optional[str] = None):
from ..core import get_source_file
- store = Store(self.dir)
+ store = Store(self.dir, check=False)
store.assert_is_package()
+
+ # there was a time when osc did not write _osclib_version file; let's assume these checkouts have version 1.0
+ if not store.exists("_osclib_version"):
+ store.write_string("_osclib_version", "1.0")
+
if not store.exists("_apiurl") or apiurl:
if apiurl is None:
msg = 'cannot repair wc: the \'_apiurl\' file is missing but ' \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.8.1/osc/obs_scm/project.py new/osc-1.8.2/osc/obs_scm/project.py
--- old/osc-1.8.1/osc/obs_scm/project.py 2024-07-01 10:11:40.000000000 +0200
+++ new/osc-1.8.2/osc/obs_scm/project.py 2024-07-02 13:54:34.000000000 +0200
@@ -87,7 +87,7 @@
self.dir = Path(dir)
self.absdir = os.path.abspath(dir)
- self.store = Store(dir)
+ self.store = Store(dir, check=wc_check)
self.progress_obj = progress_obj
self.name = store_read_project(self.dir)
@@ -140,8 +140,13 @@
return dirty_files
def wc_repair(self, apiurl: Optional[str] = None):
- store = Store(self.dir)
+ store = Store(self.dir, check=False)
store.assert_is_project()
+
+ # there was a time when osc did not write _osclib_version file; let's assume these checkouts have version 1.0
+ if not store.exists("_osclib_version"):
+ store.write_string("_osclib_version", "1.0")
+
if not store.exists("_apiurl") or apiurl:
if apiurl is None:
msg = 'cannot repair wc: the \'_apiurl\' file is missing but ' \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.8.1/osc/obs_scm/store.py new/osc-1.8.2/osc/obs_scm/store.py
--- old/osc-1.8.1/osc/obs_scm/store.py 2024-07-01 10:11:40.000000000 +0200
+++ new/osc-1.8.2/osc/obs_scm/store.py 2024-07-02 13:54:34.000000000 +0200
@@ -339,10 +339,13 @@
with open(versionfile) as f:
v = f.read().strip()
except:
- v = ''
+ if is_project_dir(dir):
+ v = '1.0'
+ else:
+ v = ''
if v == '':
- msg = f'Error: "{os.path.abspath(dir)}" is not an osc package working copy.'
+ msg = f'Error: "{os.path.abspath(dir)}" is not an osc working copy.'
if os.path.exists(os.path.join(dir, '.svn')):
msg = msg + '\nTry svn instead of osc.'
raise oscerr.NoWorkingCopy(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc-1.8.1/osc/util/git_version.py new/osc-1.8.2/osc/util/git_version.py
--- old/osc-1.8.1/osc/util/git_version.py 2024-07-01 10:11:40.000000000 +0200
+++ new/osc-1.8.2/osc/util/git_version.py 2024-07-02 13:54:34.000000000 +0200
@@ -9,7 +9,7 @@
"""
# the `version` variable contents get substituted during `git archive`
# it requires adding this to .gitattributes: <path to this file> export-subst
- version = "1.8.1"
+ version = "1.8.2"
if version.startswith(("$", "%")):
# "$": version hasn't been substituted during `git archive`
# "%": "Format:" and "$" characters get removed from the version string (a GitHub bug?)
++++++ osc.dsc ++++++
--- /var/tmp/diff_new_pack.ouwJ5E/_old 2024-07-02 18:19:34.830292934 +0200
+++ /var/tmp/diff_new_pack.ouwJ5E/_new 2024-07-02 18:19:34.834293081 +0200
@@ -1,6 +1,6 @@
Format: 1.0
Source: osc
-Version: 1.8.1-0
+Version: 1.8.2-0
Binary: osc
Maintainer: Adrian Schroeter <adrian(a)suse.de>
Architecture: any
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openfortivpn for openSUSE:Factory checked in at 2024-07-02 18:19:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openfortivpn (Old)
and /work/SRC/openSUSE:Factory/.openfortivpn.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openfortivpn"
Tue Jul 2 18:19:25 2024 rev:29 rq:1184847 version:1.22.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/openfortivpn/openfortivpn.changes 2024-04-23 18:57:22.033264604 +0200
+++ /work/SRC/openSUSE:Factory/.openfortivpn.new.18349/openfortivpn.changes 2024-07-02 18:19:32.238198093 +0200
@@ -1,0 +2,6 @@
+Thu Jun 20 03:48:56 UTC 2024 - ming li <mli(a)suse.com>
+
+- Update to version 1.22.1
+ * do not advertise we talk compressed HTTP - we don't
+
+-------------------------------------------------------------------
Old:
----
openfortivpn-1.22.0.tar.gz
New:
----
openfortivpn-1.22.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openfortivpn.spec ++++++
--- /var/tmp/diff_new_pack.DmhDMx/_old 2024-07-02 18:19:32.882221657 +0200
+++ /var/tmp/diff_new_pack.DmhDMx/_new 2024-07-02 18:19:32.886221803 +0200
@@ -17,7 +17,7 @@
Name: openfortivpn
-Version: 1.22.0
+Version: 1.22.1
Release: 0
Summary: Client for PPP+SSL VPN tunnel services
License: GPL-3.0-or-later
++++++ openfortivpn-1.22.0.tar.gz -> openfortivpn-1.22.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openfortivpn-1.22.0/CHANGELOG.md new/openfortivpn-1.22.1/CHANGELOG.md
--- old/openfortivpn-1.22.0/CHANGELOG.md 2024-04-16 16:29:43.000000000 +0200
+++ new/openfortivpn-1.22.1/CHANGELOG.md 2024-06-02 20:01:44.000000000 +0200
@@ -14,6 +14,10 @@
This high level changelog is usually updated when a release is tagged.
On the master branch there may be changes that are not (yet) described here.
+### 1.22.1
+
+* [-] do not advertise we talk compressed HTTP - we don't
+
### 1.22.0
* [-] make sure Homebrew packages for macOS are built with --enable-legacy-pppd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openfortivpn-1.22.0/configure.ac new/openfortivpn-1.22.1/configure.ac
--- old/openfortivpn-1.22.0/configure.ac 2024-04-16 16:29:43.000000000 +0200
+++ new/openfortivpn-1.22.1/configure.ac 2024-06-02 20:01:44.000000000 +0200
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.63])
-AC_INIT([openfortivpn], [1.22.0])
+AC_INIT([openfortivpn], [1.22.1])
AC_CONFIG_SRCDIR([src/main.c])
AM_INIT_AUTOMAKE([foreign subdir-objects])
@@ -85,9 +85,6 @@
util.h \
])
-# Checks for optional header files with prerequisites of other headers.
-AC_CHECK_HEADERS([net/if_var.h],[],[],[#include <net/if.h>])
-
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openfortivpn-1.22.0/src/http.c new/openfortivpn-1.22.1/src/http.c
--- old/openfortivpn-1.22.0/src/http.c 2024-04-16 16:29:43.000000000 +0200
+++ new/openfortivpn-1.22.1/src/http.c 2024-06-02 20:01:44.000000000 +0200
@@ -275,7 +275,7 @@
"Host: %s:%d\r\n"
"User-Agent: %s\r\n"
"Accept: */*\r\n"
- "Accept-Encoding: gzip, deflate, br\r\n"
+ "Accept-Encoding: identity\r\n"
"Pragma: no-cache\r\n"
"Cache-Control: no-store, no-cache, must-revalidate\r\n"
"If-Modified-Since: Sat, 1 Jan 2000 00:00:00 GMT\r\n"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package syncthing for openSUSE:Factory checked in at 2024-07-02 18:19:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/syncthing (Old)
and /work/SRC/openSUSE:Factory/.syncthing.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "syncthing"
Tue Jul 2 18:19:23 2024 rev:153 rq:1184848 version:1.27.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/syncthing/syncthing.changes 2024-06-05 17:42:25.722167767 +0200
+++ /work/SRC/openSUSE:Factory/.syncthing.new.18349/syncthing.changes 2024-07-02 18:19:30.574137208 +0200
@@ -1,0 +2,7 @@
+Tue Jul 2 11:45:07 UTC 2024 - Marius Kittler <marius.kittler(a)suse.com>
+
+- Update to 1.27.9
+ * Enhancements:
+ #9552: gui: Use localised time in duration
+
+-------------------------------------------------------------------
Old:
----
syncthing-source-v1.27.8.tar.gz
syncthing-source-v1.27.8.tar.gz.asc
New:
----
syncthing-source-v1.27.9.tar.gz
syncthing-source-v1.27.9.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ syncthing.spec ++++++
--- /var/tmp/diff_new_pack.v6WjDq/_old 2024-07-02 18:19:31.470169992 +0200
+++ /var/tmp/diff_new_pack.v6WjDq/_new 2024-07-02 18:19:31.474170139 +0200
@@ -17,7 +17,7 @@
Name: syncthing
-Version: 1.27.8
+Version: 1.27.9
Release: 0
Summary: Continuous File Synchronisation
License: MPL-2.0
++++++ syncthing-source-v1.27.8.tar.gz -> syncthing-source-v1.27.9.tar.gz ++++++
/work/SRC/openSUSE:Factory/syncthing/syncthing-source-v1.27.8.tar.gz /work/SRC/openSUSE:Factory/.syncthing.new.18349/syncthing-source-v1.27.9.tar.gz differ: char 12, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kew for openSUSE:Factory checked in at 2024-07-02 18:19:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kew (Old)
and /work/SRC/openSUSE:Factory/.kew.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kew"
Tue Jul 2 18:19:22 2024 rev:18 rq:1184843 version:2.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/kew/kew.changes 2024-06-17 19:30:40.356840197 +0200
+++ /work/SRC/openSUSE:Factory/.kew.new.18349/kew.changes 2024-07-02 18:19:27.630029487 +0200
@@ -1,0 +2,11 @@
+Tue Jul 2 11:23:54 UTC 2024 - Muhammad Akbar Yanuar Mantari <mantarimay(a)pm.me>
+
+- Update to version 2.5.1
+ * Fixed bug where desktop notifications could lead to a short
+ stall of the app at startup if notify-send wasn't installed.
+ * Search: Removed duplicate search result name variable. This
+ means search results will now have a very low memory footprint.
+ * Symlinked directories should work better now. Works best if
+ the symlink and the destination directory has the same name.
+
+-------------------------------------------------------------------
Old:
----
kew-2.5.0.tar.gz
New:
----
kew-2.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kew.spec ++++++
--- /var/tmp/diff_new_pack.YiPpZH/_old 2024-07-02 18:19:29.566100325 +0200
+++ /var/tmp/diff_new_pack.YiPpZH/_new 2024-07-02 18:19:29.566100325 +0200
@@ -17,7 +17,7 @@
Name: kew
-Version: 2.5.0
+Version: 2.5.1
Release: 0
Summary: A command-line music player
License: GPL-2.0-only
++++++ kew-2.5.0.tar.gz -> kew-2.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/README.md new/kew-2.5.1/README.md
--- old/kew-2.5.0/README.md 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/README.md 2024-07-01 14:49:05.000000000 +0200
@@ -4,12 +4,9 @@
Listen to music in the terminal.
-<div align="center">
- <img src="kew-screenshot.png" />
- </br>
- <i>Example screenshot: Jenova 7: Lost Sci-Fi Movie Themes.</i>
- </br>
-</div>
+![Example screenshot](kew-screenshot.png)
+*Example screenshot running in Konsole: [Jenova 7: Lost Sci-Fi Movie Themes](https://jenova7.bandcamp.com/album/lost-sci-fi-movie-themes).*
+
\
@@ -202,7 +199,7 @@
* number +<kbd>G</kbd>, <kbd>g</kbd> or <kbd>Enter</kbd>, go to specific song number in the playlist.
* <kbd>g</kbd> go to last song.
* . to add current song to kew.m3u (run with "kew .").
-* <kbd>q</kbd> to quit.
+* <kbd>Esc</kbd> to quit.
## Configuration
Binary files old/kew-2.5.0/kew-screenshot.png and new/kew-2.5.1/kew-screenshot.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/file.c new/kew-2.5.1/src/file.c
--- old/kew-2.5.0/src/file.c 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/file.c 2024-07-01 14:49:05.000000000 +0200
@@ -127,7 +127,7 @@
}
char entryPath[MAXPATHLEN];
- char *currentDir = getcwd(NULL, 0);
+ char *currentDir = get_current_dir_name();
snprintf(entryPath, sizeof(entryPath), "%s/%s", currentDir, dir->d_name);
free(currentDir);
@@ -141,7 +141,7 @@
if (((exactSearch && (strcasecmp(dir->d_name, searching) == 0)) || (!exactSearch && c_strcasestr(dir->d_name, searching) != NULL)) &&
(searchType != FileOnly) && (searchType != SearchPlayList))
{
- char *curDir = getcwd(NULL, 0);
+ char *curDir = get_current_dir_name();
snprintf(result, MAXPATHLEN, "%s/%s", curDir, dir->d_name);
free(curDir);
copyresult = true;
@@ -187,7 +187,7 @@
if ((exactSearch && (strcasecmp(dir->d_name, searching) == 0)) || (!exactSearch && c_strcasestr(dir->d_name, searching) != NULL))
{
- char *curDir = getcwd(NULL, 0);
+ char *curDir = get_current_dir_name();
snprintf(result, MAXPATHLEN, "%s/%s", curDir, dir->d_name);
copyresult = true;
free(curDir);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/file.h new/kew-2.5.1/src/file.h
--- old/kew-2.5.0/src/file.h 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/file.h 2024-07-01 14:49:05.000000000 +0200
@@ -13,6 +13,7 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <time.h>
+#define __USE_GNU
#include <unistd.h>
#include "utils.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/kew.c new/kew-2.5.1/src/kew.c
--- old/kew-2.5.0/src/kew.c 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/kew.c 2024-07-01 14:49:05.000000000 +0200
@@ -173,7 +173,7 @@
fuzzySearch(getLibrary(), fuzzySearchThreshold);
event.type = EVENT_SEARCH;
}
- }
+ }
// Map keys to events
EventMapping keyMappings[] = {{settings.scrollUpAlt, EVENT_SCROLLPREV},
@@ -214,12 +214,12 @@
{settings.hardShowTrackAlt, EVENT_SHOWTRACK},
{settings.hardShowLibrary, EVENT_SHOWLIBRARY},
{settings.hardShowLibraryAlt, EVENT_SHOWLIBRARY},
- {settings.hardShowSearchAlt, EVENT_SHOWSEARCH},
+ {settings.hardShowSearchAlt, EVENT_SHOWSEARCH},
{settings.hardNextPage, EVENT_NEXTPAGE},
{settings.hardPrevPage, EVENT_PREVPAGE},
{settings.hardRemove, EVENT_REMOVE}};
- int numKeyMappings = sizeof(keyMappings) / sizeof(EventMapping);
+ int numKeyMappings = sizeof(keyMappings) / sizeof(EventMapping);
// Set event for pressed key
for (int i = 0; i < numKeyMappings; i++)
@@ -236,7 +236,7 @@
event.type = keyMappings[i].eventType;
break;
}
- }
+ }
// Handle gg
if (event.key[0] == 'g' && event.type == EVENT_NONE)
@@ -448,7 +448,7 @@
enqueueSongs(getCurrentSearchEntry());
- pthread_mutex_unlock(&(playlist.mutex));
+ pthread_mutex_unlock(&(playlist.mutex));
}
else
{
@@ -799,47 +799,49 @@
(void)data;
calcElapsedTime();
- handleInput();
-
- // Process GDBus events in the global_main_context
- while (g_main_context_pending(global_main_context))
- {
- g_main_context_iteration(global_main_context, FALSE);
- }
+
+ handleInput();
updateCounter++;
- if (updateCounter % 2 == 0 || appState.currentView != SONG_VIEW) // Update every other time or if searching
+
+ // Update every other time or if searching (search needs to update often to detect keypresses)
+ if (updateCounter % 2 == 0 || appState.currentView == SEARCH_VIEW)
{
+ // Process GDBus events in the global_main_context
+ while (g_main_context_pending(global_main_context))
+ {
+ g_main_context_iteration(global_main_context, FALSE);
+ }
+
updatePlayer();
- }
- if (playlist.head != NULL)
- {
- if (loadingAudioData == false && (skipFromStopped || !loadedNextSong || nextSongNeedsRebuilding) && !audioData.endOfListReached)
+ if (playlist.head != NULL)
{
- handleSkipFromStopped();
- loadAudioData();
- }
+ if (loadingAudioData == false && (skipFromStopped || !loadedNextSong || nextSongNeedsRebuilding) && !audioData.endOfListReached)
+ {
+ handleSkipFromStopped();
+ loadAudioData();
+ }
- if (songHasErrors)
- tryLoadNext();
+ if (songHasErrors)
+ tryLoadNext();
- if (isPlaybackDone())
- {
- updateLastSongSwitchTime();
- prepareNextSong();
+ if (isPlaybackDone())
+ {
+ updateLastSongSwitchTime();
+ prepareNextSong();
- if (!doQuit)
- switchAudioImplementation();
+ if (!doQuit)
+ switchAudioImplementation();
+ }
}
- }
- if (doQuit)
- {
- g_main_loop_quit(main_loop);
- return FALSE;
+ if (doQuit)
+ {
+ g_main_loop_quit(main_loop);
+ return FALSE;
+ }
}
-
return TRUE;
}
@@ -866,6 +868,7 @@
if (res >= 0)
{
+ logTime("createAudioDevice()");
res = createAudioDevice(&userData);
}
@@ -889,12 +892,14 @@
g_unix_signal_add(SIGINT, on_sigint, main_loop);
+ logTime("emitStartPlayingMpris()");
if (song != NULL)
emitStartPlayingMpris();
else
emitPlaybackStoppedMpris();
g_timeout_add(50, mainloop_callback, NULL);
+ logTime("g_main_loop_run()");
g_main_loop_run(main_loop);
g_main_loop_unref(main_loop);
}
@@ -965,6 +970,7 @@
{
if (originalPlaylist == NULL)
{
+ logTime("deepCopyPlayList()");
originalPlaylist = malloc(sizeof(PlayList));
*originalPlaylist = deepCopyPlayList(&playlist);
}
@@ -1006,6 +1012,7 @@
pthread_mutex_init(&(loadingdata.mutex), NULL);
pthread_mutex_init(&(playlist.mutex), NULL);
nerdFontsEnabled = hasNerdFonts();
+ logTime("createLibrary");
createLibrary(&settings);
setlocale(LC_ALL, "");
fflush(stdout);
@@ -1049,12 +1056,15 @@
void playAll()
{
+ logTime("init()");
init();
+ logTime("createPlayListFromFileSystemEntry()");
createPlayListFromFileSystemEntry(library, &playlist, MAX_FILES);
if (playlist.count == 0)
{
exit(0);
- }
+ }
+ logTime("shufflePlaylist()");
shufflePlaylist(&playlist);
run();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/player.c new/kew-2.5.1/src/player.c
--- old/kew-2.5.0/src/player.c 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/player.c 2024-07-01 14:49:05.000000000 +0200
@@ -22,7 +22,7 @@
} PixelData;
#endif
-const char VERSION[] = "2.5.0";
+const char VERSION[] = "2.5.1";
const int ABSOLUTE_MIN_WIDTH = 68;
bool visualizerEnabled = true;
bool coverEnabled = true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/playerops.c new/kew-2.5.1/src/playerops.c
--- old/kew-2.5.0/src/playerops.c 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/playerops.c 2024-07-01 14:49:05.000000000 +0200
@@ -1335,6 +1335,8 @@
{
pthread_t threadId;
+ freeSearchResults();
+
if (pthread_create(&threadId, NULL, updateLibraryThread, path) != 0)
{
perror("Failed to create thread");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/search_ui.c new/kew-2.5.1/src/search_ui.c
--- old/kew-2.5.0/src/search_ui.c 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/search_ui.c 2024-07-01 14:49:05.000000000 +0200
@@ -7,7 +7,6 @@
typedef struct SearchResult
{
- char *term;
FileSystemEntry *entry;
int distance;
} SearchResult;
@@ -40,7 +39,6 @@
resultsCapacity = resultsCapacity == 0 ? 10 : resultsCapacity * 2;
results = realloc(results, resultsCapacity * sizeof(SearchResult));
}
- results[resultsCount].term = strdup(entry->name);
results[resultsCount].distance = distance;
results[resultsCount].entry = entry;
resultsCount++;
@@ -55,12 +53,7 @@
// Free allocated memory from previous search
void freeSearchResults()
{
- for (size_t i = 0; i < resultsCount; i++)
- {
- free(results[i].term);
- }
-
- if (resultsCount > 0)
+ if (results != NULL)
{
free(results);
results = NULL;
@@ -286,11 +279,11 @@
name[0] = '\0';
if (results[i].entry->isDirectory)
{
- snprintf(name, maxNameWidth + 1, "[%s]", results[i].term);
+ snprintf(name, maxNameWidth + 1, "[%s]", results[i].entry->name);
}
else
{
- snprintf(name, maxNameWidth + 1, "%s", results[i].term);
+ snprintf(name, maxNameWidth + 1, "%s", results[i].entry->name);
}
printf("%s\n", name);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/sound.c new/kew-2.5.1/src/sound.c
--- old/kew-2.5.0/src/sound.c 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/sound.c 2024-07-01 14:49:05.000000000 +0200
@@ -468,17 +468,22 @@
int createAudioDevice(UserData *userData)
{
+ logTime("ma_context_init");
ma_context_init(NULL, 0, NULL, &context);
+
+ logTime("switchAudioImplementation");
if (switchAudioImplementation() >= 0)
{
SongData *currentSongData = userData->currentSongData;
if (currentSongData != NULL && currentSongData->hasErrors == 0 && currentSongData->metadata && strlen(currentSongData->metadata->title) > 0)
{
+ logTime("displaySongNotification");
displaySongNotification(currentSongData->metadata->artist, currentSongData->metadata->title, currentSongData->coverArtPath);
gint64 length = getLengthInSec(currentSongData->duration);
// update mpris
+ logTime("emitMetadataChanged");
emitMetadataChanged(
currentSongData->metadata->title,
currentSongData->metadata->artist,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/soundcommon.c new/kew-2.5.1/src/soundcommon.c
--- old/kew-2.5.0/src/soundcommon.c 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/soundcommon.c 2024-07-01 14:49:05.000000000 +0200
@@ -54,6 +54,14 @@
int opusDecoderIndex = -1;
int vorbisDecoderIndex = -1;
+void logTime(const char *message)
+{
+ (void)message;
+ // struct timespec ts;
+ // clock_gettime(CLOCK_REALTIME, &ts);
+ // printf("[%ld.%09ld] %s\n", ts.tv_sec, ts.tv_nsec, message);
+}
+
enum AudioImplementation getCurrentImplementationType()
{
return currentImplementation;
@@ -1098,12 +1106,14 @@
sanitized[j] = '\0';
}
-char *remove_blacklisted_chars(const char *input, const char *blacklist)
+char *removeBlacklistedChars(const char *input, const char *blacklist)
{
if (!input || !blacklist)
+ {
return NULL;
+ }
- char *output = malloc(strlen(input) + 1);
+ char *output = calloc(strlen(input) + 1, sizeof(char));
if (!output)
{
perror("Failed to allocate memory");
@@ -1121,7 +1131,6 @@
}
in_ptr++;
}
- *out_ptr = '\0';
return output;
}
@@ -1131,48 +1140,61 @@
return floor(llround(duration * G_USEC_PER_SEC));
}
-int displaySongNotification(const char *artist, const char *title, const char *cover) {
- if (!allowNotifications)
- return 0;
+int displaySongNotification(const char *artist, const char *title, const char *cover)
+{
+ if (!allowNotifications)
+ {
+ return 0;
+ }
- char sanitized_cover[MAXPATHLEN];
+ char sanitized_cover[MAXPATHLEN];
+ const char *blacklist = "&;`|*~<>^()[]{}$\\\"";
+ char *sanitizedArtist = removeBlacklistedChars(artist, blacklist);
+ char *sanitizedTitle = removeBlacklistedChars(title, blacklist);
- const char *blacklist = "&;`|*~<>^()[]{}$\\\"";
- char *sanitizedArtist = remove_blacklisted_chars(artist, blacklist);
- char *sanitizedTitle = remove_blacklisted_chars(title, blacklist);
-
- sanitize_filepath(cover, sanitized_cover, sizeof(sanitized_cover));
-
- char message[MAXPATHLEN + 1024];
- if (strlen(artist) > 0) {
- snprintf(message, sizeof(message), "%s - %s", sanitizedArtist, sanitizedTitle);
- } else {
- snprintf(message, sizeof(message), "%s", sanitizedTitle);
- }
-
- char *args[] = {"/usr/bin/notify-send", "-a", "kew", message, "--icon", sanitized_cover, NULL};
-
- pid_t pid = fork();
- if (pid == -1) {
- // Handle error
- perror("fork");
- } else if (pid > 0) {
- // Parent process
- int status;
- waitpid(pid, &status, 0);
- } else {
- // Child process
- extern char **environ;
- if (execve("/usr/bin/notify-send", args, environ) == -1) {
+ if (!sanitizedArtist || !sanitizedTitle)
+ {
+ free(sanitizedArtist);
+ free(sanitizedTitle);
+ return -1;
+ }
- _Exit(EXIT_FAILURE);
+ sanitize_filepath(cover, sanitized_cover, sizeof(sanitized_cover));
+
+ char message[MAXPATHLEN + 1024];
+ if (strlen(artist) > 0)
+ {
+ snprintf(message, sizeof(message), "%s - %s", sanitizedArtist, sanitizedTitle);
+ }
+ else
+ {
+ snprintf(message, sizeof(message), "%s", sanitizedTitle);
+ }
+
+ char *args[] = {"/usr/bin/notify-send", "-a", "kew", message, "--icon", sanitized_cover, NULL};
+
+ pid_t pid = vfork();
+ if (pid == -1)
+ {
+ perror("vfork");
+ free(sanitizedArtist);
+ free(sanitizedTitle);
+ return -1;
+ }
+ else if (pid == 0)
+ {
+ // Child process
+ execv(args[0], args);
+ // If execv fails
+ perror("execv");
+ _Exit(EXIT_FAILURE);
}
- }
- free(sanitizedArtist);
- free(sanitizedTitle);
+ // Parent process
+ free(sanitizedArtist);
+ free(sanitizedTitle);
- return 0;
+ return 0;
}
void executeSwitch(AudioData *pAudioData)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kew-2.5.0/src/soundcommon.h new/kew-2.5.1/src/soundcommon.h
--- old/kew-2.5.0/src/soundcommon.h 2024-06-17 03:53:53.000000000 +0200
+++ new/kew-2.5.1/src/soundcommon.h 2024-07-01 14:49:05.000000000 +0200
@@ -351,4 +351,6 @@
void vorbis_on_audio_frames(ma_device *pDevice, void *pFramesOut, const void *pFramesIn, ma_uint32 frameCount);
+void logTime(const char *message);
+
#endif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package apache2-mod_authn_otp for openSUSE:Factory checked in at 2024-07-02 18:19:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache2-mod_authn_otp (Old)
and /work/SRC/openSUSE:Factory/.apache2-mod_authn_otp.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache2-mod_authn_otp"
Tue Jul 2 18:19:20 2024 rev:14 rq:1184837 version:1.1.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache2-mod_authn_otp/apache2-mod_authn_otp.changes 2024-06-20 16:49:15.177962823 +0200
+++ /work/SRC/openSUSE:Factory/.apache2-mod_authn_otp.new.18349/apache2-mod_authn_otp.changes 2024-07-02 18:19:25.817963186 +0200
@@ -1,0 +2,7 @@
+Thu Jun 27 14:21:35 UTC 2024 - Archie Cobbs <archie.cobbs(a)gmail.com>
+
+- Update to version 1.1.11
+ - Fixed build issue with libapr on some systems (issue #48)
+ - Added otplock(1) utility (issue #38)
+
+-------------------------------------------------------------------
Old:
----
mod_authn_otp-1.1.10.tar.gz
New:
----
mod_authn_otp-1.1.11.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache2-mod_authn_otp.spec ++++++
--- /var/tmp/diff_new_pack.UmU3ek/_old 2024-07-02 18:19:26.813999629 +0200
+++ /var/tmp/diff_new_pack.UmU3ek/_new 2024-07-02 18:19:26.817999776 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package apache2-mod_authn_otp
+# spec file
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2012 Archie L. Cobbs <archie(a)dellroad.org>
@@ -19,7 +19,7 @@
%define mod_name mod_authn_otp
Name: apache2-%{mod_name}
-Version: 1.1.10
+Version: 1.1.11
Release: 0
Summary: Apache module for one-time password authentication
License: Apache-2.0
@@ -31,6 +31,8 @@
BuildRequires: pkgconfig(openssl)
Requires: %{apache_mmn}
Requires: %{apache_suse_maintenance_mmn}
+Provides: genotpurl = %{version}
+Provides: otplock = %{version}
Provides: otptool = %{version}
%description
@@ -56,10 +58,11 @@
yet also don't require users to install special VPN software, and is
compatible with software tokens that run on cell phones.
-Also included are two command line utilities, otptool and genotpurl.
-otptool is a one-time password command line utility. It can be used
-on a simple call-out basis to integrate two-factor authentication
-into any existing authentication solution. genotpurl generates URLs
+Also included are three command line utilities, otptool, otplock, and
+genotpurl. otptool is a one-time password command line utility. It can
+be used on a simple call-out basis to integrate two-factor authentication
+into any existing authentication solution. otplock allows you to safely
+modify the users file while Apache is running. genotpurl generates URLs
for the Google Authenticator app.
%prep
@@ -78,7 +81,9 @@
%doc CHANGES README users.sample
%{apache_libexecdir}/%{mod_name}.so
%{_bindir}/otptool
+%{_bindir}/otplock
%{_bindir}/genotpurl
%{_mandir}/man1/otptool.1.gz
+%{_mandir}/man1/otplock.1.gz
%{_mandir}/man1/genotpurl.1.gz
++++++ mod_authn_otp-1.1.10.tar.gz -> mod_authn_otp-1.1.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/CHANGES new/mod_authn_otp-1.1.11/CHANGES
--- old/mod_authn_otp-1.1.10/CHANGES 2022-05-04 16:50:52.000000000 +0200
+++ new/mod_authn_otp-1.1.11/CHANGES 2024-06-27 16:13:49.000000000 +0200
@@ -1,3 +1,8 @@
+Version 1.1.11 released June 27, 2024
+
+ - Fixed build issue with libapr on some systems (issue #48)
+ - Added otplock(1) utility (issue #38)
+
Version 1.1.10 released May 4, 2022
- Fixed bug in genotpurl on platforms with signed "char" (pr #46)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/Makefile.am new/mod_authn_otp-1.1.11/Makefile.am
--- old/mod_authn_otp-1.1.10/Makefile.am 2019-06-22 20:04:49.000000000 +0200
+++ new/mod_authn_otp-1.1.11/Makefile.am 2023-01-07 18:49:27.000000000 +0100
@@ -2,7 +2,7 @@
#
# mod_authn_otp - Apache module for one-time password authentication
#
-# Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+# Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -30,19 +30,21 @@
install-exec-hook:
test -z "$(STRIP)" || $(STRIP) $(DESTDIR)`$(APXS) -q LIBEXECDIR`/mod_authn_otp.so
test -z "$(STRIP)" || $(STRIP) $(DESTDIR)$(bindir)/otptool
+ test -z "$(STRIP)" || $(STRIP) $(DESTDIR)$(bindir)/otplock
test -z "$(STRIP)" || $(STRIP) $(DESTDIR)$(bindir)/genotpurl
-bin_PROGRAMS= otptool genotpurl
+bin_PROGRAMS= otptool otplock genotpurl
-noinst_HEADERS= otptool.h errinc.h base32.h
+noinst_HEADERS= otptool.h otplock.h errinc.h base32.h
-man_MANS= otptool.1 genotpurl.1
+man_MANS= otptool.1 otplock.1 genotpurl.1
otptool_SOURCES= otptool.c hotp.c motp.c phex.c
+otplock_SOURCES= otplock.c
+
genotpurl_SOURCES= genotpurl.c base32.c
CLEANFILES= *.la *.lo *.o *.so *.slo .libs/*
-EXTRA_DIST= CHANGES LICENSE mod_authn_otp.c genotpurl.c users.sample otptool.1 genotpurl.1 base32.c
-
+EXTRA_DIST= CHANGES LICENSE mod_authn_otp.c genotpurl.c users.sample otptool.1 otplock.1 genotpurl.1 base32.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/Makefile.in new/mod_authn_otp-1.1.11/Makefile.in
--- old/mod_authn_otp-1.1.10/Makefile.in 2022-05-04 16:53:30.000000000 +0200
+++ new/mod_authn_otp-1.1.11/Makefile.in 2024-06-27 16:14:38.000000000 +0200
@@ -17,7 +17,7 @@
#
# mod_authn_otp - Apache module for one-time password authentication
#
-# Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+# Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -105,7 +105,7 @@
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-bin_PROGRAMS = otptool$(EXEEXT) genotpurl$(EXEEXT)
+bin_PROGRAMS = otptool$(EXEEXT) otplock$(EXEEXT) genotpurl$(EXEEXT)
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@@ -124,6 +124,9 @@
am_genotpurl_OBJECTS = genotpurl.$(OBJEXT) base32.$(OBJEXT)
genotpurl_OBJECTS = $(am_genotpurl_OBJECTS)
genotpurl_LDADD = $(LDADD)
+am_otplock_OBJECTS = otplock.$(OBJEXT)
+otplock_OBJECTS = $(am_otplock_OBJECTS)
+otplock_LDADD = $(LDADD)
am_otptool_OBJECTS = otptool.$(OBJEXT) hotp.$(OBJEXT) motp.$(OBJEXT) \
phex.$(OBJEXT)
otptool_OBJECTS = $(am_otptool_OBJECTS)
@@ -156,8 +159,9 @@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(genotpurl_SOURCES) $(otptool_SOURCES)
-DIST_SOURCES = $(genotpurl_SOURCES) $(otptool_SOURCES)
+SOURCES = $(genotpurl_SOURCES) $(otplock_SOURCES) $(otptool_SOURCES)
+DIST_SOURCES = $(genotpurl_SOURCES) $(otplock_SOURCES) \
+ $(otptool_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -329,12 +333,13 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-noinst_HEADERS = otptool.h errinc.h base32.h
-man_MANS = otptool.1 genotpurl.1
+noinst_HEADERS = otptool.h otplock.h errinc.h base32.h
+man_MANS = otptool.1 otplock.1 genotpurl.1
otptool_SOURCES = otptool.c hotp.c motp.c phex.c
+otplock_SOURCES = otplock.c
genotpurl_SOURCES = genotpurl.c base32.c
CLEANFILES = *.la *.lo *.o *.so *.slo .libs/*
-EXTRA_DIST = CHANGES LICENSE mod_authn_otp.c genotpurl.c users.sample otptool.1 genotpurl.1 base32.c
+EXTRA_DIST = CHANGES LICENSE mod_authn_otp.c genotpurl.c users.sample otptool.1 otplock.1 genotpurl.1 base32.c
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -435,6 +440,10 @@
@rm -f genotpurl$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(genotpurl_OBJECTS) $(genotpurl_LDADD) $(LIBS)
+otplock$(EXEEXT): $(otplock_OBJECTS) $(otplock_DEPENDENCIES) $(EXTRA_otplock_DEPENDENCIES)
+ @rm -f otplock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(otplock_OBJECTS) $(otplock_LDADD) $(LIBS)
+
otptool$(EXEEXT): $(otptool_OBJECTS) $(otptool_DEPENDENCIES) $(EXTRA_otptool_DEPENDENCIES)
@rm -f otptool$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(otptool_OBJECTS) $(otptool_LDADD) $(LIBS)
@@ -449,6 +458,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genotpurl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hotp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/motp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/otplock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/otptool.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phex.Po@am__quote@
@@ -880,6 +890,7 @@
install-exec-hook:
test -z "$(STRIP)" || $(STRIP) $(DESTDIR)`$(APXS) -q LIBEXECDIR`/mod_authn_otp.so
test -z "$(STRIP)" || $(STRIP) $(DESTDIR)$(bindir)/otptool
+ test -z "$(STRIP)" || $(STRIP) $(DESTDIR)$(bindir)/otplock
test -z "$(STRIP)" || $(STRIP) $(DESTDIR)$(bindir)/genotpurl
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/aclocal.m4 new/mod_authn_otp-1.1.11/aclocal.m4
--- old/mod_authn_otp-1.1.10/aclocal.m4 2022-05-04 16:53:30.000000000 +0200
+++ new/mod_authn_otp-1.1.11/aclocal.m4 2024-06-27 16:14:38.000000000 +0200
@@ -734,35 +734,6 @@
fi
])
-# -*- Autoconf -*-
-# Obsolete and "removed" macros, that must however still report explicit
-# error messages when used, to smooth transition.
-#
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([AM_CONFIG_HEADER],
-[AC_DIAGNOSE([obsolete],
-['$0': this macro is obsolete.
-You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl
-AC_CONFIG_HEADERS($@)])
-
-AC_DEFUN([AM_PROG_CC_STDC],
-[AC_PROG_CC
-am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
-AC_DIAGNOSE([obsolete],
-['$0': this macro is obsolete.
-You should simply use the 'AC][_PROG_CC' macro instead.
-Also, your code should no longer depend upon 'am_cv_prog_cc_stdc',
-but upon 'ac_cv_prog_cc_stdc'.])])
-
-AC_DEFUN([AM_C_PROTOTYPES],
- [AC_FATAL([automatic de-ANSI-fication support has been removed])])
-AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
-
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/config.h.in new/mod_authn_otp-1.1.11/config.h.in
--- old/mod_authn_otp-1.1.10/config.h.in 2022-05-04 16:53:30.000000000 +0200
+++ new/mod_authn_otp-1.1.11/config.h.in 2024-06-27 16:14:38.000000000 +0200
@@ -1,5 +1,11 @@
/* config.h.in. Generated from configure.ac by autoheader. */
+/* Define to 1 if you have the <apr-1.0/apr_file_io.h> header file. */
+#undef HAVE_APR_1_0_APR_FILE_IO_H
+
+/* Define to 1 if you have the <apr-1/apr_file_io.h> header file. */
+#undef HAVE_APR_1_APR_FILE_IO_H
+
/* Define to 1 if you have the <ctype.h> header file. */
#undef HAVE_CTYPE_H
@@ -12,6 +18,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the `apr-1' library (-lapr-1). */
+#undef HAVE_LIBAPR_1
+
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#undef HAVE_LIBCRYPTO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/configure new/mod_authn_otp-1.1.11/configure
--- old/mod_authn_otp-1.1.10/configure 2022-05-04 16:53:31.000000000 +0200
+++ new/mod_authn_otp-1.1.11/configure 2024-06-27 16:14:39.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mod_authn_otp Apache2 authentication module supporting one-time passwords 1.1.10.
+# Generated by GNU Autoconf 2.69 for mod_authn_otp Apache2 authentication module supporting one-time passwords 1.1.11.
#
# Report bugs to <https://github.com/archiecobbs/mod-authn-otp>.
#
@@ -580,8 +580,8 @@
# Identity of this package.
PACKAGE_NAME='mod_authn_otp Apache2 authentication module supporting one-time passwords'
PACKAGE_TARNAME='mod_authn_otp'
-PACKAGE_VERSION='1.1.10'
-PACKAGE_STRING='mod_authn_otp Apache2 authentication module supporting one-time passwords 1.1.10'
+PACKAGE_VERSION='1.1.11'
+PACKAGE_STRING='mod_authn_otp Apache2 authentication module supporting one-time passwords 1.1.11'
PACKAGE_BUGREPORT='https://github.com/archiecobbs/mod-authn-otp'
PACKAGE_URL=''
@@ -1271,7 +1271,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures mod_authn_otp Apache2 authentication module supporting one-time passwords 1.1.10 to adapt to many kinds of systems.
+\`configure' configures mod_authn_otp Apache2 authentication module supporting one-time passwords 1.1.11 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1337,7 +1337,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of mod_authn_otp Apache2 authentication module supporting one-time passwords 1.1.10:";;
+ short | recursive ) echo "Configuration of mod_authn_otp Apache2 authentication module supporting one-time passwords 1.1.11:";;
esac
cat <<\_ACEOF
@@ -1429,7 +1429,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-mod_authn_otp Apache2 authentication module supporting one-time passwords configure 1.1.10
+mod_authn_otp Apache2 authentication module supporting one-time passwords configure 1.1.11
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1631,48 +1631,6 @@
} # ac_fn_c_try_cpp
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
@@ -1764,6 +1722,48 @@
} # ac_fn_c_check_header_mongrel
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
@@ -1798,7 +1798,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by mod_authn_otp Apache2 authentication module supporting one-time passwords $as_me 1.1.10, which was
+It was created by mod_authn_otp Apache2 authentication module supporting one-time passwords $as_me 1.1.11, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2661,7 +2661,7 @@
# Define the identity of the package.
PACKAGE='mod_authn_otp'
- VERSION='1.1.10'
+ VERSION='1.1.11'
cat >>confdefs.h <<_ACEOF
@@ -4056,6 +4056,53 @@
as_fn_error $? "required library libcrypto missing" "$LINENO" 5
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for apr_file_lock in -lapr-1" >&5
+$as_echo_n "checking for apr_file_lock in -lapr-1... " >&6; }
+if ${ac_cv_lib_apr_1_apr_file_lock+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lapr-1 $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char apr_file_lock ();
+int
+main ()
+{
+return apr_file_lock ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_apr_1_apr_file_lock=yes
+else
+ ac_cv_lib_apr_1_apr_file_lock=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_apr_1_apr_file_lock" >&5
+$as_echo "$ac_cv_lib_apr_1_apr_file_lock" >&6; }
+if test "x$ac_cv_lib_apr_1_apr_file_lock" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBAPR_1 1
+_ACEOF
+
+ LIBS="-lapr-1 $LIBS"
+
+else
+ as_fn_error $? "required library libapr missing" "$LINENO" 5
+fi
+
# Check for optional functions
for ac_func in strptime
@@ -4495,6 +4542,30 @@
done
+for ac_header in apr-1/apr_file_io.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "apr-1/apr_file_io.h" "ac_cv_header_apr_1_apr_file_io_h" "$ac_includes_default"
+if test "x$ac_cv_header_apr_1_apr_file_io_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_APR_1_APR_FILE_IO_H 1
+_ACEOF
+
+fi
+
+done
+
+for ac_header in apr-1.0/apr_file_io.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "apr-1.0/apr_file_io.h" "ac_cv_header_apr_1_0_apr_file_io_h" "$ac_includes_default"
+if test "x$ac_cv_header_apr_1_0_apr_file_io_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_APR_1_0_APR_FILE_IO_H 1
+_ACEOF
+
+fi
+
+done
+
# Command line flags
# Check whether --enable-Werror was given.
@@ -4604,6 +4675,7 @@
ac_libobjs=
ac_ltlibobjs=
+U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -5039,7 +5111,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mod_authn_otp Apache2 authentication module supporting one-time passwords $as_me 1.1.10, which was
+This file was extended by mod_authn_otp Apache2 authentication module supporting one-time passwords $as_me 1.1.11, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5105,7 +5177,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-mod_authn_otp Apache2 authentication module supporting one-time passwords config.status 1.1.10
+mod_authn_otp Apache2 authentication module supporting one-time passwords config.status 1.1.11
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/configure.ac new/mod_authn_otp-1.1.11/configure.ac
--- old/mod_authn_otp-1.1.10/configure.ac 2022-05-04 16:51:08.000000000 +0200
+++ new/mod_authn_otp-1.1.11/configure.ac 2024-06-27 16:13:00.000000000 +0200
@@ -2,7 +2,7 @@
#
# mod_authn_otp - Apache module for one-time password authentication
#
-# Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+# Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
# limitations under the License.
#
-AC_INIT([mod_authn_otp Apache2 authentication module supporting one-time passwords], [1.1.10], [https://github.com/archiecobbs/mod-authn-otp], [mod_authn_otp])
+AC_INIT([mod_authn_otp Apache2 authentication module supporting one-time passwords], [1.1.11], [https://github.com/archiecobbs/mod-authn-otp], [mod_authn_otp])
AC_CONFIG_AUX_DIR(scripts)
AM_INIT_AUTOMAKE
dnl AM_MAINTAINER_MODE
@@ -51,25 +51,28 @@
# Check for required libraries
AC_CHECK_LIB(crypto, EVP_sha1,,
[AC_MSG_ERROR([required library libcrypto missing])])
+AC_CHECK_LIB(apr-1, apr_file_lock,,
+ [AC_MSG_ERROR([required library libapr missing])])
# Check for optional functions
AC_CHECK_FUNCS(strptime)
# Check for required header files
-AC_HEADER_STDC
AC_CHECK_HEADERS(ctype.h errno.h openssl/evp.h openssl/hmac.h openssl/md5.h stdio.h string.h time.h unistd.h, [],
[AC_MSG_ERROR([required header file '$ac_header' not found])])
AC_CHECK_HEADERS(err.h, [], [])
+AC_CHECK_HEADERS(apr-1/apr_file_io.h)
+AC_CHECK_HEADERS(apr-1.0/apr_file_io.h)
# Command line flags
AC_ARG_ENABLE(Werror,
- AC_HELP_STRING([--enable-Werror],
+ AS_HELP_STRING([--enable-Werror],
[enable compilation with -Werror flag (default NO)]),
[test x"$enableval" = "xyes" && CFLAGS="${CFLAGS} -Werror"])
# Generated files
AC_CONFIG_FILES(Makefile)
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
# Go
AC_OUTPUT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/errinc.h new/mod_authn_otp-1.1.11/errinc.h
--- old/mod_authn_otp-1.1.10/errinc.h 2018-07-22 04:27:53.000000000 +0200
+++ new/mod_authn_otp-1.1.11/errinc.h 2023-01-07 18:43:03.000000000 +0100
@@ -1,6 +1,6 @@
/*
- * Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+ * Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/genotpurl.1 new/mod_authn_otp-1.1.11/genotpurl.1
--- old/mod_authn_otp-1.1.10/genotpurl.1 2020-02-22 21:55:37.000000000 +0100
+++ new/mod_authn_otp-1.1.11/genotpurl.1 2023-01-07 18:43:03.000000000 +0100
@@ -2,7 +2,7 @@
.\"
.\" genotpurl - Generate Google Authenticator URLs
.\"
-.\" Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+.\" Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
.\"
.\" Licensed under the Apache License, Version 2.0 (the "License");
.\" you may not use this file except in compliance with the License.
@@ -38,8 +38,8 @@
.Nm
is a utility for generating URLs for the Google Authenticator cell phone app, which
generates one-time passwords compatible with the HOTP/OATH algorithm defined by RFC 4226.
-When such and URL is clicked on a cell phone, the token is automatically installed
-into the Google Authenticator app. This is a convenient way to deploy such tokens.
+When an URL is processed by the Google Authenticator app, the corresponding secure token
+is automatically installed into the app.
.Pp
The
.Ar issuer
@@ -54,7 +54,9 @@
.Ar key
is given,
.Nm
-generates a random key and prints it to standard output.
+generates a random key and prints it to standard error;
+this key must then be installed into the server application that verifies the one-time passwords
+and associated with the user who will be using the secure token.
.Pp
The
.Fl i ,
@@ -101,7 +103,15 @@
.Fl i
is given.
.El
+.Sh EXAMPLES
+.Bk -words
+To generate a new secure token and generate the corresponding QR code:
+.Pp
+genotpurl -I "Acme, Inc" -L user(a)acme.com | qrencode -s 6 -o qrcode.png
+.Ek
.Sh SEE ALSO
+.Xr qrencode 1
+.Pp
.Rs
.%T "mod_authn_otp: Apache module for one-time password authentication"
.%O "https://github.com/archiecobbs/mod-authn-otp"
@@ -115,4 +125,4 @@
.%O "https://play.google.com/store/apps/details?id=com.google.android.apps.authe…"
.Re
.Sh AUTHOR
-.An Archie L. Cobbs Aq archie(a)dellroad.org
+.An Archie L. Cobbs Aq archie.cobbs(a)gmail.com
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/hotp.c new/mod_authn_otp-1.1.11/hotp.c
--- old/mod_authn_otp-1.1.10/hotp.c 2018-05-25 22:52:53.000000000 +0200
+++ new/mod_authn_otp-1.1.11/hotp.c 2023-01-07 18:43:03.000000000 +0100
@@ -2,7 +2,7 @@
/*
* otptool - HOTP/OATH one-time password utility
*
- * Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+ * Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/mod_authn_otp.c new/mod_authn_otp-1.1.11/mod_authn_otp.c
--- old/mod_authn_otp-1.1.10/mod_authn_otp.c 2018-05-25 22:58:12.000000000 +0200
+++ new/mod_authn_otp-1.1.11/mod_authn_otp.c 2023-01-07 18:43:03.000000000 +0100
@@ -2,7 +2,7 @@
/*
* mod_authn_otp - Apache module for one-time password authentication
*
- * Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+ * Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/motp.c new/mod_authn_otp-1.1.11/motp.c
--- old/mod_authn_otp-1.1.10/motp.c 2018-05-25 22:52:53.000000000 +0200
+++ new/mod_authn_otp-1.1.11/motp.c 2023-01-07 18:43:03.000000000 +0100
@@ -2,7 +2,7 @@
/*
* otptool - HOTP/OATH one-time password utility
*
- * Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+ * Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/otplock.1 new/mod_authn_otp-1.1.11/otplock.1
--- old/mod_authn_otp-1.1.10/otplock.1 1970-01-01 01:00:00.000000000 +0100
+++ new/mod_authn_otp-1.1.11/otplock.1 2023-01-07 20:24:52.000000000 +0100
@@ -0,0 +1,110 @@
+.\" -*- nroff -*-
+.\"
+.\" otplock - Apache mod_authn_otp one-time users file locker
+.\"
+.\" Copyright 2023 Archie L. Cobbs <archie.cobbs(a)gmail.com>
+.\"
+.\" Licensed under the Apache License, Version 2.0 (the "License");
+.\" you may not use this file except in compliance with the License.
+.\" You may obtain a copy of the License at
+.\"
+.\" http://www.apache.org/licenses/LICENSE-2.0
+.\"
+.\" Unless required by applicable law or agreed to in writing, software
+.\" distributed under the License is distributed on an "AS IS" BASIS,
+.\" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.\" See the License for the specific language governing permissions and
+.\" limitations under the License.
+.\"/
+.Dd January 7, 2023
+.Dt OTPLOCK 1
+.Os
+.Sh NAME
+.Nm otplock
+.Nd Apache mod_authn_otp one-time users file locker
+.Sh SYNOPSIS
+.Nm otplock
+.Bk -words
+.Ar usersfile
+.Op command ...
+.Ek
+.Pp
+.Nm otplock
+.Fl e
+.Ar usersfile
+.Pp
+.Nm otplock
+.Fl h
+.Sh DESCRIPTION
+.Nm
+is a utility for safely accessing the
+.Ar mod_authn_otp
+users file while the Apache server is running.
+.Pp
+Because the users file is dynamically read and updated during normal server operation,
+it's not safe to simultaneously view or edit the file in a separate process without locking it first.
+.Pp
+This utility implements the same locking protocol as the
+.Ar mod_authn_otp
+module.
+It holds the exclusive lock while the given
+.Ar command
+executes.
+This means that long as
+.Ar command
+executes, all server requests that require
+.Ar mod_authn_otp
+for authentication will be temporarily suspended, so command execution should be as brief as possible.
+.Pp
+If no
+.Ar command
+is given,
+.Nm
+simply waits until a lock can be obtained and then exits.
+.Sh OPTIONS
+.Bl -tag -width Ds
+.It Fl e
+Invoke
+.Ar $EDITOR
+with the given
+.Ar usersfile .
+.Pp
+If no
+.Ar $EDITOR
+environment variable is defined,
+.Xr vim 1
+is used.
+.It Fl h
+Print the usage message and exit successfully.
+.El
+.Sh RETURN VALUE
+.Nm
+exits with one of the following return values:
+.Bl -tag -width xxx
+.It 0
+The users file was successfully locked, and either no
+.Ar command
+was given, or the command exited normally.
+.It N
+The given
+.Ar command
+executed but exited with non-zero exit value
+.Ar N .
+.It 85
+.Nm
+was invoked with invalid command line flags or parameters.
+.It 86
+A system error occurred while either locking the file or launching
+.Ar command .
+.It 87
+The given
+.Ar command
+executed but terminated by catching a signal.
+.El
+.Sh SEE ALSO
+.Rs
+.%T "mod_authn_otp: Apache module for one-time password authentication"
+.%O "https://github.com/archiecobbs/mod-authn-otp"
+.Re
+.Sh AUTHOR
+.An Archie L. Cobbs Aq archie.cobbs(a)gmail.com
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/otplock.c new/mod_authn_otp-1.1.11/otplock.c
--- old/mod_authn_otp-1.1.10/otplock.c 1970-01-01 01:00:00.000000000 +0100
+++ new/mod_authn_otp-1.1.11/otplock.c 2024-06-27 16:01:03.000000000 +0200
@@ -0,0 +1,202 @@
+
+/*
+ * otplock - Apache mod_authn_otp one-time users file locker
+ *
+ * Copyright 2023 Archie L. Cobbs <archie.cobbs(a)gmail.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "otplock.h"
+#include "config.h"
+
+#if HAVE_APR_1_APR_FILE_IO_H
+#include <apr-1/apr_file_io.h>
+#include <apr-1/apr_lib.h>
+#include <apr-1/apr_strings.h>
+#include <apr-1/apr_thread_proc.h>
+#elif HAVE_APR_1_0_APR_FILE_IO_H
+#include <apr-1.0/apr_file_io.h>
+#include <apr-1.0/apr_lib.h>
+#include <apr-1.0/apr_strings.h>
+#include <apr-1.0/apr_thread_proc.h>
+#else
+#error "libapr header files not found"
+#endif
+
+#define LOCKFILE_SUFFIX ".lock"
+#define DEFAULT_EDITOR "vim"
+
+extern const char *const *environ;
+
+static void usage(void);
+
+int
+main(int argc, const char *const *argv)
+{
+ char lockfile[APR_PATH_MAX];
+ const char *usersfile;
+ const char *editcmd[3];
+ char errbuf[256];
+ apr_pool_t *pool;
+ apr_file_t *handle = NULL;
+ apr_status_t status;
+ int edit = 0;
+ int ch;
+ int r;
+
+ // Initialize APR
+ if ((status = apr_app_initialize(&argc, &argv, &environ)) != APR_SUCCESS) {
+ warnx("%s: %s", "apr_app_initialize", apr_strerror(status, errbuf, sizeof(errbuf)));
+ r = EXIT_SYSTEM_ERROR;
+ goto out0;
+ }
+ if ((status = apr_pool_create(&pool, NULL)) != APR_SUCCESS) {
+ warnx("%s: %s", "apr_pool_create", apr_strerror(status, errbuf, sizeof(errbuf)));
+ r = EXIT_SYSTEM_ERROR;
+ goto out1;
+ }
+
+ // Parse command line
+ while ((ch = getopt(argc, (char **)(intptr_t)argv, "eh")) != -1) {
+ switch (ch) {
+ case 'e':
+ edit = 1;
+ break;
+ case 'h':
+ usage();
+ r = 0;
+ goto out2;
+ default:
+ usage();
+ r = EXIT_USAGE_ERROR;
+ goto out2;
+ }
+ }
+ argc -= optind;
+ argv += optind;
+ switch (argc) {
+ case 0:
+ usage();
+ r = EXIT_USAGE_ERROR;
+ goto out2;
+ default:
+ argc--;
+ usersfile = *argv++;
+ break;
+ }
+
+ // Handle "-e" flag
+ if (edit) {
+ const char *const *ev;
+
+ if (argc > 0) {
+ r = EXIT_USAGE_ERROR;
+ goto out2;
+ }
+ editcmd[0] = DEFAULT_EDITOR;
+ for (ev = environ; *ev != NULL; ev++) {
+ if (strncmp(*ev, "EDITOR=", 7) == 0) {
+ editcmd[0] = *ev + 7;
+ break;
+ }
+ }
+ editcmd[1] = usersfile;
+ editcmd[2] = NULL;
+ argv = editcmd;
+ argc = 2;
+ }
+
+ // Open the lock file
+ apr_snprintf(lockfile, sizeof(lockfile), "%s%s", usersfile, LOCKFILE_SUFFIX);
+ if ((status = apr_file_open(&handle, lockfile, APR_WRITE|APR_CREATE|APR_TRUNCATE, APR_UREAD|APR_UWRITE, pool)) != APR_SUCCESS) {
+ warnx("can't open \"%s\": %s", lockfile, apr_strerror(status, errbuf, sizeof(errbuf)));
+ r = EXIT_SYSTEM_ERROR;
+ goto out2;
+ }
+
+ // Lock the lock file
+ if ((status = apr_file_lock(handle, APR_FLOCK_EXCLUSIVE)) != APR_SUCCESS) {
+ warnx("can't lock \"%s\": %s", lockfile, apr_strerror(status, errbuf, sizeof(errbuf)));
+ r = EXIT_SYSTEM_ERROR;
+ goto out3;
+ }
+
+ // Execute command, if any
+ if (*argv != NULL) {
+ apr_procattr_t *pattr;
+ apr_exit_why_e why;
+ apr_proc_t proc;
+ int rval;
+
+ if ((status = apr_procattr_create(&pattr, pool)) != APR_SUCCESS) {
+ warnx("%s: %s", "apr_procattr_create", apr_strerror(status, errbuf, sizeof(errbuf)));
+ r = EXIT_SYSTEM_ERROR;
+ goto out4;
+ }
+ if ((status = apr_procattr_cmdtype_set(pattr, APR_SHELLCMD_ENV)) != APR_SUCCESS) {
+ warnx("%s: %s", "apr_procattr_cmdtype_set", apr_strerror(status, errbuf, sizeof(errbuf)));
+ r = EXIT_SYSTEM_ERROR;
+ goto out4;
+ }
+ if ((status = apr_proc_create(&proc, *argv, argv, environ, pattr, pool)) != APR_SUCCESS) {
+ warnx("%s: %s", "apr_proc_create", apr_strerror(status, errbuf, sizeof(errbuf)));
+ r = EXIT_SYSTEM_ERROR;
+ goto out4;
+ }
+ if ((status = apr_proc_wait(&proc, &rval, &why, APR_WAIT)) != APR_CHILD_DONE) {
+ warnx("%s: %s", "apr_proc_wait", apr_strerror(status, errbuf, sizeof(errbuf)));
+ r = EXIT_SYSTEM_ERROR;
+ goto out4;
+ }
+ switch (why) {
+ case APR_PROC_EXIT:
+ if ((r = rval) == APR_ENOTIMPL)
+ r = 0;
+ break;
+ case APR_PROC_SIGNAL:
+ case APR_PROC_SIGNAL_CORE:
+ r = EXIT_CAUGHT_SIGNAL;
+ break;
+ default:
+ warnx("%s: %s", "apr_proc_wait", "unknown 'why' code");
+ r = EXIT_SYSTEM_ERROR;
+ break;
+ }
+ } else
+ r = 0;
+
+ // Clean up and exit
+out4:
+ apr_file_unlock(handle);
+out3:
+ apr_file_close(handle);
+out2:
+ apr_pool_destroy(pool);
+out1:
+ apr_terminate();
+out0:
+ return r;
+}
+
+static void
+usage()
+{
+ fprintf(stderr, "Usage:\n");
+ fprintf(stderr, " %s usersfile [ command ... ]\n", PROG_NAME);
+ fprintf(stderr, " %s -e usersfile\n", PROG_NAME);
+ fprintf(stderr, " %s -h\n", PROG_NAME);
+ fprintf(stderr, "Options:\n");
+ fprintf(stderr, " -e\tInvoke $EDITOR with usersfile\n");
+ fprintf(stderr, " -h\tDisplay this usage message\n");
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/otplock.h new/mod_authn_otp-1.1.11/otplock.h
--- old/mod_authn_otp-1.1.10/otplock.h 1970-01-01 01:00:00.000000000 +0100
+++ new/mod_authn_otp-1.1.11/otplock.h 2023-01-07 19:41:28.000000000 +0100
@@ -0,0 +1,38 @@
+
+/*
+ * otplock - Apache mod_authn_otp one-time users file locker
+ *
+ * Copyright 2023 Archie L. Cobbs <archie.cobbs(a)gmail.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <sys/types.h>
+
+#include <ctype.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "errinc.h"
+
+/* Program name */
+#define PROG_NAME "otplock"
+
+/* Error exit values */
+#define EXIT_USAGE_ERROR 85 /* Incorrect command line usage */
+#define EXIT_SYSTEM_ERROR 86 /* Could not open file, etc. */
+#define EXIT_CAUGHT_SIGNAL 87
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/otptool.1 new/mod_authn_otp-1.1.11/otptool.1
--- old/mod_authn_otp-1.1.10/otptool.1 2018-07-27 15:55:01.000000000 +0200
+++ new/mod_authn_otp-1.1.11/otptool.1 2023-01-07 18:43:03.000000000 +0100
@@ -2,7 +2,7 @@
.\"
.\" otptool - HOTP/OATH one-time password utility
.\"
-.\" Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+.\" Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
.\"
.\" Licensed under the Apache License, Version 2.0 (the "License");
.\" you may not use this file except in compliance with the License.
@@ -177,4 +177,4 @@
.%O "http://motp.sourceforge.net/"
.Re
.Sh AUTHOR
-.An Archie L. Cobbs Aq archie(a)dellroad.org
+.An Archie L. Cobbs Aq archie.cobbs(a)gmail.com
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/otptool.c new/mod_authn_otp-1.1.11/otptool.c
--- old/mod_authn_otp-1.1.10/otptool.c 2018-07-27 15:57:13.000000000 +0200
+++ new/mod_authn_otp-1.1.11/otptool.c 2023-01-07 18:43:03.000000000 +0100
@@ -2,7 +2,7 @@
/*
* otptool - HOTP/OATH one-time password utility
*
- * Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+ * Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/otptool.h new/mod_authn_otp-1.1.11/otptool.h
--- old/mod_authn_otp-1.1.10/otptool.h 2018-07-22 04:26:56.000000000 +0200
+++ new/mod_authn_otp-1.1.11/otptool.h 2023-01-07 18:43:03.000000000 +0100
@@ -2,7 +2,7 @@
/*
* otptool - HOTP/OATH one-time password utility
*
- * Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+ * Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_authn_otp-1.1.10/phex.c new/mod_authn_otp-1.1.11/phex.c
--- old/mod_authn_otp-1.1.10/phex.c 2018-05-25 22:52:53.000000000 +0200
+++ new/mod_authn_otp-1.1.11/phex.c 2023-01-07 18:43:03.000000000 +0100
@@ -2,7 +2,7 @@
/*
* otptool - HOTP/OATH one-time password utility
*
- * Copyright 2009 Archie L. Cobbs <archie(a)dellroad.org>
+ * Copyright 2009 Archie L. Cobbs <archie.cobbs(a)gmail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tryton for openSUSE:Factory checked in at 2024-07-02 18:19:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tryton (Old)
and /work/SRC/openSUSE:Factory/.tryton.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tryton"
Tue Jul 2 18:19:18 2024 rev:24 rq:1184806 version:6.0.40
Changes:
--------
--- /work/SRC/openSUSE:Factory/tryton/tryton.changes 2024-05-07 18:03:51.751507845 +0200
+++ /work/SRC/openSUSE:Factory/.tryton.new.18349/tryton.changes 2024-07-02 18:19:22.961858685 +0200
@@ -1,0 +2,5 @@
+Tue Jul 2 09:11:38 UTC 2024 - Axel Braun <axel.braun(a)gmx.de>
+
+- Version 6.0.40 - Bugfix Release
+
+-------------------------------------------------------------------
Old:
----
tryton-6.0.39.tar.gz
New:
----
tryton-6.0.40.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tryton.spec ++++++
--- /var/tmp/diff_new_pack.BBrdZ3/_old 2024-07-02 18:19:24.161902593 +0200
+++ /var/tmp/diff_new_pack.BBrdZ3/_new 2024-07-02 18:19:24.161902593 +0200
@@ -30,7 +30,7 @@
Name: tryton
-Version: %{majorver}.39
+Version: %{majorver}.40
Release: 0
Summary: The client of the Tryton application platform
License: GPL-3.0-or-later
++++++ tryton-6.0.39.tar.gz -> tryton-6.0.40.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/CHANGELOG new/tryton-6.0.40/CHANGELOG
--- old/tryton-6.0.39/CHANGELOG 2024-05-01 11:18:44.000000000 +0200
+++ new/tryton-6.0.40/CHANGELOG 2024-07-01 18:03:18.000000000 +0200
@@ -1,4 +1,9 @@
+Version 6.0.40 - 2024-07-01
+---------------------------
+* Bug fixes (see mercurial logs for details)
+
+
Version 6.0.39 - 2024-05-01
---------------------------
* Bug fixes (see mercurial logs for details)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/PKG-INFO new/tryton-6.0.40/PKG-INFO
--- old/tryton-6.0.39/PKG-INFO 2024-05-01 11:18:48.061577800 +0200
+++ new/tryton-6.0.40/PKG-INFO 2024-07-01 18:03:22.196179400 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: tryton
-Version: 6.0.39
+Version: 6.0.40
Summary: Tryton desktop client
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/bin/tryton new/tryton-6.0.40/bin/tryton
--- old/tryton-6.0.39/bin/tryton 2024-03-28 17:16:57.000000000 +0100
+++ new/tryton-6.0.40/bin/tryton 2024-06-27 18:59:40.000000000 +0200
@@ -18,7 +18,8 @@
share = os.path.join(prefix, 'share')
os.environ['GTK_EXE_PREFIX'] = prefix
os.environ['GTK_DATA_PREFIX'] = prefix
- os.environ['EV_BACKENDS_DIR'] = prefix
+ os.environ['EV_BACKENDS_DIR'] = os.path.join(
+ prefix, 'lib', 'evince', '4', 'backends')
os.environ['XDG_DATA_DIRS'] = share
os.environ['GDK_PIXBUF_MODULE_FILE'] = os.path.join(
share, 'gtk-3.0', 'gdk-pixbuf.loaders')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/__init__.py new/tryton-6.0.40/tryton/__init__.py
--- old/tryton-6.0.39/tryton/__init__.py 2024-04-17 12:30:46.000000000 +0200
+++ new/tryton-6.0.40/tryton/__init__.py 2024-05-01 11:19:00.000000000 +0200
@@ -1,6 +1,6 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
-__version__ = "6.0.39"
+__version__ = "6.0.40"
import gi
import locale
Binary files old/tryton-6.0.39/tryton/data/locale/bg/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/bg/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/ca/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/ca/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/cs/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/cs/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/de/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/de/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/es/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/es/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/et/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/et/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/fa/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/fa/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/fi/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/fi/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/fr/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/fr/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/hu/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/hu/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/id/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/id/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/it/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/it/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/lo/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/lo/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/lt/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/lt/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/nl/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/nl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/pl/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/pl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/pt/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/pt/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/ro/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/ro/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/ru/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/ru/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/sl/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/sl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/tr/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/tr/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.39/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo and new/tryton-6.0.40/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/gui/window/view_form/model/field.py new/tryton-6.0.40/tryton/gui/window/view_form/model/field.py
--- old/tryton-6.0.39/tryton/gui/window/view_form/model/field.py 2024-01-08 11:49:20.000000000 +0100
+++ new/tryton-6.0.40/tryton/gui/window/view_form/model/field.py 2024-06-27 18:58:48.000000000 +0200
@@ -15,6 +15,7 @@
import decimal
from decimal import Decimal
import math
+from pathlib import Path
from tryton.common import RPCExecute, RPCException
from tryton.common.htmltextbuffer import guess_decode
from tryton.pyson import PYSONDecoder
@@ -993,26 +994,56 @@
class _FileCache(object):
- def __init__(self, path):
- self.path = path
+ def __init__(self, data=None):
+ _, filename = tempfile.mkstemp(prefix='tryton_')
+ self.path = Path(filename)
+ self.suffixes = {}
+ if data:
+ with open(self.path, 'wb') as fp:
+ fp.write(data)
+
+ @property
+ def data(self):
+ with open(self.path, 'rb') as fp:
+ return fp.read()
def __del__(self):
try:
os.remove(self.path)
except IOError:
pass
+ for path in self.suffixes.values():
+ try:
+ os.remove(path)
+ except IOError:
+ pass
+
+ def with_suffix(self, suffix):
+ if suffix in self.suffixes:
+ return self.suffixes[suffix]
+ _, filename = tempfile.mkstemp(prefix='tryton_', suffix=suffix)
+ self.suffixes[suffix] = path = Path(filename)
+ with open(path, 'wb') as fp:
+ fp.write(self.data)
+ return path
class BinaryField(Field):
_default = None
+ def _set_file_cache(self, record, data):
+ if isinstance(data, str):
+ data = data.encode('utf-8')
+ file_cache = _FileCache(data)
+ self.set(record, file_cache)
+ return file_cache
+
def get(self, record):
result = record.value.get(self.name, self._default)
if isinstance(result, _FileCache):
try:
- with open(result.path, 'rb') as fp:
- result = fp.read()
+ result = result.data
except IOError:
result = self.get_data(record)
return result
@@ -1021,13 +1052,7 @@
return self.get(record)
def set_client(self, record, value, force_change=False):
- _, filename = tempfile.mkstemp(prefix='tryton_')
- data = value or b''
- if isinstance(data, str):
- data = data.encode('utf-8')
- with open(filename, 'wb') as fp:
- fp.write(data)
- self.set(record, _FileCache(filename))
+ self._set_file_cache(record, value or b'')
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
self.sig_changed(record)
@@ -1053,15 +1078,20 @@
[record.id], [self.name], context=context)
except RPCException:
return b''
- _, filename = tempfile.mkstemp(prefix='tryton_')
- data = values[self.name] or b''
- if isinstance(data, str):
- data = data.encode('utf-8')
- with open(filename, 'wb') as fp:
- fp.write(data)
- self.set(record, _FileCache(filename))
+ self._set_file_cache(record, values[self.name] or b'')
return self.get(record)
+ def get_filename(self, record, suffix=None):
+ data = self.get_data(record)
+ file_cache = record.value.get(self.name)
+ if not isinstance(file_cache, _FileCache):
+ file_cache = self._set_file_cache(record, data)
+ if suffix:
+ filename = file_cache.with_suffix(suffix)
+ else:
+ filename = file_cache.path
+ return filename
+
class DictField(Field):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py new/tryton-6.0.40/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py
--- old/tryton-6.0.39/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py 2023-05-17 23:03:30.000000000 +0200
+++ new/tryton-6.0.40/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py 2024-06-27 18:49:48.000000000 +0200
@@ -65,13 +65,18 @@
self.current_domain_period.get_dates(True)
dtstart = self.attrs['dtstart']
dtend = self.attrs.get('dtend') or dtstart
- domain = ['OR',
- ['AND', (dtstart, '>=', first_datetime),
- (dtstart, '<', last_datetime)],
- ['AND', (dtend, '>=', first_datetime),
- (dtend, '<', last_datetime)],
- ['AND', (dtstart, '<', first_datetime),
- (dtend, '>', last_datetime)]]
+ domain = [
+ (dtstart, '!=', None),
+ (dtend, '!=', None),
+ ['OR',
+ ['AND', (dtstart, '>=', first_datetime),
+ (dtstart, '<', last_datetime)],
+ ['AND', (dtend, '>=', first_datetime),
+ (dtend, '<', last_datetime)],
+ ['AND', (dtstart, '<', first_datetime),
+ (dtend, '>', last_datetime)],
+ ],
+ ]
return domain
def get_colors(self, record):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/gui/window/view_form/view/form_gtk/document.py new/tryton-6.0.40/tryton/gui/window/view_form/view/form_gtk/document.py
--- old/tryton-6.0.39/tryton/gui/window/view_form/view/form_gtk/document.py 2023-05-17 23:03:30.000000000 +0200
+++ new/tryton-6.0.40/tryton/gui/window/view_form/view/form_gtk/document.py 2024-06-27 18:56:30.000000000 +0200
@@ -1,7 +1,6 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from pathlib import Path
-from tempfile import NamedTemporaryFile
from gi.repository import Gtk, Gdk, GLib
try:
@@ -75,17 +74,17 @@
self.image.hide()
if self.evince_view:
self.evince_scroll.show()
+ suffix = None
if self.filename_field:
- suffix = self.filename_field.get(self.record)
- else:
- suffix = None
+ filename = self.filename_field.get(self.record)
+ if filename:
+ suffix = Path(filename).suffix
+ filename = Path(self.field.get_filename(self.record, suffix))
try:
- with NamedTemporaryFile(suffix=suffix) as fp:
- fp.write(data)
- path = Path(fp.name)
- document = (
- EvinceDocument.Document.factory_get_document(
- path.as_uri()))
+ document = (
+ EvinceDocument.Document.factory_get_document_full(
+ filename.as_uri(),
+ EvinceDocument.DocumentLoadFlags.NONE))
model = EvinceView.DocumentModel()
model.set_document(document)
self.evince_view.set_model(model)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton/gui/window/win_form.py new/tryton-6.0.40/tryton/gui/window/win_form.py
--- old/tryton-6.0.39/tryton/gui/window/win_form.py 2024-04-13 00:41:05.000000000 +0200
+++ new/tryton-6.0.40/tryton/gui/window/win_form.py 2024-06-27 19:07:40.000000000 +0200
@@ -68,7 +68,7 @@
self.accel_group = Gtk.AccelGroup()
self.win.add_accel_group(self.accel_group)
- readonly = self.screen.readonly or self.screen.group.readonly
+ readonly = self.screen.group.readonly
self.but_ok = None
self.but_new = None
@@ -355,7 +355,7 @@
deletable = True
if screen.current_record:
deletable = screen.current_record.deletable
- readonly = self.screen.readonly or self.screen.group.readonly
+ readonly = self.screen.group.readonly
if signal_data[0] >= 1:
name = str(signal_data[0])
if self.domain is not None:
@@ -368,9 +368,11 @@
self.but_pre.set_sensitive(True)
else:
self.but_pre.set_sensitive(False)
- if access['delete'] and not readonly and deletable:
- self.but_del.set_sensitive(True)
- self.but_undel.set_sensitive(True)
+ self.but_del.set_sensitive(bool(
+ not readonly
+ and access['delete']
+ and deletable))
+ self.but_undel.set_sensitive(bool(not readonly))
else:
self.but_del.set_sensitive(False)
self.but_undel.set_sensitive(False)
@@ -399,7 +401,7 @@
cancel_responses = [
Gtk.ResponseType.CANCEL, Gtk.ResponseType.DELETE_EVENT]
self.screen.current_view.set_value()
- readonly = self.screen.readonly or self.screen.group.readonly
+ readonly = self.screen.group.readonly
if (response_id not in cancel_responses
and not readonly
and self.screen.current_record is not None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.39/tryton.egg-info/PKG-INFO new/tryton-6.0.40/tryton.egg-info/PKG-INFO
--- old/tryton-6.0.39/tryton.egg-info/PKG-INFO 2024-05-01 11:18:47.000000000 +0200
+++ new/tryton-6.0.40/tryton.egg-info/PKG-INFO 2024-07-01 18:03:21.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: tryton
-Version: 6.0.39
+Version: 6.0.40
Summary: Tryton desktop client
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
1
0