openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
April 2023
- 1 participants
- 3149 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jupyter-client for openSUSE:Factory checked in at 2023-04-01 19:32:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-client (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter-client.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-client"
Sat Apr 1 19:32:36 2023 rev:15 rq:1075692 version:8.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyter-client/python-jupyter-client.changes 2023-01-17 17:34:52.593028897 +0100
+++ /work/SRC/openSUSE:Factory/.python-jupyter-client.new.9019/python-jupyter-client.changes 2023-04-01 19:32:51.925543804 +0200
@@ -1,0 +2,50 @@
+Thu Mar 23 07:51:41 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 8.1.0
+ * ThreadedZMQStream: close stream before socket #936 (@minrk)
+
+-------------------------------------------------------------------
+Sun Mar 19 17:37:24 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 8.0.3
+ * Fix kernelspec print output #933 (@minrk)
+ * Don't emit a trailng newline in base64-encoded data like
+ 'image/png' #931 (@xl0)
+ * Improving jsonutil tests #929 (@andrehora)
+
+-------------------------------------------------------------------
+Sun Feb 5 15:29:23 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 8.0.2
+ * Add papermill downstream check and fix kernel client replies
+ #925 (@blink1073)
+- Release 8.0.1
+ * Fix json_output in kernelspec app #921 (@blink1073)
+- Release 8.0.0
+ * This release is primarily focused on improving asyncio support,
+ while aiming to have minimal API changes.
+ ## Enhancements made
+ * Remove nest-asyncio dependency #835 (@blink1073)
+ ## Bugs fixed
+ * Allow interrupt during restart of pending kernels #898
+ (@blink1073)
+ * Fix connection reconciliation to handle restarts #882
+ (@kevin-bates)
+ * Reconcile connection information #879 (@kevin-bates)
+ * Workaround for launch bug #861 (@blink1073)
+ * Defer creation of ready future #858 (@blink1073)
+ * Fix handling of initial ready promise #854 (@blink1073)
+ * Revert "Fix pending kernels again" #853 (@blink1073)
+ * Fix pending kernels again #845 (@blink1073)
+ * Use pytest_asyncio fixture #826 (@davidbrochart)
+ ## Maintenance and upkeep improvements
+ * Fix jupyter_core pinning #896 (@ophie200)
+ * Use pytest-jupyter #891 (@blink1073)
+ * Import ensure_async and run_sync from jupyter_core #889
+ (@davidbrochart)
+ * Support Python 3.8-3.11 #866 (@blink1073)
+ * Move tests to top level #834 (@blink1073)
+ * Fix nbconvert downstream test #827 (@blink1073)
+- Add jupyter-client-suse-remove-ifconfig-test.patch
+
+-------------------------------------------------------------------
Old:
----
jupyter_client-7.4.9.tar.gz
New:
----
jupyter-client-suse-remove-ifconfig-test.patch
jupyter_client-8.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter-client.spec ++++++
--- /var/tmp/diff_new_pack.Zrk9ZB/_old 2023-04-01 19:32:52.497546807 +0200
+++ /var/tmp/diff_new_pack.Zrk9ZB/_new 2023-04-01 19:32:52.501546828 +0200
@@ -26,39 +26,43 @@
%endif
Name: python-jupyter-client%{psuffix}
-Version: 7.4.9
+Version: 8.1.0
Release: 0
Summary: Jupyter protocol implementation and client libraries
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/jupyter/jupyter_client
Source: https://files.pythonhosted.org/packages/source/j/jupyter_client/jupyter_cli…
-BuildRequires: %{python_module base >= 3.7}
-BuildRequires: %{python_module hatchling}
+# PATCH-FIX-OPENSUSE jupyter-client-suse-remove-ifconfig-test.patch code(a)bnavigator.de -- we don't have `ifconfig` and don't need it because we have `ip`
+Patch10: jupyter-client-suse-remove-ifconfig-test.patch
+BuildRequires: %{python_module base >= 3.8}
+BuildRequires: %{python_module hatchling >= 1.5}
BuildRequires: %{python_module pip}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: jupyter-jupyter_client = %{version}
Requires: python-entrypoints
-Requires: python-jupyter-core >= 4.9.2
-Requires: python-nest-asyncio >= 1.5.4
Requires: python-python-dateutil >= 2.8.2
Requires: python-pyzmq >= 23.0
Requires: python-tornado >= 6.2
-Requires: python-traitlets
+Requires: python-traitlets >= 5.3
+Requires: (python-importlib-metadata >= 4.8.3 if python-base < 3.10)
+Requires: (python-jupyter-core >= 5.1 or (python-jupyter-core >= 4.12 with python-jupyter-core < 5.0))
Provides: python-jupyter_client = %{version}
Obsoletes: python-jupyter_client < %{version}
BuildArch: noarch
%if %{with test}
# gh#jupyter/jupyter_client#787
-BuildRequires: %{python_module ipykernel >= 6.13}
+BuildRequires: %{python_module ipykernel >= 6.14}
BuildRequires: %{python_module ipython}
BuildRequires: %{python_module jupyter-client = %{version}}
-BuildRequires: %{python_module pytest-asyncio >= 0.18}
+BuildRequires: %{python_module pytest-jupyter-client >= 0.4.1}
BuildRequires: %{python_module pytest-timeout}
BuildRequires: %{python_module pytest}
# flaky is not an upstream dep, but for obs flakyness of parallel kernel test
BuildRequires: %{python_module flaky}
+BuildRequires: iproute2
+BuildRequires: openssh-clients
%endif
%python_subpackages
@@ -104,19 +108,19 @@
%if %{with test}
%check
-pushd jupyter_client/tests
-%pytest --force-flaky --max-runs=3 --no-success-flaky-report
-popd
+# flaky timeout
+donttest="(TestAsyncKernelClient and test_input_request)"
+%pytest --force-flaky --max-runs=3 --no-success-flaky-report -k "not ($donttest)"
%endif
%if !%{with test}
%files %{python_files}
-%license COPYING.md
+%license LICENSE
%{python_sitelib}/jupyter_client-%{version}*-info
%{python_sitelib}/jupyter_client/
%files -n jupyter-jupyter-client
-%license COPYING.md
+%license LICENSE
%doc CONTRIBUTING.md README.md
%{_bindir}/jupyter-kernel
%{_bindir}/jupyter-kernelspec
++++++ jupyter-client-suse-remove-ifconfig-test.patch ++++++
Index: jupyter_client-8.0.2/tests/test_localinterfaces.py
===================================================================
--- jupyter_client-8.0.2.orig/tests/test_localinterfaces.py
+++ jupyter_client-8.0.2/tests/test_localinterfaces.py
@@ -26,4 +26,3 @@ def test_load_ips():
if sys.platform == 'linux':
localinterfaces._load_ips_ip()
- localinterfaces._load_ips_ifconfig()
++++++ jupyter_client-7.4.9.tar.gz -> jupyter_client-8.1.0.tar.gz ++++++
++++ 15462 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openqa-mon for openSUSE:Factory checked in at 2023-04-01 19:32:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openqa-mon (Old)
and /work/SRC/openSUSE:Factory/.openqa-mon.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openqa-mon"
Sat Apr 1 19:32:35 2023 rev:7 rq:1076567 version:1.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/openqa-mon/openqa-mon.changes 2023-03-19 16:17:03.935464221 +0100
+++ /work/SRC/openSUSE:Factory/.openqa-mon.new.9019/openqa-mon.changes 2023-04-01 19:32:50.457536097 +0200
@@ -1,0 +2,18 @@
+Thu Mar 30 13:47:25 UTC 2023 - Felix Niederwanger <felix.niederwanger(a)suse.com>
+
+- Update to version 1.0.1
+* Upgrade to gopenqa 0.7.1 and align version number
+
+-------------------------------------------------------------------
+Thu Mar 30 13:04:00 UTC 2023 - Felix Niederwanger <felix.niederwanger(a)suse.com>
+
+- Update to version 1.0.0
+* Switch to single request for multiple jobs (openqa-mon and openqa-revtui)
+* Improve review templates
+* Consider the parallel_failed status (openqa-revtui)
+* Add progress when loading jobs (openqa-revtui)
+* Introduce colors in status field (openqa-revtui)
+* Rate limit continuous refresh on OSD and O3
+* Show job progress in Refresh line (openqa-revtui)
+
+-------------------------------------------------------------------
Old:
----
openqa-mon-0.27.tar.gz
New:
----
openqa-mon-1.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openqa-mon.spec ++++++
--- /var/tmp/diff_new_pack.35bpAt/_old 2023-04-01 19:32:51.081539373 +0200
+++ /var/tmp/diff_new_pack.35bpAt/_new 2023-04-01 19:32:51.085539394 +0200
@@ -17,7 +17,7 @@
Name: openqa-mon
-Version: 0.27
+Version: 1.0.1
Release: 0
Summary: CLI monitoring utility for openQA
License: GPL-3.0-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.35bpAt/_old 2023-04-01 19:32:51.125539605 +0200
+++ /var/tmp/diff_new_pack.35bpAt/_new 2023-04-01 19:32:51.137539668 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/grisu48/openqa-mon.git</param>
<param name="scm">git</param>
<param name="revision">main</param>
- <param name="version">v0.27</param>
+ <param name="version">v1.0.1</param>
<param name="versionrewrite-pattern">v(.*)</param>
</service>
<service name="tar" mode="localonly"/>
++++++ openqa-mon-0.27.tar.gz -> openqa-mon-1.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/_review/opensuse-microos.toml new/openqa-mon-1.0.1/_review/opensuse-microos.toml
--- old/openqa-mon-0.27/_review/opensuse-microos.toml 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/_review/opensuse-microos.toml 2023-03-30 15:43:35.000000000 +0200
@@ -1,13 +1,13 @@
## Review template file for MicroOS test runs on O3
-Instance = "https://openqa.opensuse.org" # openQA instance to query
-RabbitMQ = "amqps://opensuse:opensuse@rabbit.opensuse.org" # RabbitMQ instance to query
-RabbitMQTopic = "opensuse.openqa.job.done" # RabbitMQ topic to query
-HideStatus = [ "scheduled","passed","assigned","running","softfailed","reviewed" ] # Hide scheduled, passed, assigned and reviewed jobs
-RefreshInterval = 60 # Refresh from API once every minute
-MaxJobs = 20 # Max. job per group to display
-GroupBy = "groups" # Group by defined groups ("none" or "groups")
-DefaultParams = { distri="microos", version = "Tumbleweed" } # Set of default parameters
+Instance = "https://openqa.opensuse.org" # openQA instance to query
+RabbitMQ = "amqps://opensuse:opensuse@rabbit.opensuse.org" # RabbitMQ instance to query
+RabbitMQTopic = "opensuse.openqa.job.done" # RabbitMQ topic to query
+HideStatus = ["scheduled", "passed", "softfailed", "cancelled", "skipped", "running", "uploading", "parallel_failed", "reviewed" ] # Hide scheduled and passed jobs
+RefreshInterval = 60 # Refresh from API once every minute
+MaxJobs = 20 # Max. job per group to display
+GroupBy = "groups" # Group by defined groups ("none" or "groups")
+DefaultParams = { distri="microos", version = "Tumbleweed" } # Set of default parameters
## Define job groups
[[Groups]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/_review/opensuse-tumbleweed.toml new/openqa-mon-1.0.1/_review/opensuse-tumbleweed.toml
--- old/openqa-mon-0.27/_review/opensuse-tumbleweed.toml 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/_review/opensuse-tumbleweed.toml 2023-03-30 15:43:35.000000000 +0200
@@ -1,13 +1,13 @@
## Review template file for Tumbleweed test runs on O3
-Instance = "https://openqa.opensuse.org" # openQA instance to query
-RabbitMQ = "amqps://opensuse:opensuse@rabbit.opensuse.org" # RabbitMQ instance to query
-RabbitMQTopic = "opensuse.openqa.job.done" # RabbitMQ topic to query
-HideStatus = [ "scheduled","passed","assigned","running","softfailed","reviewed" ] # Hide scheduled, passed, assigned and reviewed jobs
-RefreshInterval = 60 # Refresh from API once every minute
-MaxJobs = 20 # Max. job per group to display
-GroupBy = "groups" # Group by defined groups ("none" or "groups")
-DefaultParams = { distri="opensuse", version = "Tumbleweed" } # Set of default parameters
+Instance = "https://openqa.opensuse.org" # openQA instance to query
+RabbitMQ = "amqps://opensuse:opensuse@rabbit.opensuse.org" # RabbitMQ instance to query
+RabbitMQTopic = "opensuse.openqa.job.done" # RabbitMQ topic to query
+HideStatus = ["scheduled", "passed", "softfailed", "cancelled", "skipped", "running", "uploading", "parallel_failed", "reviewed" ] # Hide scheduled and passed jobs
+RefreshInterval = 60 # Refresh from API once every minute
+MaxJobs = 20 # Max. job per group to display
+GroupBy = "groups" # Group by defined groups ("none" or "groups")
+DefaultParams = { distri="opensuse", version = "Tumbleweed" } # Set of default parameters
## Define job groups
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/_review/qe-core-O3.toml new/openqa-mon-1.0.1/_review/qe-core-O3.toml
--- old/openqa-mon-0.27/_review/qe-core-O3.toml 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/_review/qe-core-O3.toml 2023-03-30 15:43:35.000000000 +0200
@@ -1,13 +1,13 @@
## Review template file for QE-Core job groups in O3
# See: https://confluence.suse.com/display/qasle/Bugbusters+and+Review+Shifts#Bugb…
-Instance = "https://openqa.opensuse.org" # openQA instance to query
-RabbitMQ = "amqps://opensuse:opensuse@rabbit.opensuse.org" # RabbitMQ instance to query
-RabbitMQTopic = "opensuse.openqa.job.done" # RabbitMQ topic to query
-HideStatus = [ "scheduled", "passed", "softfailed", "running", "reviewed" ] # Hide scheduled and passed jobs
-RefreshInterval = 60 # Refresh from API once every minute
-MaxJobs = 20 # Max. job per group to display
-GroupBy = "groups" # Group by defined groups ("none" or "groups")
+Instance = "https://openqa.opensuse.org" # openQA instance to query
+RabbitMQ = "amqps://opensuse:opensuse@rabbit.opensuse.org" # RabbitMQ instance to query
+RabbitMQTopic = "opensuse.openqa.job.done" # RabbitMQ topic to query
+HideStatus = ["scheduled", "passed", "softfailed", "cancelled", "skipped", "running", "uploading", "parallel_failed", "reviewed" ] # Hide scheduled and passed jobs
+RefreshInterval = 60 # Refresh from API once every minute
+MaxJobs = 20 # Max. job per group to display
+GroupBy = "groups" # Group by defined groups ("none" or "groups")
# Tumbleweed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/_review/qe-core-OSD.toml new/openqa-mon-1.0.1/_review/qe-core-OSD.toml
--- old/openqa-mon-0.27/_review/qe-core-OSD.toml 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/_review/qe-core-OSD.toml 2023-03-30 15:43:35.000000000 +0200
@@ -4,7 +4,7 @@
Instance = "https://openqa.suse.de" # openQA instance to query
RabbitMQ = "amqps://suse:suse@rabbit.suse.de" # RabbitMQ instance to query
RabbitMQTopic = "suse.openqa.job.done" # RabbitMQ topic to query
-HideStatus = [ "scheduled", "passed", "softfailed", "running", "reviewed" ] # Hide scheduled and passed jobs
+HideStatus = ["scheduled", "passed", "softfailed", "cancelled", "skipped", "running", "uploading", "parallel_failed", "reviewed" ] # Hide scheduled and passed jobs
RefreshInterval = 60 # Refresh from API once every minute
MaxJobs = 20 # Max. job per group to display
GroupBy = "groups" # Group by defined groups ("none" or "groups")
@@ -63,6 +63,18 @@
Params = { groupid = "53", build = "" }
MaxLifetime = 86400
+# Quarterly Refresh
+
+[[Groups]]
+Name = "Maintenance: QR SLE 15-SP4"
+Params = { groupid = "458", build = "" }
+MaxLifetime = 86400
+
+[[Groups]]
+Name = "Maintenance: QR SLE 15-SP3"
+Params = { groupid = "373", build = "" }
+MaxLifetime = 86400
+
# Functional
[[Groups]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/_review/qec-containers.toml new/openqa-mon-1.0.1/_review/qec-containers.toml
--- old/openqa-mon-0.27/_review/qec-containers.toml 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/_review/qec-containers.toml 2023-03-30 15:43:35.000000000 +0200
@@ -3,7 +3,7 @@
Instance = "https://openqa.suse.de" # openQA instance to query
RabbitMQ = "amqps://suse:suse@rabbit.suse.de" # RabbitMQ instance to query
RabbitMQTopic = "suse.openqa.job.done" # RabbitMQ topic to query
-HideStatus = [ "scheduled", "passed", "softfailed", "running", "reviewed" ] # Hide scheduled and passed jobs
+HideStatus = ["scheduled", "passed", "softfailed", "cancelled", "skipped", "running", "uploading", "parallel_failed", "reviewed" ] # Hide scheduled and passed jobs
RefreshInterval = 60 # Refresh from API once every minute
MaxJobs = 20 # Max. job per group to display
GroupBy = "groups" # Group by defined groups ("none" or "groups")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/_review/qec-jeos.toml new/openqa-mon-1.0.1/_review/qec-jeos.toml
--- old/openqa-mon-0.27/_review/qec-jeos.toml 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/_review/qec-jeos.toml 2023-03-30 15:43:35.000000000 +0200
@@ -3,7 +3,7 @@
Instance = "https://openqa.suse.de" # openQA instance to query
RabbitMQ = "amqps://suse:suse@rabbit.suse.de" # RabbitMQ instance to query
RabbitMQTopic = "suse.openqa.job.done" # RabbitMQ topic to query
-HideStatus = [ "scheduled", "passed", "softfailed", "running", "reviewed" ] # Hide scheduled and passed jobs
+HideStatus = ["scheduled", "passed", "softfailed", "cancelled", "skipped", "running", "uploading", "parallel_failed", "reviewed" ] # Hide scheduled and passed jobs
RefreshInterval = 60 # Refresh from API once every minute
MaxJobs = 20 # Max. job per group to display
GroupBy = "groups" # Group by defined groups ("none" or "groups")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/_review/qec-publiccloud.toml new/openqa-mon-1.0.1/_review/qec-publiccloud.toml
--- old/openqa-mon-0.27/_review/qec-publiccloud.toml 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/_review/qec-publiccloud.toml 2023-03-30 15:43:35.000000000 +0200
@@ -3,7 +3,7 @@
Instance = "https://openqa.suse.de" # openQA instance to query
RabbitMQ = "amqps://suse:suse@rabbit.suse.de" # RabbitMQ instance to query
RabbitMQTopic = "suse.openqa.job.done" # RabbitMQ topic to query
-HideStatus = [ "scheduled", "passed", "softfailed", "cancelled", "skipped", "running", "reviewed" ] # Hide scheduled and passed jobs
+HideStatus = ["scheduled", "passed", "softfailed", "cancelled", "skipped", "running", "uploading", "parallel_failed", "reviewed" ] # Hide scheduled and passed jobs
Notify = false # No notifications by default
RefreshInterval = 60 # Refresh from API once every minute
MaxJobs = 20 # Max. job per group to display
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/cmd/openqa-mon/openqa-mon.go new/openqa-mon-1.0.1/cmd/openqa-mon/openqa-mon.go
--- old/openqa-mon-0.27/cmd/openqa-mon/openqa-mon.go 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/cmd/openqa-mon/openqa-mon.go 2023-03-30 15:43:35.000000000 +0200
@@ -17,7 +17,7 @@
"github.com/grisu48/gopenqa"
)
-const VERSION = "0.8.0"
+const VERSION = "1.0.1"
var config Config
var tui TUI
@@ -677,6 +677,17 @@
singleCall(remotes)
os.Exit(0)
}
+
+ // Refresh rates below 30 seconds are not allowed on public instances
+ if config.Continuous < 30 {
+ for _, remote := range remotes {
+ if strings.Contains(remote.URI, "://openqa.suse.de") || strings.Contains(remote.URI, "://openqa.opensuse.org") {
+ config.Continuous = 30
+ break
+ }
+ }
+ }
+
tui = CreateTUI()
tui.EnterAltScreen()
tui.Clear()
@@ -700,7 +711,7 @@
for i, remote := range remotes {
instance := gopenqa.CreateInstance(ensureHTTP(remote.URI))
instance.SetUserAgent("openqa-mon")
- instance.SetMaxRecursionDepth(100) // Certain jobs (e.g. verification runs) can have a lot of clones
+ instance.SetMaxRecursionDepth(20) // Certain jobs (e.g. verification runs) can have a lot of clones
// If no jobs are defined, fetch overview
if len(remote.Jobs) == 0 {
overview, err := instance.GetOverview("", gopenqa.EmptyParams())
@@ -713,23 +724,21 @@
} else {
// Fetch individual jobs
jobsModified := false // If remote.Jobs has been modified (e.g. id changes when detecting a restarted job)
- for i, id := range remote.Jobs {
- var job gopenqa.Job
- var err error
- if config.Follow {
- job, err = instance.GetJobFollow(id)
- } else {
- job, err = instance.GetJob(id)
- }
- if err != nil {
- // It's better to ignore a single failure than to suppress following jobs as well
- continue
- }
- if job.ID != id {
+ jobs, err := instance.GetJobs(remote.Jobs)
+ if err != nil {
+ return remotes, err
+ }
+ for i, job := range jobs {
+ if config.Follow && (job.IsCloned()) {
+ job, err = instance.GetJobFollow(job.ID)
+ if err != nil {
+ // It's better to ignore a single failure than to suppress following jobs as well
+ continue
+ }
remote.Jobs[i] = job.ID
jobsModified = true
}
- callback(id, job)
+ callback(job.ID, job)
// Fetch children
if config.Hierarchy {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/cmd/openqa-mq/openqa-mq.go new/openqa-mon-1.0.1/cmd/openqa-mq/openqa-mq.go
--- old/openqa-mon-0.27/cmd/openqa-mq/openqa-mq.go 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/cmd/openqa-mq/openqa-mq.go 2023-03-30 15:43:35.000000000 +0200
@@ -10,7 +10,7 @@
"github.com/streadway/amqp"
)
-const VERSION = "1.2"
+const VERSION = "1.0.1"
type Config struct {
Remote string // Remote address
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/cmd/openqa-revtui/openqa-revtui.go new/openqa-mon-1.0.1/cmd/openqa-revtui/openqa-revtui.go
--- old/openqa-mon-0.27/cmd/openqa-revtui/openqa-revtui.go 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/cmd/openqa-revtui/openqa-revtui.go 2023-03-30 15:43:35.000000000 +0200
@@ -11,7 +11,7 @@
"github.com/grisu48/gopenqa"
)
-const VERSION = "0.4.0"
+const VERSION = "1.0.1"
/* Group is a single configurable monitoring unit. A group contains all parameters that will be queried from openQA */
type Group struct {
@@ -36,6 +36,7 @@
var cf Config
var knownJobs []gopenqa.Job
+var updatedRefresh bool
func (cf *Config) LoadToml(filename string) error {
if _, err := toml.DecodeFile(filename, cf); err != nil {
@@ -126,8 +127,29 @@
return deltaT > maxlifetime
}
-func isReviewed(job gopenqa.Job, instance gopenqa.Instance) (bool, error) {
- comments, err := instance.GetComments(job.ID)
+func isReviewed(job gopenqa.Job, instance gopenqa.Instance, checkParallel bool) (bool, error) {
+ reviewed, err := checkReviewed(job.ID, instance)
+ if err != nil || reviewed {
+ return reviewed, err
+ }
+
+ // If not reviewed but "parallel_failed", check parallel jobs if they are reviewed
+ if checkParallel {
+ for _, childID := range job.Children.Parallel {
+ reviewed, err := checkReviewed(childID, instance)
+ if err != nil {
+ return reviewed, err
+ }
+ if reviewed {
+ return true, nil
+ }
+ }
+ }
+ return false, nil
+}
+
+func checkReviewed(job int64, instance gopenqa.Instance) (bool, error) {
+ comments, err := instance.GetComments(job)
if err != nil {
return false, nil
}
@@ -136,11 +158,11 @@
return true, nil
}
// Manually check for poo or bsc reference
- if strings.Contains(c.Text, "poo#") || strings.Contains(c.Text, "bsc#") {
+ if strings.Contains(c.Text, "poo#") || strings.Contains(c.Text, "bsc#") || strings.Contains(c.Text, "boo#") {
return true, nil
}
// Or for link to progress/bugzilla ticket
- if strings.Contains(c.Text, "://progress.opensuse.org/issues/") || strings.Contains(c.Text, "://bugzilla.suse.com/show_bug.cgi?id=") {
+ if strings.Contains(c.Text, "://progress.opensuse.org/issues/") || strings.Contains(c.Text, "://bugzilla.suse.com/show_bug.cgi?id=") || strings.Contains(c.Text, "://bugzilla.opensuse.org/show_bug.cgi?id=") {
return true, nil
}
}
@@ -168,7 +190,7 @@
if err != nil {
return job, err
}
- if job.CloneID != 0 && job.CloneID != job.ID {
+ if job.IsCloned() {
id = job.CloneID
time.Sleep(100 * time.Millisecond) // Don't spam the instance
continue
@@ -178,9 +200,33 @@
return job, fmt.Errorf("max recursion depth reached")
}
-func FetchJobs(instance gopenqa.Instance) ([]gopenqa.Job, error) {
+/* Fetch the given jobs from the instance at once */
+func fetchJobs(ids []int64, instance gopenqa.Instance) ([]gopenqa.Job, error) {
+ jobs := make([]gopenqa.Job, 0)
+
+ jobs, err := instance.GetJobs(ids)
+ if err != nil {
+ return jobs, err
+ }
+
+ // Get cloned jobs, if present
+ for i, job := range jobs {
+ if job.IsCloned() {
+ job, err = FetchJob(job.ID, instance)
+ if err != nil {
+ return jobs, err
+ }
+ jobs[i] = job
+ }
+ }
+ return jobs, nil
+}
+
+type FetchJobsCallback func(int, int, int, int)
+
+func FetchJobs(instance gopenqa.Instance, callback FetchJobsCallback) ([]gopenqa.Job, error) {
ret := make([]gopenqa.Job, 0)
- for _, group := range cf.Groups {
+ for i, group := range cf.Groups {
params := group.Params
jobs, err := instance.GetOverview("", params)
if err != nil {
@@ -190,15 +236,24 @@
if len(jobs) > cf.MaxJobs {
jobs = jobs[:cf.MaxJobs]
}
- // Get detailed job instances
+
+ // Get detailed job instances. Fetch them at once
+ ids := make([]int64, 0)
for _, job := range jobs {
- if job, err = FetchJob(job.ID, instance); err != nil {
- return ret, err
- } else {
- // Filter too old jobs
- if !isJobTooOld(job, group.MaxLifetime) {
- ret = append(ret, job)
- }
+ ids = append(ids, job.ID)
+ }
+ if callback != nil {
+ // Add one to the counter to indicate the progress to humans (0/16 looks weird)
+ callback(i+1, len(cf.Groups), 0, len(jobs))
+ }
+ jobs, err = fetchJobs(ids, instance)
+ if err != nil {
+ return jobs, err
+ }
+ for _, job := range jobs {
+ // Filter too old jobs
+ if !isJobTooOld(job, group.MaxLifetime) {
+ ret = append(ret, job)
}
}
}
@@ -214,21 +269,26 @@
return remote
}
-/** Try to update the given job, if it exists and if not the same. Returns the found job and true, if an update was successful */
-func updateJob(orig_id int64, job gopenqa.Job, instance gopenqa.Instance) (gopenqa.Job, bool) {
+/** Updates the known job based on the Job ID. Returns true if it has been updated and the updated instance and false if and the job if the job id hasn't been found */
+func updateJob(job gopenqa.Job) (gopenqa.Job, bool) {
for i, j := range knownJobs {
- if j.ID == orig_id {
- if j.ID != job.ID || j.State != job.State || j.Result != job.Result {
- knownJobs[i] = job
- return knownJobs[i], true
- } else {
- return job, false
- }
+ if j.ID == job.ID {
+ knownJobs[i] = job
+ return knownJobs[i], true
}
}
return job, false
}
+func getKnownJob(id int64) (gopenqa.Job, bool) {
+ for _, j := range knownJobs {
+ if j.ID == id {
+ return j, true
+ }
+ }
+ return gopenqa.Job{}, false
+}
+
/** Try to update the job with the given status, if present. Returns the found job and true if the job was present */
func updateJobStatus(status gopenqa.JobStatus) (gopenqa.Job, bool) {
var job gopenqa.Job
@@ -422,6 +482,15 @@
instance := gopenqa.CreateInstance(cf.Instance)
instance.SetUserAgent("openqa-mon/revtui")
+ // Refresh rates below 5 minutes are not allowed on public instances due to the rather large load it puts on them
+ updatedRefresh = false
+ if cf.RefreshInterval < 300 {
+ if strings.Contains(cf.Instance, "://openqa.suse.de") || strings.Contains(cf.Instance, "://openqa.opensuse.org") {
+ cf.RefreshInterval = 300
+ updatedRefresh = true
+ }
+ }
+
// Run TUI and use the return code
tui := CreateTUI()
switch cf.GroupBy {
@@ -445,37 +514,49 @@
func refreshJobs(tui *TUI, instance gopenqa.Instance) error {
// Get fresh jobs
status := tui.Status()
- tui.SetStatus("Refreshing jobs ... ")
+ oldJobs := tui.Model.Jobs()
+ tui.SetStatus(fmt.Sprintf("Refreshing %d jobs ... ", len(oldJobs)))
tui.Update()
- jobs := tui.Model.Jobs()
- for i, job := range jobs {
- orig_id := job.ID
- job, err := FetchJob(job.ID, instance)
- if err != nil {
- return err
+ // Refresh all jobs at once in one request
+ ids := make([]int64, 0)
+ for _, job := range oldJobs {
+ ids = append(ids, job.ID)
+ }
+ jobs, err := instance.GetJobs(ids)
+ if err != nil {
+ return err
+ }
+ for _, job := range jobs {
+ updated := false
+ if j, found := getKnownJob(job.ID); found {
+ updated = j.ID != job.ID || j.State != job.State || j.Result != job.Result
+ } else {
+ updated = true
}
- job, found := updateJob(orig_id, job, instance)
- if found {
+
+ if updated {
status = fmt.Sprintf("Last update: [%s] Job %d-%s %s", time.Now().Format("15:04:05"), job.ID, job.Name, job.JobState())
tui.SetStatus(status)
- jobs[i] = job
tui.Model.Apply(jobs)
tui.Update()
if cf.Notify && !hideJob(job) {
NotifySend(fmt.Sprintf("%s: %s %s", job.JobState(), job.Name, job.Test))
}
}
- // Failed jobs will be also scanned for comments
+ tui.Update()
+ // Scan failed jobs for comments
state := job.JobState()
- if state == "failed" || state == "incomplete" {
- reviewed, err := isReviewed(job, instance)
+ if state == "failed" || state == "incomplete" || state == "parallel_failed" {
+ reviewed, err := isReviewed(job, instance, state == "parallel_failed")
if err != nil {
return err
}
+
tui.Model.SetReviewed(job.ID, reviewed)
tui.Update()
}
}
+ knownJobs = jobs
tui.Model.Apply(jobs)
tui.SetStatus(status)
tui.Update()
@@ -530,6 +611,9 @@
fmt.Println(title)
fmt.Println("")
+ if updatedRefresh {
+ fmt.Printf(ANSI_YELLOW + "WARNING: For OSD and O3 a rate limit of 5 minutes between polling has been applied." + ANSI_RESET + "\n\n")
+ }
fmt.Printf("Initial querying instance %s ... \n", cf.Instance)
fmt.Println("\tGet job groups ... ")
jobgroups, err := FetchJobGroups(instance)
@@ -540,16 +624,27 @@
fmt.Fprintf(os.Stderr, "Warn: No job groups\n")
}
tui.Model.SetJobGroups(jobgroups)
- fmt.Printf("\tGet jobs for %d groups ... \n", len(cf.Groups))
- jobs, err := FetchJobs(instance)
+ fmt.Print("\033[s") // Save cursor position
+ fmt.Printf("\tGet jobs for %d groups ...", len(cf.Groups))
+ jobs, err := FetchJobs(instance, func(group int, groups int, job int, jobs int) {
+ fmt.Print("\033[u") // Restore cursor position
+ fmt.Print("\033[K") // Erase till end of line
+ fmt.Printf("\tGet jobs for %d groups ... %d/%d", len(cf.Groups), group, groups)
+ if job == 0 {
+ fmt.Printf(" (%d jobs)", jobs)
+ } else {
+ fmt.Printf(" (%d/%d jobs)", job, jobs)
+ }
+ })
+ fmt.Println()
if err != nil {
return fmt.Errorf("Error fetching jobs: %s", err)
}
// Failed jobs will be also scanned for comments
for _, job := range jobs {
state := job.JobState()
- if state == "failed" || state == "incomplete" {
- reviewed, err := isReviewed(job, instance)
+ if state == "failed" || state == "incomplete" || state == "parallel_failed" {
+ reviewed, err := isReviewed(job, instance, state == "parallel_failed")
if err != nil {
return fmt.Errorf("Error fetching job comment: %s", err)
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/cmd/openqa-revtui/tui.go new/openqa-mon-1.0.1/cmd/openqa-revtui/tui.go
--- old/openqa-mon-0.27/cmd/openqa-revtui/tui.go 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/cmd/openqa-revtui/tui.go 2023-03-30 15:43:35.000000000 +0200
@@ -273,8 +273,9 @@
if state == s {
return true
}
+
// Special reviewed keyword
- if s == "reviewed" && state == "failed" {
+ if s == "reviewed" && (state == "failed" || state == "parallel_failed" || state == "incomplete") {
if reviewed, found := tui.Model.reviewed[job.ID]; found && reviewed {
return true
}
@@ -306,6 +307,21 @@
return ret
}
+func jobGroupHeader(group gopenqa.JobGroup, width int) string {
+ if width <= 0 {
+ return ""
+ }
+ line := fmt.Sprintf("===== %s =====", group.Name)
+ for len(line) < width {
+ line += "="
+ }
+ // Crop if necessary
+ if len(line) > width {
+ line = line[:width]
+ }
+ return line
+}
+
func (tui *TUI) buildJobsScreenByGroup(width int) []string {
lines := make([]string, 0)
@@ -337,7 +353,8 @@
} else {
lines = append(lines, "")
}
- lines = append(lines, fmt.Sprintf("===== %s ====================", grp.Name))
+ lines = append(lines, jobGroupHeader(grp, width))
+
for _, job := range jobs {
if !tui.hideJob(job) {
lines = append(lines, tui.formatJobLine(job, width))
@@ -356,7 +373,23 @@
stats := sortedKeys(statC)
for _, s := range stats {
c := statC[s]
- line += fmt.Sprintf(", %s: %d", s, c)
+ line += ", "
+ // Add some color
+ if s == "passed" {
+ line += ANSI_GREEN
+ } else if s == "cancelled" {
+ line += ANSI_MAGENTA
+ } else if s == "failed" || s == "parallel_failed" || s == "incomplete" {
+ line += ANSI_RED
+ } else if s == "softfailed" {
+ line += ANSI_YELLOW
+ } else if s == "uploading" || s == "scheduled" || s == "running" {
+ line += ANSI_BLUE
+ } else if s == "skipped" {
+ line += ANSI_WHITE
+ }
+ line += fmt.Sprintf("%s: %d", s, c)
+ line += ANSI_RESET // Clear color
}
if hidden > 0 {
line += fmt.Sprintf(" (hidden: %d)", hidden)
@@ -458,10 +491,15 @@
tui.Model.mutex.Lock()
defer tui.Model.mutex.Unlock()
width, height := terminalSize()
- if width < 0 || height < 0 {
+ if width <= 0 || height <= 0 {
return
}
+ // Check for unreasonable values
+ if width > 1000 {
+ width = 1000
+ }
+
// Header and footer are separate. We only scroll through the "screen"
screen := tui.buildScreen(width)
header := tui.buildHeader(width)
@@ -487,7 +525,7 @@
if len(footer) > remainingLines {
footer = make([]string, 0)
} else {
- remainingLines -= (len(footer) + 1)
+ remainingLines -= len(footer)
}
// Print screen
@@ -506,9 +544,9 @@
// Print footer
if len(footer) > 0 {
- fmt.Println("")
for _, line := range footer {
- fmt.Println(line)
+ fmt.Println("")
+ fmt.Print(line)
}
}
}
@@ -529,7 +567,7 @@
return ANSI_GREEN
} else if state == "softfail" || state == "softfailed" {
return ANSI_YELLOW
- } else if state == "fail" || state == "failed" || state == "incomplete" {
+ } else if state == "fail" || state == "failed" || state == "incomplete" || state == "parallel_failed" {
return ANSI_RED
} else if state == "cancelled" || state == "user_cancelled" {
return ANSI_MAGENTA
@@ -571,7 +609,7 @@
tStr = timestamp.Format("2006-01-02-15:04:05")
}
// For failed jobs check if they are reviewed
- if job.Result == "failed" || job.Result == "incomplete" {
+ if state == "failed" || state == "incomplete" || state == "parallel_failed" {
if reviewed, found := tui.Model.reviewed[job.ID]; found && reviewed {
c2 = ANSI_MAGENTA
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/go.mod new/openqa-mon-1.0.1/go.mod
--- old/openqa-mon-0.27/go.mod 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/go.mod 2023-03-30 15:43:35.000000000 +0200
@@ -4,7 +4,7 @@
require (
github.com/BurntSushi/toml v1.2.1
- github.com/grisu48/gopenqa v0.5.2
+ github.com/grisu48/gopenqa v0.7.1
github.com/streadway/amqp v1.0.0
golang.org/x/crypto v0.4.0
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openqa-mon-0.27/go.sum new/openqa-mon-1.0.1/go.sum
--- old/openqa-mon-0.27/go.sum 2023-03-13 10:29:03.000000000 +0100
+++ new/openqa-mon-1.0.1/go.sum 2023-03-30 15:43:35.000000000 +0200
@@ -2,8 +2,8 @@
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/grisu48/gopenqa v0.5.2 h1:ofiN5Q9KIpeI+8Eq+Mh+Smk+Ia3q70nHz7EKKpJtcZU=
-github.com/grisu48/gopenqa v0.5.2/go.mod h1:D7EFTPhtzNvnHnDol9UoPCFmnzOiLBVa1tOOYqJDgGo=
+github.com/grisu48/gopenqa v0.7.1 h1:XhmsWY93WjqdnXmdDjjHTFdfLjQwz7kApviDM9lX27U=
+github.com/grisu48/gopenqa v0.7.1/go.mod h1:D7EFTPhtzNvnHnDol9UoPCFmnzOiLBVa1tOOYqJDgGo=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/streadway/amqp v1.0.0 h1:kuuDrUJFZL1QYL9hUNuCxNObNzB0bV/ZG5jV3RWAQgo=
++++++ openqa-mon.obsinfo ++++++
--- /var/tmp/diff_new_pack.35bpAt/_old 2023-04-01 19:32:51.293540486 +0200
+++ /var/tmp/diff_new_pack.35bpAt/_new 2023-04-01 19:32:51.297540507 +0200
@@ -1,5 +1,5 @@
name: openqa-mon
-version: 0.27
-mtime: 1678699743
-commit: f3c259de42cfcbff0afd4285313b48f8d9475a84
+version: 1.0.1
+mtime: 1680183815
+commit: 53cb17dd5a792df874a72a88248f3ef87556255a
++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/grisu48/gopenqa/gopenqa.go new/vendor/github.com/grisu48/gopenqa/gopenqa.go
--- old/vendor/github.com/grisu48/gopenqa/gopenqa.go 2023-03-16 10:37:09.000000000 +0100
+++ new/vendor/github.com/grisu48/gopenqa/gopenqa.go 2023-03-30 15:45:47.000000000 +0200
@@ -11,6 +11,7 @@
"net/url"
"os"
"strings"
+ "sync"
"time"
)
@@ -20,8 +21,10 @@
apikey string
apisecret string
verbose bool
- maxRecursions int // Maximum number of recursions
- userAgent string // Useragent sent with the request
+ maxRecursions int // Maximum number of recursions
+ userAgent string // Useragent sent with the request
+ allowParallel bool // Allow parallel requests (default: No)
+ mutFetching sync.Mutex // Mutex to ensure only one request at the time is performed
}
// the settings are given as dict:
@@ -132,13 +135,21 @@
return params.Encode()
}
+func ExtractJobIDS(jobs []Job) []int64 {
+ ret := make([]int64, 0)
+ for _, job := range jobs {
+ ret = append(ret, job.ID)
+ }
+ return ret
+}
+
func EmptyParams() map[string]string {
return make(map[string]string, 0)
}
/* Create a openQA instance module */
func CreateInstance(url string) Instance {
- inst := Instance{URL: url, maxRecursions: 10, verbose: false, userAgent: "gopenqa"}
+ inst := Instance{URL: url, maxRecursions: 10, verbose: false, userAgent: "gopenqa", allowParallel: false}
return inst
}
@@ -168,6 +179,11 @@
i.userAgent = userAgent
}
+// Set to allow or disallow parallel requests to the instance
+func (i *Instance) SetAllowParallel(allow bool) {
+ i.allowParallel = allow
+}
+
func assignInstance(jobs []Job, instance *Instance) []Job {
for i, j := range jobs {
j.instance = instance
@@ -226,6 +242,12 @@
* Add the APIKEY and APISECRET credentials, if given
*/
func (i *Instance) request(method string, url string, data []byte) ([]byte, error) {
+ // Request mutex to ensure, only one request at the time
+ if !i.allowParallel {
+ i.mutFetching.Lock()
+ defer i.mutFetching.Unlock()
+ }
+
contentType := ""
if data == nil {
data = make([]byte, 0)
@@ -337,6 +359,9 @@
return jobs.Jobs, err
}
err = json.Unmarshal(resp, &jobs)
+ if err != nil {
+ return jobs.Jobs, err
+ }
// Now, get only the latest job per group_id
mapped := make(map[int]Job)
@@ -360,19 +385,41 @@
ret = append(ret, v)
}
return ret, nil
+}
+func (job *Job) applyInstance(i *Instance) {
+ job.Link = fmt.Sprintf("%s/tests/%d", i.URL, job.ID)
+ job.instance = i
+ job.Remote = i.URL
}
// GetJob fetches detailled job information
func (i *Instance) GetJob(id int64) (Job, error) {
url := fmt.Sprintf("%s/api/v1/jobs/%d", i.URL, id)
job, err := i.fetchJob(url)
- job.Link = fmt.Sprintf("%s/tests/%d", i.URL, id)
- job.instance = i
- job.Remote = i.URL
return job, err
}
+// GetJob fetches detailled information about a list of jobs
+func (i *Instance) GetJobs(ids []int64) ([]Job, error) {
+ if len(ids) == 0 {
+ return make([]Job, 0), nil
+ }
+ url := fmt.Sprintf("%s/api/v1/jobs", i.URL)
+ // Add job ids to URL
+ // Note: I'm not using strings.Join because that requires me to first convert ids to a []string and I believe the following approach is not worse
+ first := true
+ for _, id := range ids {
+ if first {
+ first = false
+ url = fmt.Sprintf("%s?ids=%d", url, id)
+ } else {
+ url = fmt.Sprintf("%s&ids=%d", url, id)
+ }
+ }
+ return i.fetchJobsArray(url)
+}
+
func (i *Instance) DeleteJob(id int64) error {
url := fmt.Sprintf("%s/api/v1/jobs/%d", i.URL, id)
buf, err := i.delete(url, nil)
@@ -383,23 +430,26 @@
}
// GetJob fetches detailled job information and follows the job, if it contains a CloneID
-func (i *Instance) GetJobFollow(id int64) (Job, error) {
- recursions := 0 // keep track of the number of recursions
-fetch:
- url := fmt.Sprintf("%s/api/v1/jobs/%d", i.URL, id)
- job, err := i.fetchJob(url)
- if job.CloneID != 0 && job.CloneID != job.ID {
- recursions++
- if i.maxRecursions != 0 && recursions >= i.maxRecursions {
- return job, fmt.Errorf("maximum recusion depth reached")
+func (inst *Instance) GetJobFollow(id int64) (Job, error) {
+ for recursion := 0; recursion < inst.maxRecursions; recursion++ {
+ url := fmt.Sprintf("%s/api/v1/jobs/%d", inst.URL, id)
+ job, err := inst.fetchJob(url)
+ if err != nil {
+ return job, err
+ }
+ if job.IsCloned() {
+ id = job.CloneID
+ continue
}
- id = job.CloneID
- goto fetch
+ return job, nil
}
- job.Link = fmt.Sprintf("%s/tests/%d", i.URL, id)
- job.instance = i
- job.Remote = i.URL
- return job, err
+ return Job{}, fmt.Errorf("maximum recusion depth reached")
+}
+
+// GetJobState uses the (currently experimental) API call to quickly fetch a job state
+func (i *Instance) GetJobState(id int64) (JobState, error) {
+ url := fmt.Sprintf("%s/api/v1//experimental/jobs/%d/status", i.URL, id)
+ return i.fetchJobState(url)
}
func (i *Instance) GetJobGroups() ([]JobGroup, error) {
@@ -467,21 +517,44 @@
return i.fetchWorkers(url)
}
-func (i *Instance) fetchJobs(url string) ([]Job, error) {
+// fetchJobs fetches the given url and returns all jobs returned by it (as direct array)
+func (inst *Instance) fetchJobs(url string) ([]Job, error) {
jobs := make([]Job, 0)
- resp, err := i.get(url, nil)
+ resp, err := inst.get(url, nil)
if err != nil {
return jobs, err
}
err = json.Unmarshal(resp, &jobs)
+ for i, job := range jobs {
+ job.applyInstance(inst)
+ jobs[i] = job
+ }
return jobs, err
}
-func (i *Instance) fetchJobGroups(url string) ([]JobGroup, error) {
+// fetchJobs fetches the given url and returns all jobs, It expects the jobs to be within the "jobs" dict of the result
+func (inst *Instance) fetchJobsArray(url string) ([]Job, error) {
+ type ResultJob struct { // Expected result structure
+ Jobs []Job `json:"jobs"`
+ }
+ var ret ResultJob
+ resp, err := inst.get(url, nil)
+ if err != nil {
+ return make([]Job, 0), err
+ }
+ err = json.Unmarshal(resp, &ret)
+ for i, job := range ret.Jobs {
+ job.applyInstance(inst)
+ ret.Jobs[i] = job
+ }
+ return ret.Jobs, err
+}
+
+func (inst *Instance) fetchJobGroups(url string) ([]JobGroup, error) {
jobs := make([]JobGroup, 0)
- resp, err := i.get(url, nil)
+ resp, err := inst.get(url, nil)
if err != nil {
return jobs, err
}
@@ -539,20 +612,31 @@
return make([]Machine, 0), nil
}
-func (i *Instance) fetchJob(url string) (Job, error) {
+func (inst *Instance) fetchJob(url string) (Job, error) {
type ResultJob struct { // Expected result structure
Job Job `json:"job"`
}
var job ResultJob
- resp, err := i.get(url, nil)
+ resp, err := inst.get(url, nil)
if err != nil {
return job.Job, err
}
// TODO: Sometimes SizeLimit is returned as string but it should be an int. Fix this.
err = json.Unmarshal(resp, &job)
+ job.Job.applyInstance(inst)
return job.Job, err
}
+func (i *Instance) fetchJobState(url string) (JobState, error) {
+ var state JobState
+ resp, err := i.get(url, nil)
+ if err != nil {
+ return state, err
+ }
+ err = json.Unmarshal(resp, &state)
+ return state, err
+}
+
/* merge given parameter string to URL parameters */
func mergeParams(params map[string]string) string {
if len(params) == 0 {
@@ -569,17 +653,24 @@
* Fetch the given child jobs. Use with j.Children.Chained, j.Children.DirectlyChained and j.Children.Parallel
* if follow is set to true, the method will return the cloned job instead of the original one, if present
*/
-func (j *Job) FetchChildren(children []int64, follow bool) ([]Job, error) {
- jobs := make([]Job, 0)
- for _, id := range children {
- job, err := j.instance.GetJobFollow(id)
- if err != nil {
- return jobs, err
+func (j *Job) FetchChildren(ids []int64, follow bool) ([]Job, error) {
+ children, err := j.instance.GetJobs(ids)
+ if err != nil {
+ return children, err
+ }
+ if follow {
+ for i, job := range children {
+ // Fetch cloned job, if present
+ if job.CloneID != 0 && job.CloneID != job.ID {
+ job, err := j.instance.GetJobFollow(job.ID)
+ if err != nil {
+ return children, err
+ }
+ children[i] = job
+ }
}
- jobs = append(jobs, job)
}
-
- return jobs, nil
+ return children, nil
}
/* Fetch all child jobs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/grisu48/gopenqa/job.go new/vendor/github.com/grisu48/gopenqa/job.go
--- old/vendor/github.com/grisu48/gopenqa/job.go 2023-03-16 10:37:09.000000000 +0100
+++ new/vendor/github.com/grisu48/gopenqa/job.go 2023-03-30 15:45:47.000000000 +0200
@@ -42,10 +42,19 @@
Machine string `json:"MACHINE"`
}
+/* Special struct for getting quick job status */
+type JobState struct {
+ BlockedBy int64 `json:"blocked_by_id"`
+ Result string `json:"result"`
+ State string `json:"state"`
+}
+
/* Format job as a string */
func (j *Job) String() string {
return fmt.Sprintf("%d %s (%s)", j.ID, j.Name, j.Test)
}
+
+/* JobState returns or the job state or the result, if the job is done */
func (j *Job) JobState() string {
if j.State == "done" {
return j.Result
@@ -53,6 +62,11 @@
return j.State
}
+/* IsCloned returns true, if the job has been cloned/restarted */
+func (j *Job) IsCloned() bool {
+ return j.CloneID != 0 && j.CloneID != j.ID
+}
+
/* Compares two jobs according to their unique parameters (ID, GroupID, Test) */
func (j1 *Job) Equals(j2 Job) bool {
// Compare only relevant parameters
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/grisu48/gopenqa/rabbitmq.go new/vendor/github.com/grisu48/gopenqa/rabbitmq.go
--- old/vendor/github.com/grisu48/gopenqa/rabbitmq.go 2023-03-16 10:37:09.000000000 +0100
+++ new/vendor/github.com/grisu48/gopenqa/rabbitmq.go 2023-03-30 15:45:47.000000000 +0200
@@ -41,29 +41,80 @@
type RabbitMQ struct {
remote string
con *amqp.Connection
+ closed bool
}
+// Callback when the connection was closed
+type RabbitMQCloseCallback func(error)
+
// Close connection
func (mq *RabbitMQ) Close() {
+ mq.closed = true
mq.con.Close()
}
+// Connected returns true if RabbitMQ is connected
+func (mq *RabbitMQ) Connected() bool {
+ return !mq.closed && !mq.con.IsClosed()
+}
+
+// Connected returns true if RabbitMQ is closing or if it is closed.
+func (mq *RabbitMQ) Closed() bool {
+ if mq.closed {
+ return true
+ }
+ if mq.con.IsClosed() {
+ mq.closed = true
+ return true
+ }
+ return false
+}
+
+// Reconnect to the RabbitMQ server. This will close any previous connections and channels
+func (mq *RabbitMQ) Reconnect() error {
+ var err error
+ mq.con.Close()
+ mq.closed = false
+ mq.con, err = amqp.Dial(mq.remote)
+ return err
+}
+
+// NotifyClose registeres a defined callback function for when the RabbitMQ connection is closed
+func (mq *RabbitMQ) NotifyClose(callback RabbitMQCloseCallback) {
+ go func() {
+ recvChannel := make(chan *amqp.Error, 1)
+ mq.con.NotifyClose(recvChannel)
+ for err := range recvChannel {
+ callback(fmt.Errorf(err.Error()))
+ }
+ }()
+}
+
// RabbitMQSubscription handles a single subscription
type RabbitMQSubscription struct {
channel *amqp.Channel
key string
obs <-chan amqp.Delivery
mq *RabbitMQ
+ con *amqp.Connection // Keep a reference to the connection to check if it is still connected. This is necessary because mq can reconnect and therefore have another new mq.con instance
+}
+
+// Connected returns true if RabbitMQ is connected
+func (sub *RabbitMQSubscription) Connected() bool {
+ return !sub.con.IsClosed()
}
// Receive receives a raw non-empty RabbitMQ messages
func (sub *RabbitMQSubscription) Receive() (amqp.Delivery, error) {
- for {
- msg := <-sub.obs
+ for msg, ok := <-sub.obs; ok; {
if len(msg.Body) > 0 {
return msg, nil
}
}
+ if sub.mq == nil || sub.mq.closed || sub.con == nil || sub.con.IsClosed() {
+ return amqp.Delivery{}, fmt.Errorf("EOF")
+ }
+ return amqp.Delivery{}, fmt.Errorf("channel unexpectedly closed")
}
// ReceiveJob receives the next message and try to parse it as job
@@ -174,7 +225,7 @@
// ConnectRabbitMQ connects to a RabbitMQ instance and returns the RabbitMQ object
func ConnectRabbitMQ(remote string) (RabbitMQ, error) {
var err error
- rmq := RabbitMQ{remote: remote}
+ rmq := RabbitMQ{remote: remote, closed: false}
rmq.con, err = amqp.Dial(remote)
if err != nil {
@@ -213,5 +264,6 @@
sub.channel = ch
sub.key = key
sub.obs = obs
+ sub.con = mq.con
return sub, nil
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt 2023-03-16 10:37:10.000000000 +0100
+++ new/vendor/modules.txt 2023-03-30 15:45:47.000000000 +0200
@@ -2,7 +2,7 @@
## explicit; go 1.16
github.com/BurntSushi/toml
github.com/BurntSushi/toml/internal
-# github.com/grisu48/gopenqa v0.5.2
+# github.com/grisu48/gopenqa v0.7.1
## explicit; go 1.14
github.com/grisu48/gopenqa
# github.com/streadway/amqp v1.0.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package clojure for openSUSE:Factory checked in at 2023-04-01 19:32:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clojure (Old)
and /work/SRC/openSUSE:Factory/.clojure.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clojure"
Sat Apr 1 19:32:33 2023 rev:11 rq:1076593 version:1.11.1.1267
Changes:
--------
--- /work/SRC/openSUSE:Factory/clojure/clojure.changes 2023-03-28 17:50:51.395406572 +0200
+++ /work/SRC/openSUSE:Factory/.clojure.new.9019/clojure.changes 2023-04-01 19:32:49.593531562 +0200
@@ -1,0 +2,6 @@
+Sat Apr 1 07:14:55 UTC 2023 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 1.11.1.1267:
+ * Switch to tools.deps 0.18.1331
+
+-------------------------------------------------------------------
Old:
----
clojure-tools-1.11.1.1262.tar.gz
New:
----
clojure-tools-1.11.1.1267.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ clojure.spec ++++++
--- /var/tmp/diff_new_pack.KCdfez/_old 2023-04-01 19:32:50.233534922 +0200
+++ /var/tmp/diff_new_pack.KCdfez/_new 2023-04-01 19:32:50.237534943 +0200
@@ -17,7 +17,7 @@
Name: clojure
-Version: 1.11.1.1262
+Version: 1.11.1.1267
Release: 0
Summary: A dynamic programming language that targets the JVM
License: EPL-1.0
++++++ clojure-tools-1.11.1.1262.tar.gz -> clojure-tools-1.11.1.1267.tar.gz ++++++
/work/SRC/openSUSE:Factory/clojure/clojure-tools-1.11.1.1262.tar.gz /work/SRC/openSUSE:Factory/.clojure.new.9019/clojure-tools-1.11.1.1267.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xfce4-pulseaudio-plugin for openSUSE:Factory checked in at 2023-04-01 19:32:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-pulseaudio-plugin (Old)
and /work/SRC/openSUSE:Factory/.xfce4-pulseaudio-plugin.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfce4-pulseaudio-plugin"
Sat Apr 1 19:32:32 2023 rev:6 rq:1076642 version:0.4.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/xfce4-pulseaudio-plugin/xfce4-pulseaudio-plugin.changes 2022-09-19 16:04:22.902317849 +0200
+++ /work/SRC/openSUSE:Factory/.xfce4-pulseaudio-plugin.new.9019/xfce4-pulseaudio-plugin.changes 2023-04-01 19:32:48.149523981 +0200
@@ -1,0 +2,35 @@
+Sat Apr 1 13:21:17 UTC 2023 - Marcel Kuehlhorn <tux93(a)opensuse.org>
+
+- Update to version 0.4.6
+ * Fix changing default sink and source devices
+ * Fix flickering mic icon when recording application is connected
+ * Avoid critical from xfce4-notifyd if gauge_value > 100
+ * Display maximum volume of all channels instead of volume of
+ left channel
+ * Add recording base volume indicator
+ * Control mic volume/mute when mouse cursor is over the mic icon
+ * Lower warning level
+ * Improve volume notifications settings
+ * Show volume notifications from hotkeys according to comment
+ * Don't set negative volume from hotkeys
+ * Use correct variable for "volume-mic-changed" signal ID
+ * Don't force set the default device
+ * Set recording icon according to recording volume level
+ * Show source monitor if it is a default source
+ * Check for recording state on context ready
+ * Allow volume step configuration in dialog
+ (gxo#panel-plugins/xfce4-pulseaudio-plugin#28)
+ * wnck: Add missing LIBS/CFLAGS in Makefile
+ * wnck: Use Libxfce4windowing when available
+ * wnck: Guard X11 code path to prevent crash on Wayland
+ * wnck: Improve RaiseWnck a bit
+ * Fix memory leak
+ * cleanup: Fix formatting
+ * Fix blurry media player icon from file when UI scale > 1
+ * Fix blurry icons in prefs dialog when UI scale factor > 1
+ * Use "logo-icon-name" instead of "logo" in about dialog
+ * Do not override fatal log level
+ * build: Bump GLib minimum required to 2.44
+ * Translation Updates
+
+-------------------------------------------------------------------
Old:
----
xfce4-pulseaudio-plugin-0.4.5.tar.bz2
New:
----
xfce4-pulseaudio-plugin-0.4.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfce4-pulseaudio-plugin.spec ++++++
--- /var/tmp/diff_new_pack.iVFCtf/_old 2023-04-01 19:32:48.697526858 +0200
+++ /var/tmp/diff_new_pack.iVFCtf/_new 2023-04-01 19:32:48.701526879 +0200
@@ -1,7 +1,7 @@
#
# spec file
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2015 Guido Berhoerster.
#
# All modifications and additions to the file contributed by third parties
@@ -21,7 +21,7 @@
%define plugin pulseaudio
%bcond_with git
Name: xfce4-%{plugin}-plugin
-Version: 0.4.5
+Version: 0.4.6
Release: 0
Summary: Pulseaudio Volume Control Plugin for the Xfce Panel
License: GPL-2.0-or-later
@@ -32,7 +32,7 @@
BuildRequires: pkgconfig
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(exo-2) >= 0.11
-BuildRequires: pkgconfig(glib-2.0) >= 2.42.0
+BuildRequires: pkgconfig(glib-2.0) >= 2.44.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.20.0
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libpulse-mainloop-glib) >= 0.9.19
++++++ xfce4-pulseaudio-plugin-0.4.5.tar.bz2 -> xfce4-pulseaudio-plugin-0.4.6.tar.bz2 ++++++
++++ 16467 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package thunar-plugin-archive for openSUSE:Factory checked in at 2023-04-01 19:32:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/thunar-plugin-archive (Old)
and /work/SRC/openSUSE:Factory/.thunar-plugin-archive.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "thunar-plugin-archive"
Sat Apr 1 19:32:30 2023 rev:17 rq:1076640 version:0.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/thunar-plugin-archive/thunar-plugin-archive.changes 2022-05-16 18:10:05.905353614 +0200
+++ /work/SRC/openSUSE:Factory/.thunar-plugin-archive.new.9019/thunar-plugin-archive.changes 2023-04-01 19:32:46.881517325 +0200
@@ -1,0 +2,10 @@
+Sat Apr 1 08:38:56 UTC 2023 - Manfred Hollstein <manfred.h(a)gmx.net>
+
+- Update to version 0.5.1
+ * Fix use-after-free crash in "tap_provider_child_watch_destroy"
+ * build: Add GLib requirement
+ * build: Fix autotools warnings
+ * Use generic package icon name in dialog header
+ * Translation Updates
+
+-------------------------------------------------------------------
Old:
----
thunar-archive-plugin-0.5.0.tar.bz2
New:
----
thunar-archive-plugin-0.5.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ thunar-plugin-archive.spec ++++++
--- /var/tmp/diff_new_pack.uOUZJR/_old 2023-04-01 19:32:47.441520265 +0200
+++ /var/tmp/diff_new_pack.uOUZJR/_new 2023-04-01 19:32:47.449520307 +0200
@@ -1,7 +1,7 @@
#
# spec file for package thunar-plugin-archive
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define plugin_name thunar-archive-plugin
Name: thunar-plugin-archive
-Version: 0.5.0
+Version: 0.5.1
Release: 0
URL: https://docs.xfce.org/xfce/thunar/archive
Source0: https://archive.xfce.org/src/thunar-plugins/%{plugin_name}/0.5/%{plugin_nam…
@@ -28,8 +28,10 @@
Group: System/GUI/XFCE
BuildRequires: intltool
BuildRequires: pkgconfig(exo-2) >= 0.10.0
+BuildRequires: pkgconfig(glib-2.0) >= 2.50.0
+BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.0
BuildRequires: pkgconfig(libxfce4util-1.0) >= 4.12.0
-BuildRequires: pkgconfig(thunarx-3)
+BuildRequires: pkgconfig(thunarx-3) >= 0.4.0
Requires: thunar >= 1.7.0
Recommends: %{name}-lang = %{version}
Provides: %{plugin_name} = %{version}
++++++ thunar-archive-plugin-0.5.0.tar.bz2 -> thunar-archive-plugin-0.5.1.tar.bz2 ++++++
++++ 39716 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libgarcon for openSUSE:Factory checked in at 2023-04-01 19:32:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgarcon (Old)
and /work/SRC/openSUSE:Factory/.libgarcon.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libgarcon"
Sat Apr 1 19:32:29 2023 rev:35 rq:1076638 version:4.18.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/libgarcon/libgarcon.changes 2022-12-24 14:55:21.876707418 +0100
+++ /work/SRC/openSUSE:Factory/.libgarcon.new.9019/libgarcon.changes 2023-04-01 19:32:45.569510437 +0200
@@ -1,0 +2,14 @@
+Tue Mar 28 18:32:13 UTC 2023 - Manfred Hollstein <manfred.h(a)gmx.net>
+
+- Update to version 4.18.1
+ * garcon-gtk: Add missing lock when filling the GtkMenu
+ * Wait for any async operation to finish before releasing locks
+ * Use GIcons for menu icons instead of loading surfaces
+ * Revert "garcon-gtk: Fix menu icon blurriness when UI scale
+ factor != 1"
+ * Revert "Load icons using icon theme scaling functions correctly"
+ * garcon-gtk: Properly update GtkMenu is_populated state
+ * Load icons using icon theme scaling functions correctly
+ * Translation Updates
+
+-------------------------------------------------------------------
Old:
----
garcon-4.18.0.tar.bz2
New:
----
garcon-4.18.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libgarcon.spec ++++++
--- /var/tmp/diff_new_pack.JOGvTp/_old 2023-04-01 19:32:46.049512957 +0200
+++ /var/tmp/diff_new_pack.JOGvTp/_new 2023-04-01 19:32:46.057512999 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libgarcon
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define libname libgarcon-1-0
Name: libgarcon
-Version: 4.18.0
+Version: 4.18.1
Release: 0
Summary: Library Implementing the freedesktop.org Desktop Menu Specification
License: GPL-2.0-or-later
@@ -35,7 +35,7 @@
BuildRequires: pkgconfig(gthread-2.0) >= 2.66.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.24.0
BuildRequires: pkgconfig(gtk-doc)
-BuildRequires: pkgconfig(libxfce4ui-2) >= 4.15.6
+BuildRequires: pkgconfig(libxfce4ui-2) >= 4.15.7
BuildRequires: pkgconfig(libxfce4util-1.0) >= 4.15.6
%description
@@ -102,8 +102,8 @@
%description branding-upstream
This package provides the upstream look and feel for garcon.
-# this should be replaced by %%lang_package once bnc#513786 is resolved
+# this should be replaced by %%lang_package once bnc#513786 is resolved
%package lang
Summary: Languages for package %{name}
Group: System/Localization
++++++ garcon-4.18.0.tar.bz2 -> garcon-4.18.1.tar.bz2 ++++++
++++ 7831 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xfce4-panel for openSUSE:Factory checked in at 2023-04-01 19:32:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-panel (Old)
and /work/SRC/openSUSE:Factory/.xfce4-panel.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfce4-panel"
Sat Apr 1 19:32:29 2023 rev:82 rq:1076637 version:4.18.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/xfce4-panel/xfce4-panel.changes 2023-02-10 14:35:18.349915328 +0100
+++ /work/SRC/openSUSE:Factory/.xfce4-panel.new.9019/xfce4-panel.changes 2023-04-01 19:32:43.093497439 +0200
@@ -1,0 +2,18 @@
+Tue Mar 28 18:13:46 UTC 2023 - Manfred Hollstein <manfred.h(a)gmx.net>
+
+- Update to version 4.18.3
+ * launcher: Show action menu also when there are several items
+ * Fix memory management of vala generated plugins
+ * panel: Rephrase "Don't reserve space on borders" (V2)
+ * panel: Make property migration generic
+ * launcher: Avoid "no trigger event" warning when showing the menu
+ * launcher: Guard access to the plugin menu GdkWindow
+ * libxfce4panel: Unregister menu also on GtkWidget::hide
+ * panel: Do not reset output name if a monitor does not have a model name
+ * libxfce4panel: Fix memory management of source for menu positioning
+ * panel: Delay removal of ExternalPlugin to prevent use-after-free
+ * systray: Cancel any async D-Bus operation in finalize()
+ * tasklist: Do not try to resolve /proc/pid/exe to launch new instance
+ * Translation Updates
+
+-------------------------------------------------------------------
Old:
----
xfce4-panel-4.18.2.tar.bz2
New:
----
xfce4-panel-4.18.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfce4-panel.spec ++++++
--- /var/tmp/diff_new_pack.cYxIWk/_old 2023-04-01 19:32:43.717500715 +0200
+++ /var/tmp/diff_new_pack.cYxIWk/_new 2023-04-01 19:32:43.721500736 +0200
@@ -20,7 +20,7 @@
%define libname libxfce4panel-2_0-4
Name: xfce4-panel
-Version: 4.18.2
+Version: 4.18.3
Release: 0
Summary: Panel for the Xfce Desktop Environment
License: GPL-2.0-or-later AND LGPL-2.1-or-later
++++++ xfce4-panel-4.18.2.tar.bz2 -> xfce4-panel-4.18.3.tar.bz2 ++++++
++++ 24441 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xfce4-session for openSUSE:Factory checked in at 2023-04-01 19:32:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-session (Old)
and /work/SRC/openSUSE:Factory/.xfce4-session.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfce4-session"
Sat Apr 1 19:32:27 2023 rev:88 rq:1076636 version:4.18.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/xfce4-session/xfce4-session.changes 2023-02-12 19:14:22.625061194 +0100
+++ /work/SRC/openSUSE:Factory/.xfce4-session.new.9019/xfce4-session.changes 2023-04-01 19:32:41.341488242 +0200
@@ -1,0 +2,9 @@
+Tue Mar 28 18:10:04 UTC 2023 - Manfred Hollstein <manfred.h(a)gmx.net>
+
+- Update to version 4.18.2
+ * manager: Fix GQueue memory management
+ * Fix Xfconf memory management
+ * Update bug report address
+ * Fix suspend/hibernation bug on ConsoleKit2 (Fixes #164)
+
+-------------------------------------------------------------------
Old:
----
xfce4-session-4.18.1.tar.bz2
New:
----
xfce4-session-4.18.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfce4-session.spec ++++++
--- /var/tmp/diff_new_pack.zqP16N/_old 2023-04-01 19:32:41.977491581 +0200
+++ /var/tmp/diff_new_pack.zqP16N/_new 2023-04-01 19:32:41.981491602 +0200
@@ -18,7 +18,7 @@
%bcond_with git
Name: xfce4-session
-Version: 4.18.1
+Version: 4.18.2
Release: 0
Summary: Xfce Session Manager
License: GPL-2.0-only
++++++ xfce4-session-4.18.1.tar.bz2 -> xfce4-session-4.18.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/ChangeLog new/xfce4-session-4.18.2/ChangeLog
--- old/xfce4-session-4.18.1/ChangeLog 2023-02-10 11:03:33.000000000 +0100
+++ new/xfce4-session-4.18.2/ChangeLog 2023-03-28 18:59:54.000000000 +0200
@@ -1,3 +1,55 @@
+commit cff23d0fadd502f7db9230f9ebbc02c00853f825
+Author: Ga��l Bonithon <gael(a)xfce.org>
+Date: Wed Mar 15 11:16:17 2023 +0100
+
+ manager: Fix GQueue memory management
+
+ Other iterations over the queue don't seem to be a problem:
+ g_queue_remove() is only called in xfsm_manager_close_connection(),
+ which only really causes problems in one place.
+
+ Fixes: #166
+ (cherry picked from commit 321ca64377eb8ddf5572f260e78f119c9e87dd8b)
+
+commit 911f5b8101dec6a6d28f7601768588a2f0fd4aaf
+Author: Ga��l Bonithon <gael(a)xfce.org>
+Date: Tue Mar 14 13:56:19 2023 +0100
+
+ Fix Xfconf memory management
+
+ * Each xfconf_init() should match an xfconf_shutdown()
+ * Xfconf already manages a singleton channel, no need to duplicate that
+
+ (cherry picked from commit 87ec0e7e8a3f18e776da899098698f0acf0b1fd9)
+
+commit 31bb178eb7945fdbb80d9d0f857fd4803565a12a
+Author: Ga��l Bonithon <gael(a)xfce.org>
+Date: Sat Feb 18 17:05:31 2023 +0100
+
+ Update bug report address
+
+ (cherry picked from commit 6d68dc31a922ae8b45460547382300da15b2630e)
+
+commit 03b0c1501de7b21d63d5cb3ab135b5184112e815
+Author: picokan <todaysoracle(a)protonmail.com>
+Date: Fri Feb 10 20:54:37 2023 +0000
+
+ Fix suspend/hibernation bug on ConsoleKit2 (Fixes #164)
+
+ (cherry picked from commit e6c12ef7c643aeb05d5a9251976df78a9b82063e)
+
+commit c7316cf22f6a08eabc90aa5b6f8b6e68147e6d41
+Author: Ga��l Bonithon <gael(a)xfce.org>
+Date: Fri Feb 10 11:11:16 2023 +0100
+
+ Back to development
+
+commit 258e5741ef365b5c5216b522b950966ad34cc2a7
+Author: Ga��l Bonithon <gael(a)xfce.org>
+Date: Fri Feb 10 11:10:14 2023 +0100
+
+ Updates for release
+
commit 75e18489f3efad4187dd99ff73d241c6f54a7191
Author: Ga��l Bonithon <gael(a)xfce.org>
Date: Thu Feb 9 13:11:57 2023 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/NEWS new/xfce4-session-4.18.2/NEWS
--- old/xfce4-session-4.18.1/NEWS 2023-02-10 11:00:53.000000000 +0100
+++ new/xfce4-session-4.18.2/NEWS 2023-03-28 18:57:16.000000000 +0200
@@ -1,3 +1,10 @@
+4.18.2 (2023-03-28)
+======
+- manager: Fix GQueue memory management
+- Fix Xfconf memory management
+- Update bug report address
+- Fix suspend/hibernation bug on ConsoleKit2 (Fixes #164)
+
4.18.1 (2023-02-10)
======
- Update copyright year
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/aclocal.m4 new/xfce4-session-4.18.2/aclocal.m4
--- old/xfce4-session-4.18.1/aclocal.m4 2023-02-10 11:02:20.000000000 +0100
+++ new/xfce4-session-4.18.2/aclocal.m4 2023-03-28 18:58:11.000000000 +0200
@@ -810,6 +810,165 @@
+dnl XDT_FEATURE_DEPENDENCY(varname, package, version)
+dnl
+dnl Used only as an argument to XDT_CHECK_OPTIONAL_FEATURE(), this macro
+dnl declares a dependency required for the feature to be enabled.
+dnl
+dnl If the dependency is checked and found, variables and substitutions will be
+dnl created and set as in XDT_CHECK_PACKAGE(), plus varname_FOUND will be set
+dnl to "yes", and HAVE_varname will be set in config.h.
+dnl
+dnl Note that, unlike with XDT_CHECK_OPTIONAL_PACKAGE(), no automake
+dnl conditional is set for this dependency.
+dnl
+dnl See XDT_CHECK_OPTIONAL_FEATURE() for more information.
+dnl
+AC_DEFUN([XDT_FEATURE_DEPENDENCY],
+[
+ AC_REQUIRE([XDT_PROG_PKG_CONFIG])
+
+ if test x"$xdt_feature_deps_check_only" = x"yes"; then
+ if ! $PKG_CONFIG --exists "$2 >= $3" >/dev/null 2>&1; then
+ if test x"$xdt_feature_deps_missing" = x""; then
+ xdt_feature_deps_missing="$2 >= $3"
+ else
+ xdt_feature_deps_missing="$xdt_feature_deps_missing, $2 >= $3"
+ fi
+ fi
+ else
+ XDT_CHECK_PACKAGE([$1], [$2], [$3],
+ [
+ AC_DEFINE([HAVE_$1], [1], [Define if $2 >= $3 present])
+ $1_FOUND="yes"
+ ])
+ fi
+])
+
+
+
+dnl XDT_CHECK_OPTIONAL_FEATURE(varname, optionname, dependency-checks, [helpstring], [default])
+dnl
+dnl Introduces an --enable-optionname/--disable-optionname flag pair for a
+dnl named feature. If neither flag is provided, the feature will be enabled or
+dnl disabled depending on whether or not dependency-checks succeed or fail.
+dnl If --enable-optionname is provided, the configure script will error out if
+dnl the dependencies are not met. If --disable-optionname is provided, the
+dnl feature will be disabled, and dependencies will not be checked.
+dnl
+dnl The dependency-checks argument should be a series of
+dnl XDT_FEATURE_DEPENDENCY() macro calls, passed as a single quoted argument to
+dnl XDT_CHECK_OPTIONAL_FEATURE().
+dnl
+dnl If helpstring is not provided, optionname is used instead.
+dnl
+dnl The default is "auto", and semantics are as described above. If default is
+dnl set to "yes", then the feature will be required unless --disable-optionname
+dnl is passed to configure. If default is set to "no", the feature will not be
+dnl built unless --enable-optionname is passed.
+dnl
+dnl If the feature is enabled and dependencies are met, ENABLE_varname will be
+dnl defined in config.h. Additionally, an automake conditional called
+dnl ENABLE_varname will be created, and a shell variable called ENABLE_varname
+dnl will set to "yes" or "no".
+dnl
+dnl Example usage:
+dnl
+dnl XDT_CHECK_OPTIONAL_FEATURE([WAYLAND],
+dnl [wayland],
+dnl [
+dnl XDT_FEATURE_DEPENDENCY([GDK_WAYLAND], [gdk-wayland-3.0], [3.24.0])
+dnl XDT_FEATURE_DEPENDENCY([GTK_LAYER_SHELL], [gtk-layer-shell-0], [0.7.0])
+dnl ],
+dnl [the Wayland windowing system])
+dnl
+dnl Note that there are no commas between the XDT_FEATURE_DEPENDENCY()
+dnl invocations; they should all form a single "argument" to
+dnl XDT_CHECK_OPTIONAL_FEATURE().
+dnl
+dnl Also note that you must quote the dependency-checks argument with square
+dnl brackets, or you will get syntax errors in the generated configure script.
+dnl
+AC_DEFUN([XDT_CHECK_OPTIONAL_FEATURE],
+[
+ AC_ARG_ENABLE([$2],
+AS_HELP_STRING([--enable-$2], [Enable support for m4_default($4, $2) (default=m4_default([$5], [auto]))])
+AS_HELP_STRING([--disable-$2], [Disable support for m4_default($4, $2)]),
+ [xdt_cv_$1_enabled=$enableval], [xdt_cv_$1_enabled=m4_default([$5], [auto])])
+
+ if test x"$xdt_cv_$1_enabled" != x"no"; then
+ xdt_feature_deps_check_only=yes
+ xdt_feature_deps_missing=
+ $3
+ if test x"$xdt_feature_deps_missing" = x""; then
+ xdt_feature_deps_check_only=
+ $3
+ ENABLE_$1="yes"
+ AC_DEFINE([ENABLE_$1], [1], [Define if m4_default($4, $2) is enabled])
+ AC_MSG_CHECKING([if m4_default($4, $2) is enabled])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_CHECKING([if m4_default($4, $2) is enabled])
+ AC_MSG_RESULT([dependencies missing: $xdt_feature_deps_missing])
+ if test x"$xdt_cv_$1_enabled" = x"yes"; then
+ AC_MSG_ERROR([support for m4_default($4, $2) was required, but dependencies were not met])
+ else
+ ENABLE_$1="no"
+ fi
+ fi
+ xdt_feature_deps_check_only=
+ xdt_feature_deps_missing=
+ else
+ ENABLE_$1="no"
+ AC_MSG_CHECKING([if m4_default($4, $2) is enabled])
+ AC_MSG_RESULT([disabled])
+ fi
+
+ AM_CONDITIONAL([ENABLE_$1], [test x"$ENABLE_$1" = x"yes"])
+])
+
+
+
+dnl XDT_CHECK_PACKAGE_BINARY(varname, package, pkgvarname, [binname])
+dnl
+dnl Finds a program by looking for a variable named pkgvarname in the
+dnl pkg-config file for package. If found, varname (both a shell variable and
+dnl automake substitution) is set to the name of the binary (and possibly full
+dnl path, if that is how it is specified in the pkg-config file). If not found,
+dnl or not present and executable, configure will exit with an error.
+dnl
+dnl Users can also override this detection by specfying a varname on the
+dnl configure command line. In that case, the provided value is still checked
+dnl to ensure it exists and is executable.
+dnl
+dnl If binname is not provided (for documentation purposes), pkgvarname will be
+dnl used instead.
+dnl
+dnl Example usage:
+dnl
+dnl XDT_CHECK_PACKAGE_BINARY([GLIB_GENMARSHAL], [glib-2.0], [glib_genmarshal], [glib-genmarshal])
+dnl
+AC_DEFUN([XDT_CHECK_PACKAGE_BINARY],
+[
+ AC_REQUIRE([XDT_PROG_PKG_CONFIG])
+
+ AC_ARG_VAR([$1], [Location of program ]m4_default($4, $3))
+ AC_MSG_CHECKING([for m4_default($4, $3)])
+
+ if test x"$$1" = x""; then
+ $1=`$PKG_CONFIG --variable=$3 $2`
+ fi
+ if test x"$$1" != x"" -a -x "$$1"; then
+ AC_MSG_RESULT([$$1])
+ else
+ AC_MSG_ERROR([could not find m4_default($4, $3). You can run:
+./configure $1=/path/to/m4_default($4, $3)
+to provide a custom location for it.])
+ fi
+])
+
+
+
dnl XDT_CHECK_LIBX11()
dnl
dnl Executes various checks for X11. Sets LIBX11_CFLAGS, LIBX11_LDFLAGS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/configure new/xfce4-session-4.18.2/configure
--- old/xfce4-session-4.18.1/configure 2023-02-10 11:02:24.000000000 +0100
+++ new/xfce4-session-4.18.2/configure 2023-03-28 18:58:15.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# From configure.ac Id.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for xfce4-session 4.18.1.
+# Generated by GNU Autoconf 2.71 for xfce4-session 4.18.2.
#
-# Report bugs to <https://bugzilla.xfce.org/>.
+# Report bugs to <https://gitlab.xfce.org/xfce/xfce4-session>.
#
# Copyright (c) 2003-2023
# The Xfce development team. All rights reserved.
@@ -282,10 +282,10 @@
printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
else
printf "%s\n" "$0: Please tell bug-autoconf(a)gnu.org and
-$0: https://bugzilla.xfce.org/ about your system, including
-$0: any error possibly output before this message. Then
-$0: install a modern shell, or manually run the script
-$0: under such a shell if you do have one."
+$0: https://gitlab.xfce.org/xfce/xfce4-session about your
+$0: system, including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
fi
exit 1
fi
@@ -627,9 +627,9 @@
# Identity of this package.
PACKAGE_NAME='xfce4-session'
PACKAGE_TARNAME='xfce4-session'
-PACKAGE_VERSION='4.18.1'
-PACKAGE_STRING='xfce4-session 4.18.1'
-PACKAGE_BUGREPORT='https://bugzilla.xfce.org/'
+PACKAGE_VERSION='4.18.2'
+PACKAGE_STRING='xfce4-session 4.18.2'
+PACKAGE_BUGREPORT='https://gitlab.xfce.org/xfce/xfce4-session'
PACKAGE_URL=''
# Factoring default headers for most tests.
@@ -1471,7 +1471,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 xfce4-session 4.18.1 to adapt to many kinds of systems.
+\`configure' configures xfce4-session 4.18.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1546,7 +1546,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xfce4-session 4.18.1:";;
+ short | recursive ) echo "Configuration of xfce4-session 4.18.2:";;
esac
cat <<\_ACEOF
@@ -1624,7 +1624,7 @@
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <https://bugzilla.xfce.org/>.
+Report bugs to <https://gitlab.xfce.org/xfce/xfce4-session>.
_ACEOF
ac_status=$?
fi
@@ -1688,7 +1688,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xfce4-session configure 4.18.1
+xfce4-session configure 4.18.2
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2049,7 +2049,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xfce4-session $as_me 4.18.1, which was
+It was created by xfce4-session $as_me 4.18.2, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3323,7 +3323,7 @@
# Define the identity of the package.
PACKAGE='xfce4-session'
- VERSION='4.18.1'
+ VERSION='4.18.2'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -19043,7 +19043,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xfce4-session $as_me 4.18.1, which was
+This file was extended by xfce4-session $as_me 4.18.2, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19103,7 +19103,7 @@
Configuration commands:
$config_commands
-Report bugs to <https://bugzilla.xfce.org/>."
+Report bugs to <https://gitlab.xfce.org/xfce/xfce4-session>."
_ACEOF
ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
@@ -19111,7 +19111,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-xfce4-session config.status 4.18.1
+xfce4-session config.status 4.18.2
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/configure.ac new/xfce4-session-4.18.2/configure.ac
--- old/xfce4-session-4.18.1/configure.ac 2023-02-10 11:01:44.000000000 +0100
+++ new/xfce4-session-4.18.2/configure.ac 2023-03-28 18:57:37.000000000 +0200
@@ -13,9 +13,9 @@
dnl Version information
m4_define([xfsm_version_major], [4])
m4_define([xfsm_version_minor], [18])
-m4_define([xfsm_version_micro], [1])
+m4_define([xfsm_version_micro], [2])
m4_define([xfsm_version_nano], []) dnl leave this empty to have no nano version
-m4_define([xfsm_version_build], [75e18489])
+m4_define([xfsm_version_build], [cff23d0f])
m4_define([xfsm_version_tag], [])
m4_define([xfsm_version], [xfsm_version_major().xfsm_version_minor().xfsm_version_micro()ifelse(xfsm_version_nano(), [], [], [.xfsm_version_nano()])ifelse(xfsm_version_tag(), [git], [xfsm_version_tag()-xfsm_version_build()], [xfsm_version_tag()])])
@@ -27,7 +27,7 @@
The Xfce development team. All rights reserved.
Written for Xfce by Benedikt Meurer <benny(a)xfce.org>.])
-AC_INIT([xfce4-session], [xfsm_version], [https://bugzilla.xfce.org/]
+AC_INIT([xfce4-session], [xfsm_version], [https://gitlab.xfce.org/xfce/xfce4-session]
AC_PREREQ([2.60])
AC_REVISION([$Id$])
AC_PROG_MAKE_SET()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/libxfsm/xfsm-util.c new/xfce4-session-4.18.2/libxfsm/xfsm-util.c
--- old/xfce4-session-4.18.1/libxfsm/xfsm-util.c 2023-01-12 19:32:36.000000000 +0100
+++ new/xfce4-session-4.18.2/libxfsm/xfsm-util.c 2023-03-15 12:08:16.000000000 +0100
@@ -155,16 +155,6 @@
}
-XfconfChannel*
-xfsm_open_config (void)
-{
- static XfconfChannel *channel = NULL;
-
- if (G_UNLIKELY (channel == NULL))
- channel = xfconf_channel_get ("xfce4-session");
- return channel;
-}
-
gchar*
xfsm_gdk_display_get_fullname (GdkDisplay *display)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/libxfsm/xfsm-util.h new/xfce4-session-4.18.2/libxfsm/xfsm-util.h
--- old/xfce4-session-4.18.1/libxfsm/xfsm-util.h 2023-01-12 19:23:39.000000000 +0100
+++ new/xfce4-session-4.18.2/libxfsm/xfsm-util.h 2023-03-15 12:08:16.000000000 +0100
@@ -32,6 +32,7 @@
G_BEGIN_DECLS;
#define DEFAULT_SESSION_NAME "Default"
+#define SETTINGS_CHANNEL "xfce4-session"
typedef struct _XfsmSessionInfo XfsmSessionInfo;
@@ -68,8 +69,6 @@
gboolean xfsm_strv_equal (gchar **a,
gchar **b);
-XfconfChannel *xfsm_open_config (void);
-
gchar *xfsm_gdk_display_get_fullname (GdkDisplay *display);
cairo_surface_t *xfsm_load_session_preview (const gchar *name,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/settings/main.c new/xfce4-session-4.18.2/settings/main.c
--- old/xfce4-session-4.18.1/settings/main.c 2023-02-09 13:43:45.000000000 +0100
+++ new/xfce4-session-4.18.2/settings/main.c 2023-03-15 12:08:16.000000000 +0100
@@ -248,6 +248,7 @@
}
g_object_unref(builder);
+ xfconf_shutdown ();
return EXIT_SUCCESS;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/settings/xfce4-session-settings-common.h new/xfce4-session-4.18.2/settings/xfce4-session-settings-common.h
--- old/xfce4-session-4.18.1/settings/xfce4-session-settings-common.h 2020-04-07 11:04:33.000000000 +0200
+++ new/xfce4-session-4.18.2/settings/xfce4-session-settings-common.h 2023-03-15 12:08:16.000000000 +0100
@@ -19,8 +19,6 @@
#ifndef __XFCE4_SESSION_SETTINGS_COMMON_H__
#define __XFCE4_SESSION_SETTINGS_COMMON_H__
-#define SETTINGS_CHANNEL "xfce4-session"
-
void session_editor_init(GtkBuilder *builder);
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/xfce4-session/main.c new/xfce4-session-4.18.2/xfce4-session/main.c
--- old/xfce4-session-4.18.1/xfce4-session/main.c 2023-02-09 13:43:45.000000000 +0100
+++ new/xfce4-session-4.18.2/xfce4-session/main.c 2023-03-15 12:08:16.000000000 +0100
@@ -171,7 +171,7 @@
setup_environment ();
- channel = xfsm_open_config ();
+ channel = xfconf_channel_get (SETTINGS_CHANNEL);
dpy = gdk_display_get_default ();
init_display (*manager, dpy, opt_disable_tcp);
@@ -244,12 +244,10 @@
g_object_unref (shutdown_helper);
g_object_unref (*manager);
- g_object_unref (channel);
g_clear_error (&error);
shutdown_helper = NULL;
*manager = NULL;
- channel = NULL;
gtk_main_quit ();
}
@@ -353,6 +351,7 @@
{
xfce_dialog_show_error (NULL, error, _("Unable to contact settings server"));
g_error_free (error);
+ return EXIT_FAILURE;
}
/* Process all pending events prior to start DBUS */
@@ -369,6 +368,7 @@
gtk_main ();
xfsm_startup_shutdown ();
+ xfconf_shutdown ();
return EXIT_SUCCESS;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/xfce4-session/xfce4-session.1 new/xfce4-session-4.18.2/xfce4-session/xfce4-session.1
--- old/xfce4-session-4.18.1/xfce4-session/xfce4-session.1 2020-04-07 11:04:33.000000000 +0200
+++ new/xfce4-session-4.18.2/xfce4-session/xfce4-session.1 2023-02-18 17:17:24.000000000 +0100
@@ -78,7 +78,7 @@
and Benedikt Meurer <benny(a)xfce.org>.
.SH "REPORTING BUGS"
-Report bugs to http://bugzilla.xfce.org/.
+Report bugs to https://gitlab.xfce.org/xfce/xfce4-session/.
.SH COPYRIGHT
Copyright \(co 2003-2014 Benedikt Meurer.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/xfce4-session/xfsm-consolekit.c new/xfce4-session-4.18.2/xfce4-session/xfsm-consolekit.c
--- old/xfce4-session-4.18.1/xfce4-session/xfsm-consolekit.c 2023-02-09 12:48:34.000000000 +0100
+++ new/xfce4-session-4.18.2/xfce4-session/xfsm-consolekit.c 2023-03-15 12:08:16.000000000 +0100
@@ -303,7 +303,7 @@
variant = g_dbus_proxy_call_sync (consolekit->proxy,
method,
- g_variant_new_boolean (TRUE),
+ g_variant_new ("(b)", TRUE),
G_DBUS_CALL_FLAGS_NONE,
-1,
NULL,
@@ -393,7 +393,7 @@
XfconfChannel *channel;
gboolean ret = TRUE;
- channel = xfsm_open_config ();
+ channel = xfconf_channel_get (SETTINGS_CHANNEL);
if (xfconf_channel_get_bool (channel, "/shutdown/LockScreen", FALSE))
ret = xfce_screensaver_lock (consolekit->screensaver);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/xfce4-session/xfsm-logout-dialog.c new/xfce4-session-4.18.2/xfce4-session/xfsm-logout-dialog.c
--- old/xfce4-session-4.18.1/xfce4-session/xfsm-logout-dialog.c 2023-02-07 18:01:05.000000000 +0100
+++ new/xfce4-session-4.18.2/xfce4-session/xfsm-logout-dialog.c 2023-03-15 12:08:16.000000000 +0100
@@ -174,7 +174,7 @@
g_object_unref (provider);
/* load xfconf settings */
- channel = xfsm_open_config ();
+ channel = xfconf_channel_get (SETTINGS_CHANNEL);
if (xfsm_shutdown_can_save_session (dialog->shutdown))
save_session = xfconf_channel_get_bool (channel, "/general/SaveOnExit", TRUE);
@@ -750,7 +750,7 @@
GdkPixbuf *screenshot = NULL;
XfsmFadeout *fadeout = NULL;
XfsmLogoutDialog *xfsm_dialog;
- XfconfChannel *channel = xfsm_open_config ();
+ XfconfChannel *channel = xfconf_channel_get (SETTINGS_CHANNEL);
gboolean autosave;
XfsmShutdown *shutdown;
GdkDevice *device;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/xfce4-session/xfsm-manager.c new/xfce4-session-4.18.2/xfce4-session/xfsm-manager.c
--- old/xfce4-session-4.18.1/xfce4-session/xfsm-manager.c 2023-01-12 19:23:40.000000000 +0100
+++ new/xfce4-session-4.18.2/xfce4-session/xfsm-manager.c 2023-03-16 10:28:46.000000000 +0100
@@ -1570,6 +1570,8 @@
if (sms != NULL && SmsGetIceConnection (sms) == ice_conn)
{
+ /* maybe we remove client from the queue here but as we also get out
+ * of the loop no need for extra precaution */
xfsm_manager_close_connection (manager, client, FALSE);
break;
}
@@ -2070,9 +2072,10 @@
remove_clients_for_connection (XfsmManager *manager,
const gchar *service_name)
{
- GList *lp;
+ /* we might remove elements in queue below so a copy is needed */
+ GList *list = g_list_copy (g_queue_peek_nth_link (manager->running_clients, 0));
- for (lp = g_queue_peek_nth_link (manager->running_clients, 0);
+ for (GList *lp = list;
lp;
lp = lp->next)
{
@@ -2082,6 +2085,8 @@
xfsm_manager_close_connection (manager, client, FALSE);
}
}
+
+ g_list_free (list);
}
static void
@@ -2710,6 +2715,8 @@
XfsmClient *client = XFSM_CLIENT (lp->data);
if (g_strcmp0 (xfsm_client_get_object_path (client), arg_client_id) == 0)
{
+ /* maybe we remove client from the queue here but as we also get out
+ * of the loop no need for extra precaution */
xfsm_manager_close_connection (manager, client, FALSE);
xfsm_dbus_manager_complete_unregister_client (object, invocation);
return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/xfce4-session/xfsm-shutdown-fallback.c new/xfce4-session-4.18.2/xfce4-session/xfsm-shutdown-fallback.c
--- old/xfce4-session-4.18.1/xfce4-session/xfsm-shutdown-fallback.c 2023-02-09 12:48:34.000000000 +0100
+++ new/xfce4-session-4.18.2/xfce4-session/xfsm-shutdown-fallback.c 2023-03-15 12:08:16.000000000 +0100
@@ -336,7 +336,7 @@
XfceScreensaver *saver;
gboolean ret = TRUE;
- channel = xfsm_open_config ();
+ channel = xfconf_channel_get (SETTINGS_CHANNEL);
saver = xfce_screensaver_new ();
if (xfconf_channel_get_bool (channel, "/shutdown/LockScreen", FALSE))
ret = xfce_screensaver_lock (saver);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/xfce4-session/xfsm-systemd.c new/xfce4-session-4.18.2/xfce4-session/xfsm-systemd.c
--- old/xfce4-session-4.18.1/xfce4-session/xfsm-systemd.c 2023-02-09 12:48:34.000000000 +0100
+++ new/xfce4-session-4.18.2/xfce4-session/xfsm-systemd.c 2023-03-15 12:08:16.000000000 +0100
@@ -116,7 +116,7 @@
XfconfChannel *channel;
gboolean ret = TRUE;
- channel = xfsm_open_config ();
+ channel = xfconf_channel_get (SETTINGS_CHANNEL);
if (xfconf_channel_get_bool (channel, "/shutdown/LockScreen", FALSE))
ret = xfce_screensaver_lock (systemd->screensaver);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-session-4.18.1/xfce4-session-logout/xfce4-session-logout.1 new/xfce4-session-4.18.2/xfce4-session-logout/xfce4-session-logout.1
--- old/xfce4-session-4.18.1/xfce4-session-logout/xfce4-session-logout.1 2020-04-07 11:04:33.000000000 +0200
+++ new/xfce4-session-4.18.2/xfce4-session-logout/xfce4-session-logout.1 2023-02-18 17:17:24.000000000 +0100
@@ -54,7 +54,7 @@
Tarricone <kelnos(a)xfce.org> and Benedikt Meurer
<benny(a)xfce.org> as part of the Xfce project.
.SH "REPORTING BUGS"
-Report bugs to http://bugzilla.xfce.org/.
+Report bugs to https://gitlab.xfce.org/xfce/xfce4-session/.
.SH COPYRIGHT
Copyright \(co 2004 Benedikt Meurer.
.br
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package wxsvg for openSUSE:Factory checked in at 2023-04-01 19:32:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wxsvg (Old)
and /work/SRC/openSUSE:Factory/.wxsvg.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wxsvg"
Sat Apr 1 19:32:26 2023 rev:11 rq:1076591 version:1.5.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/wxsvg/wxsvg.changes 2022-08-01 21:34:16.174322739 +0200
+++ /work/SRC/openSUSE:Factory/.wxsvg.new.9019/wxsvg.changes 2023-04-01 19:32:40.581484252 +0200
@@ -1,0 +2,6 @@
+Thu Mar 30 07:26:50 UTC 2023 - Bj��rn Lie <bjorn.lie(a)gmail.com>
+
+- Add wxsvg-fix-missing-include.patch: Add a missing include.
+- Modernize spec, use make_build and ldconfig_scriptlets macros.
+
+-------------------------------------------------------------------
New:
----
wxsvg-fix-missing-include.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wxsvg.spec ++++++
--- /var/tmp/diff_new_pack.5AGtjz/_old 2023-04-01 19:32:41.089486919 +0200
+++ /var/tmp/diff_new_pack.5AGtjz/_new 2023-04-01 19:32:41.097486961 +0200
@@ -1,7 +1,7 @@
#
# spec file for package wxsvg
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2012-2019 Mariusz Fik <fisiu(a)opensuse.org>
# Copyright (c) 2012 Stefan Seyfried <seife+obs(a)b1-systems.com>
#
@@ -27,6 +27,7 @@
URL: http://wxsvg.sourceforge.net/
Source: https://prdownloads.sourceforge.net/wxsvg/%{name}-%{version}.tar.bz2
Patch: ffmpeg5.patch
+Patch1: wxsvg-fix-missing-include.patch
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: wxGTK3-3_2-devel
@@ -61,19 +62,17 @@
Include files for developing programs based on %{name}.
%prep
-%setup -q
-%patch -p1
+%autosetup -p1
%build
%configure --disable-static
-make %{?_smp_mflags}
+%make_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
-%post -n lib%{name}%{sover} -p /sbin/ldconfig
-%postun -n lib%{name}%{sover} -p /sbin/ldconfig
+%ldconfig_scriptlets -n lib%{name}%{sover}
%files
%doc AUTHORS ChangeLog TODO
++++++ wxsvg-fix-missing-include.patch ++++++
diff -Nur wxsvg-1.5.23-orig/src/cairo/SVGCanvasCairo.cpp wxsvg-1.5.23/src/cairo/SVGCanvasCairo.cpp
--- wxsvg-1.5.23-orig/src/cairo/SVGCanvasCairo.cpp 2021-11-02 17:31:39.000000000 +0100
+++ wxsvg-1.5.23/src/cairo/SVGCanvasCairo.cpp 2023-03-30 09:22:25.077402046 +0200
@@ -14,6 +14,7 @@
#include "SVGCanvasImageCairo.h"
#include <wx/log.h>
#include <wx/file.h>
+#include <cstdint>
wxSVGCanvasCairo::~wxSVGCanvasCairo() {
Destroy();
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package liferea for openSUSE:Factory checked in at 2023-04-01 19:32:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/liferea (Old)
and /work/SRC/openSUSE:Factory/.liferea.new.9019 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "liferea"
Sat Apr 1 19:32:25 2023 rev:12 rq:1076646 version:1.14.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/liferea/liferea.changes 2023-03-31 21:16:14.946589536 +0200
+++ /work/SRC/openSUSE:Factory/.liferea.new.9019/liferea.changes 2023-04-01 19:32:37.861469973 +0200
@@ -1,0 +2,11 @@
+Sat Apr 1 13:26:20 UTC 2023 - Marcel Kuehlhorn <tux93(a)opensuse.org>
+
+- Update to version 1.14.4:
+ * Fix endless recursion in 1.14.3
+ (gh#lwindolf/liferea#1217, gh#lwindolf/liferea#1224)
+ * Additional fix for crash in conf_get_bool_value_from_schema
+ (gh#lwindolf/liferea#1214)
+ * Fixes a g_object_unref warning on shutdown
+ * Drops a debug output in the plugin installer
+
+-------------------------------------------------------------------
Old:
----
liferea-1.14.3.tar.bz2
New:
----
liferea-1.14.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ liferea.spec ++++++
--- /var/tmp/diff_new_pack.zTshQp/_old 2023-04-01 19:32:38.889475370 +0200
+++ /var/tmp/diff_new_pack.zTshQp/_new 2023-04-01 19:32:38.921475538 +0200
@@ -17,7 +17,7 @@
Name: liferea
-Version: 1.14.3
+Version: 1.14.4
Release: 0
Summary: Linux Feed Reader
License: GPL-2.0-only
++++++ liferea-1.14.3.tar.bz2 -> liferea-1.14.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.14.3/ChangeLog new/liferea-1.14.4/ChangeLog
--- old/liferea-1.14.3/ChangeLog 2023-03-23 20:43:06.000000000 +0100
+++ new/liferea-1.14.4/ChangeLog 2023-03-31 20:26:20.000000000 +0200
@@ -1,3 +1,17 @@
+2023-03-31 Lars Windolf <lars.windolf(a)gmx.de>
+
+ Version 1.14.4
+
+ * Fixes #1217, #1224: Endless recursion in 1.14.3
+ (reported by uduecoder, mokraemer)
+
+ * Additional fixes for #1214: crash in conf_get_bool_value_from_schema
+ (reported by Mikel Olasagasti)
+
+ * Fixes a g_object_unref warning on shutdown
+ * Drops a debug output in the plugin installer
+
+
2023-03-23 Lars Windolf <lars.windolf(a)gmx.de>
Version 1.14.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.14.3/configure new/liferea-1.14.4/configure
--- old/liferea-1.14.3/configure 2023-03-23 20:19:31.000000000 +0100
+++ new/liferea-1.14.4/configure 2023-03-31 20:26:24.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for liferea 1.14.3.
+# Generated by GNU Autoconf 2.71 for liferea 1.14.4.
#
# Report bugs to <liferea-devel(a)lists.sourceforge.net>.
#
@@ -621,8 +621,8 @@
# Identity of this package.
PACKAGE_NAME='liferea'
PACKAGE_TARNAME='liferea'
-PACKAGE_VERSION='1.14.3'
-PACKAGE_STRING='liferea 1.14.3'
+PACKAGE_VERSION='1.14.4'
+PACKAGE_STRING='liferea 1.14.4'
PACKAGE_BUGREPORT='liferea-devel(a)lists.sourceforge.net'
PACKAGE_URL=''
@@ -1435,7 +1435,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 liferea 1.14.3 to adapt to many kinds of systems.
+\`configure' configures liferea 1.14.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1506,7 +1506,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of liferea 1.14.3:";;
+ short | recursive ) echo "Configuration of liferea 1.14.4:";;
esac
cat <<\_ACEOF
@@ -1637,7 +1637,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-liferea configure 1.14.3
+liferea configure 1.14.4
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1855,7 +1855,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by liferea $as_me 1.14.3, which was
+It was created by liferea $as_me 1.14.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3203,7 +3203,7 @@
# Define the identity of the package.
PACKAGE='liferea'
- VERSION='1.14.3'
+ VERSION='1.14.4'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -16861,7 +16861,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by liferea $as_me 1.14.3, which was
+This file was extended by liferea $as_me 1.14.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16929,7 +16929,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-liferea config.status 1.14.3
+liferea config.status 1.14.4
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.14.3/configure.ac new/liferea-1.14.4/configure.ac
--- old/liferea-1.14.3/configure.ac 2023-03-23 20:19:11.000000000 +0100
+++ new/liferea-1.14.4/configure.ac 2023-03-31 20:22:58.000000000 +0200
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([liferea],[1.14.3],[liferea-devel(a)lists.sourceforge.net])
+AC_INIT([liferea],[1.14.4],[liferea-devel(a)lists.sourceforge.net])
AC_CANONICAL_HOST
AC_CONFIG_SRCDIR([src/feedlist.c])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.14.3/plugins/plugin-installer.py new/liferea-1.14.4/plugins/plugin-installer.py
--- old/liferea-1.14.3/plugins/plugin-installer.py 2023-03-12 22:03:00.000000000 +0100
+++ new/liferea-1.14.4/plugins/plugin-installer.py 2023-03-31 19:55:43.000000000 +0200
@@ -162,7 +162,6 @@
"""Fetch list from github project repo and parse JSON"""
if True == Liferea.NetworkMonitor.is_online():
- print("ONLINE!!!!!!!!!!!!!!!!")
list_url = "https://raw.githubusercontent.com/lwindolf/liferea/master/plugins/plugin-li…"
data = None
req = urllib.request.Request(list_url)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.14.3/po/liferea.pot new/liferea-1.14.4/po/liferea.pot
--- old/liferea-1.14.3/po/liferea.pot 2023-03-20 22:19:41.000000000 +0100
+++ new/liferea-1.14.4/po/liferea.pot 2023-03-31 20:26:27.000000000 +0200
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-03-20 22:19+0100\n"
+"POT-Creation-Date: 2023-03-31 20:26+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
@@ -137,111 +137,111 @@
msgid "_Uninstall"
msgstr ""
-#: ../plugins/plugin-installer.py:253
+#: ../plugins/plugin-installer.py:252
#, python-format
msgid ""
"Missing package manager '%s'. Cannot check nor install necessary "
"dependencies!"
msgstr ""
-#: ../plugins/plugin-installer.py:269
+#: ../plugins/plugin-installer.py:268
#, python-format
msgid "Missing package '%s'. Do you want to install it? (Will run '%s')"
msgstr ""
-#: ../plugins/plugin-installer.py:276
+#: ../plugins/plugin-installer.py:275
#, python-format
msgid ""
"Package installation failed (%s)! Check console output for further problem "
"details!"
msgstr ""
-#: ../plugins/plugin-installer.py:279
+#: ../plugins/plugin-installer.py:278
#, python-format
msgid "Failed to check plugin dependencies (%s)!"
msgstr ""
-#: ../plugins/plugin-installer.py:288
+#: ../plugins/plugin-installer.py:287
msgid "Command \"git\" not found, please install it!"
msgstr ""
-#: ../plugins/plugin-installer.py:297
+#: ../plugins/plugin-installer.py:296
#, python-format
msgid "Copying %s to %s"
msgstr ""
-#: ../plugins/plugin-installer.py:300
+#: ../plugins/plugin-installer.py:299
#, python-format
msgid "Failed to copy plugin directory (%s)!"
msgstr ""
-#: ../plugins/plugin-installer.py:309
+#: ../plugins/plugin-installer.py:308
#, python-format
msgid "Failed to copy plugin .py file (%s)!"
msgstr ""
-#: ../plugins/plugin-installer.py:319
+#: ../plugins/plugin-installer.py:318
#, python-format
msgid "Failed to copy .plugin file (%s)!"
msgstr ""
-#: ../plugins/plugin-installer.py:330
+#: ../plugins/plugin-installer.py:329
#, python-format
msgid "Creating schema directory %s"
msgstr ""
-#: ../plugins/plugin-installer.py:332
+#: ../plugins/plugin-installer.py:331
#, python-format
msgid "Installing schema %s"
msgstr ""
-#: ../plugins/plugin-installer.py:336
+#: ../plugins/plugin-installer.py:335
msgid "Compiling schemas..."
msgstr ""
-#: ../plugins/plugin-installer.py:341
+#: ../plugins/plugin-installer.py:340
#, python-format
msgid "Failed to install schema files (%s)!"
msgstr ""
-#: ../plugins/plugin-installer.py:351
+#: ../plugins/plugin-installer.py:350
#, python-format
msgid "Failed to enable plugin (%s)!"
msgstr ""
-#: ../plugins/plugin-installer.py:357
+#: ../plugins/plugin-installer.py:356
#, python-format
msgid "Plugin '%s' is now installed. Ensure to restart Liferea!"
msgstr ""
-#: ../plugins/plugin-installer.py:371
+#: ../plugins/plugin-installer.py:370
#, python-format
msgid "Failed to disable plugin (%s)!"
msgstr ""
-#: ../plugins/plugin-installer.py:378 ../plugins/plugin-installer.py:398
+#: ../plugins/plugin-installer.py:377 ../plugins/plugin-installer.py:397
#, python-format
msgid "Deleting '%s'"
msgstr ""
-#: ../plugins/plugin-installer.py:381
+#: ../plugins/plugin-installer.py:380
#, python-format
msgid "Failed to remove directory '%s' (%s)!"
msgstr ""
-#: ../plugins/plugin-installer.py:391
+#: ../plugins/plugin-installer.py:390
msgid "Failed to remove .py file!"
msgstr ""
-#: ../plugins/plugin-installer.py:401
+#: ../plugins/plugin-installer.py:400
msgid "Failed to remove .plugin file!"
msgstr ""
-#: ../plugins/plugin-installer.py:410
+#: ../plugins/plugin-installer.py:409
msgid "Sorry! Plugin removal failed!."
msgstr ""
-#: ../plugins/plugin-installer.py:412
+#: ../plugins/plugin-installer.py:411
msgid ""
"Plugin was removed. Please restart Liferea once for it to take full effect!."
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.14.3/src/common.c new/liferea-1.14.4/src/common.c
--- old/liferea-1.14.3/src/common.c 2023-03-23 20:36:21.000000000 +0100
+++ new/liferea-1.14.4/src/common.c 2023-03-29 23:25:08.000000000 +0200
@@ -85,6 +85,8 @@
common_check_dir (g_build_filename (g_get_user_config_dir(), "liferea", NULL));
common_check_dir (g_build_filename (g_get_user_data_dir(), "liferea", NULL));
+ pathsChecked = TRUE;
+
/* Install default stylesheet if it does not yet exist */
filename = common_create_config_filename ("liferea.css");
if (!g_file_test (filename, G_FILE_TEST_EXISTS))
@@ -95,8 +97,6 @@
umask (077);
g_free (lifereaCachePath);
-
- pathsChecked = TRUE;
}
gchar *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/liferea-1.14.3/src/conf.c new/liferea-1.14.4/src/conf.c
--- old/liferea-1.14.3/src/conf.c 2023-03-12 22:03:00.000000000 +0100
+++ new/liferea-1.14.4/src/conf.c 2023-03-31 19:37:51.000000000 +0200
@@ -388,6 +388,7 @@
{
g_object_unref (settings);
g_object_unref (desktop_settings);
- g_object_unref (fdo_settings);
+ if (fdo_settings)
+ g_object_unref (fdo_settings);
}
1
0