openSUSE Commits
Threads by month
- ----- 2024 -----
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
March 2023
- 2 participants
- 2680 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package vokoscreenNG for openSUSE:Factory checked in at 2023-03-30 22:52:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vokoscreenNG (Old)
and /work/SRC/openSUSE:Factory/.vokoscreenNG.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vokoscreenNG"
Thu Mar 30 22:52:36 2023 rev:18 rq:1075554 version:3.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/vokoscreenNG/vokoscreenNG.changes 2023-01-04 17:53:08.810374034 +0100
+++ /work/SRC/openSUSE:Factory/.vokoscreenNG.new.31432/vokoscreenNG.changes 2023-03-30 22:52:37.441010507 +0200
@@ -1,0 +2,12 @@
+Thu Mar 30 11:58:58 UTC 2023 - Marcel Kuehlhorn <tux93(a)opensuse.org>
+
+- Update to version 3.6.0
+ * Qt6 compatibility
+ * Snapshot: Area wait before record
+ * Log: Add Button open folder
+ * Pulseaudio: Add audioresample
+ * WASAPI: Record more as one devices
+ * Magnifier: Rectangle as default
+ * Translation updates
+
+-------------------------------------------------------------------
Old:
----
vokoscreenNG-3.5.0.tar.gz
New:
----
vokoscreenNG-3.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vokoscreenNG.spec ++++++
--- /var/tmp/diff_new_pack.itAi0s/_old 2023-03-30 22:52:37.945013204 +0200
+++ /var/tmp/diff_new_pack.itAi0s/_new 2023-03-30 22:52:37.949013226 +0200
@@ -17,7 +17,7 @@
Name: vokoscreenNG
-Version: 3.5.0
+Version: 3.6.0
Release: 0
Summary: Screencast creator
License: GPL-2.0-only
++++++ vokoscreenNG-3.5.0.tar.gz -> vokoscreenNG-3.6.0.tar.gz ++++++
++++ 19567 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gflags for openSUSE:Factory checked in at 2023-03-30 22:52:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gflags (Old)
and /work/SRC/openSUSE:Factory/.gflags.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gflags"
Thu Mar 30 22:52:35 2023 rev:5 rq:1075555 version:2.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gflags/gflags.changes 2022-05-02 16:25:52.572858665 +0200
+++ /work/SRC/openSUSE:Factory/.gflags.new.31432/gflags.changes 2023-03-30 22:52:36.645006247 +0200
@@ -1,0 +2,8 @@
+Sun Aug 28 19:42:22 UTC 2022 - Stefan Br��ns <stefan.bruens(a)rwth-aachen.de>
+
+- Fix (uncritical) libdir error in pkgconfig file.
+- Use default RelWithDebInfo build type.
+- Use separate _multibuilds for static and dynamic libraries,
+ otherwise CMake config depends on the static library.
+
+-------------------------------------------------------------------
New:
----
_multibuild
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gflags.spec ++++++
--- /var/tmp/diff_new_pack.xdh5S6/_old 2023-03-30 22:52:37.089008623 +0200
+++ /var/tmp/diff_new_pack.xdh5S6/_new 2023-03-30 22:52:37.097008666 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package gflags
+# spec file
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,17 +16,34 @@
#
-Name: gflags
+%global flavor @BUILD_FLAVOR@%{nil}
+
+%global pname gflags
+
+%if "%{flavor}" == "static"
+%define psuffix -%{flavor}
+%bcond_with build_shared
+%bcond_without build_static
+%else
+%define psuffix %{nil}
+%bcond_without build_shared
+%bcond_with build_static
+%endif
+
+%define soversion 2_2
+
+Name: gflags%{psuffix}
Version: 2.2.2
Release: 0
Summary: Library for commandline flag processing
License: BSD-3-Clause
+Group: Development/Libraries/C and C++
URL: https://github.com/gflags/gflags
-Source0: https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz#/%{name}-%{ve…
+Source0: https://github.com/%{pname}/%{pname}/archive/v%{version}.tar.gz#/%{pname}-%…
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig
-Requires: libgflags2_2 = %{version}
+Requires: libgflags%{soversion} = %{version}
%description
The gflags package contains a library that implements commandline
@@ -35,11 +52,11 @@
string, and the ability to define flags in the source file in which
they're used.
-%package -n libgflags2_2
+%package -n libgflags%{soversion}
Summary: Library for commandline flag processing
Conflicts: libgflags2
-%description -n libgflags2_2
+%description -n libgflags%{soversion}
The gflags package contains a library that implements commandline
flags processing. As such, it is a replacement for getopt(). It has
increased flexibility, including built-in support for C++ types like
@@ -47,67 +64,83 @@
they're used.
%package devel
-Summary: Development files for gflags library
-Requires: libgflags2_2 = %{version}
+Summary: Development files for the dynamic gflags library
+Requires: libgflags%{soversion} = %{version}
%description devel
-This package contains headers and build system meta files.
+This package contains all necessary include files and the dynamic libraries
+needed for developing applications.
-%package devel-static
-Summary: Statically linked development libraries for gflags
-Requires: %{name}-devel = %{version}
-
-%description devel-static
-This package contains the static libraries for gflags.
+%package -n gflags-devel-static
+Summary: Development files for the static gflags library
+# CMake config for static and shared differ, but use the same export file name
+Conflicts: %{pname}-devel
+
+%description -n gflags-devel-static
+This package contains all necessary include files and the static libraries
+needed for developing applications.
%prep
-%autosetup
+%autosetup -n gflags-%{version}
+# Fix prefix duplication, _libdir is absolute
+sed -i -e 's@libdir=.*@libdir=%{_libdir}@' cmake/package.pc.in
%build
+%if %{with build_static}
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
-CFLAGS="%{optflags} -pthread"
-CXXFLAGS="%{optflags} -pthread"
-export CFLAGS CXXFLAGS
-
+%endif
%cmake \
- -DBUILD_STATIC_LIBS:BOOL=ON \
+ -DBUILD_STATIC_LIBS:BOOL=%{?with_build_static:ON}%{!?with_build_static:OFF} \
+ -DBUILD_SHARED_LIBS:BOOL=%{?with_build_shared:ON}%{!?with_build_shared:OFF} \
-DBUILD_TESTING:BOOL=ON \
- -DCMAKE_BUILD_TYPE=Release
+ %{nil}
-%make_build
+%cmake_build
%install
%cmake_install
+%if "%{flavor}" == "static"
+rm %{buildroot}%{_bindir}/%{pname}_completions.sh
+mv %{buildroot}%{_libdir}/pkgconfig/%{pname}{,_static}.pc
+%endif
+
# Installs a file on $HOME, remove it
rm -rf %{buildroot}/home/
%check
-export LD_LIBRARY_PATH=`pwd`/build/lib
+export LD_LIBRARY_PATH=`pwd`/%{__builddir}/lib
%ctest
-%post -n libgflags2_2 -p /sbin/ldconfig
-%postun -n libgflags2_2 -p /sbin/ldconfig
+%post -n libgflags%{soversion} -p /sbin/ldconfig
+%postun -n libgflags%{soversion} -p /sbin/ldconfig
+%if "%{flavor}" == ""
%files
%license COPYING.txt
%doc AUTHORS.txt ChangeLog.txt README.md
-%{_bindir}/%{name}_completions.sh
+%{_bindir}/%{pname}_completions.sh
-%files -n libgflags2_2
+%files -n libgflags%{soversion}
%license COPYING.txt
%{_libdir}/libgflags.so.*
%{_libdir}/libgflags_nothreads.so.*
%files devel
-%{_includedir}/%{name}/
+%{_includedir}/%{pname}/
%{_libdir}/libgflags.so
%{_libdir}/libgflags_nothreads.so
-%{_libdir}/cmake/%{name}/
-%{_libdir}/pkgconfig/%{name}.pc
-
-%files devel-static
+%{_libdir}/cmake/%{pname}/
+%{_libdir}/pkgconfig/%{pname}.pc
+%endif
+
+%if "%{flavor}" == "static"
+%files -n gflags-devel-static
+%{_includedir}/%{pname}/
+%{_libdir}/cmake/%{pname}/
+%{_libdir}/pkgconfig/%{pname}_static.pc
%{_libdir}/libgflags.a
%{_libdir}/libgflags_nothreads.a
+%endif
%changelog
++++++ _multibuild ++++++
<multibuild>
<package>static</package>
</multibuild>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-google-cloud-translate for openSUSE:Factory checked in at 2023-03-30 22:52:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-google-cloud-translate (Old)
and /work/SRC/openSUSE:Factory/.python-google-cloud-translate.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-google-cloud-translate"
Thu Mar 30 22:52:34 2023 rev:7 rq:1075552 version:3.11.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-google-cloud-translate/python-google-cloud-translate.changes 2022-10-17 14:58:46.934217483 +0200
+++ /work/SRC/openSUSE:Factory/.python-google-cloud-translate.new.31432/python-google-cloud-translate.changes 2023-03-30 22:52:35.921002373 +0200
@@ -1,0 +2,26 @@
+Fri Mar 3 15:23:57 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to version 3.11.0
+ * Add supported fields in document translation request and refresh translation
+ v3 GA service proto documentation (cb63888)
+ * Enable "rest" transport in Python for services supporting numeric enums (cb63888)
+- from version 3.10.1
+ * Add context manager return types (e20fa00)
+ * Add documentation for enums (e20fa00)
+- from version 3.10.0
+ * Add support for python 3.11 (#474)
+- from version 3.9.0
+ * Add typing to proto.Message based class attributes (60573e6)
+ * Add dict typing for client_options (60573e6)
+ * **deps:** Require google-api-core >=1.34.0, >=2.11.0 (60573e6)
+ * Drop usage of pkg_resources (60573e6)
+ * Fix timeout default values (60573e6)
+ * **samples:** Snippetgen handling of repeated enum field (60573e6)
+ * **samples:** Snippetgen should call await on the operation coroutine
+ before calling result (60573e6)
+- Drop handling of fixup scripts in spec file
+ * fixup_translate_v3_keywords.py
+ * fixup_translate_v3beta1_keywords.py
+- Update BuildRequires and Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
google-cloud-translate-3.8.4.tar.gz
New:
----
google-cloud-translate-3.11.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-google-cloud-translate.spec ++++++
--- /var/tmp/diff_new_pack.fuS0xj/_old 2023-03-30 22:52:36.401004942 +0200
+++ /var/tmp/diff_new_pack.fuS0xj/_new 2023-03-30 22:52:36.405004963 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-google-cloud-translate
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,15 +19,15 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-google-cloud-translate
-Version: 3.8.4
+Version: 3.11.0
Release: 0
Summary: Google Cloud Translation API client library
License: Apache-2.0
URL: https://github.com/googleapis/python-translate
Source: https://files.pythonhosted.org/packages/source/g/google-cloud-translate/goo…
-BuildRequires: %{python_module google-api-core >= 1.32.0}
+BuildRequires: %{python_module google-api-core >= 1.34.0}
BuildRequires: %{python_module google-cloud-core >= 1.3.0}
-BuildRequires: %{python_module proto-plus >= 1.22.0}
+BuildRequires: %{python_module proto-plus >= 1.22.2}
BuildRequires: %{python_module protobuf >= 3.19.5}
BuildRequires: %{python_module setuptools}
# START TESTING SECTION
@@ -36,12 +36,10 @@
# END TESTING SECTION
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-google-api-core >= 1.32.0
+Requires: python-google-api-core >= 1.34.0
Requires: python-google-cloud-core >= 1.3.0
-Requires: python-proto-plus >= 1.22.0
+Requires: python-proto-plus >= 1.22.2
Requires: python-protobuf >= 3.19.5
-Requires(post): update-alternatives
-Requires(postun):update-alternatives
BuildArch: noarch
%python_subpackages
@@ -52,25 +50,14 @@
%prep
%autosetup -p1 -n google-cloud-translate-%{version}
-# add shebangs to installed scripts
-sed -i '1i\#!%{__python3}' scripts/fixup_translate_v3_keywords.py
-sed -i '1i\#!%{__python3}' scripts/fixup_translate_v3beta1_keywords.py
%build
%python_build
%install
%python_install
-%python_clone -a %{buildroot}%{_bindir}/fixup_translate_v3_keywords.py
-%python_clone -a %{buildroot}%{_bindir}/fixup_translate_v3beta1_keywords.py
%python_expand %fdupes %{buildroot}%{$python_sitelib}
-%post
-%{python_install_alternative fixup_translate_v3_keywords.py fixup_translate_v3beta1_keywords.py}
-
-%postun
-%{python_uninstall_alternative fixup_translate_v3_keywords.py fixup_translate_v3beta1_keywords.py}
-
%check
%pytest tests/unit -k 'not test_extra_headers'
@@ -78,7 +65,5 @@
%doc README.rst
%license LICENSE
%{python_sitelib}/*
-%python_alternative %{_bindir}/fixup_translate_v3_keywords.py
-%python_alternative %{_bindir}/fixup_translate_v3beta1_keywords.py
%changelog
++++++ google-cloud-translate-3.8.4.tar.gz -> google-cloud-translate-3.11.0.tar.gz ++++++
++++ 14642 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package giada for openSUSE:Factory checked in at 2023-03-30 22:52:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/giada (Old)
and /work/SRC/openSUSE:Factory/.giada.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "giada"
Thu Mar 30 22:52:31 2023 rev:10 rq:1075546 version:0.24.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/giada/giada.changes 2023-03-29 23:27:46.827643111 +0200
+++ /work/SRC/openSUSE:Factory/.giada.new.31432/giada.changes 2023-03-30 22:52:33.464989229 +0200
@@ -1,0 +2,19 @@
+Thu Mar 30 07:12:31 UTC 2023 - Konstantin Voinov <kv(a)kott.no-ip.biz>
+
+- Update patchset:
+ * 001-Fix-build-with-fmt-9-GCC-12.patch
+ * rename 001-cstdint.patch to 002-fix-include-cstdint.patch
+- Switch to tar_scm with disabled mode
+- Update to 0.24.0
+
+ * Revamped MIDI sync Clock support
+ * MIDI engine refactoring, featuring multi-threading support
+ * UI: Resizable vu-meters
+ * UI: New global MIDI activity leds
+ * More core classes and functions refactoring
+ * More robust persistence mechanism for project and configuration files
+ * Add new tests suites for MidiEvent and ChannelFactory
+ * Set C++ version to C++20
+ * Update FLTK to latest commit available
+
+-------------------------------------------------------------------
Old:
----
001-cstdint.patch
giada-0.23.2.obscpio
giada.obsinfo
New:
----
001-Fix-build-with-fmt-9-GCC-12.patch
002-fix-include-cstdint.patch
giada-0.24.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ giada.spec ++++++
--- /var/tmp/diff_new_pack.18hMdL/_old 2023-03-30 22:52:35.589000596 +0200
+++ /var/tmp/diff_new_pack.18hMdL/_new 2023-03-30 22:52:35.593000618 +0200
@@ -19,14 +19,15 @@
Name: giada
-Version: 0.23.2
+Version: 0.24.0
Release: 0
Summary: Sampler Audio Tool
License: GPL-3.0-or-later
URL: https://giadamusic.com
Source0: %{name}-%{version}.tar.xz
-Patch0: 003-cmake-exclude-juce-from-all.patch
-Patch1: 001-cstdint.patch
+Patch1: 001-Fix-build-with-fmt-9-GCC-12.patch
+Patch2: 002-fix-include-cstdint.patch
+Patch3: 003-cmake-exclude-juce-from-all.patch
BuildRequires: cmake
BuildRequires: fltk-devel
%if 0%{?suse_version} < 1550
@@ -41,7 +42,7 @@
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(fmt)
-BuildRequires: pkgconfig(glu)
+BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(jansson) >= 2.7
BuildRequires: pkgconfig(libpulse)
++++++ 001-Fix-build-with-fmt-9-GCC-12.patch ++++++
commit 014a269b1cf8d1c7a751e76bb4e3d9a5160b013d
Author: Orivej Desh <orivej(a)gmx.fr>
Date: Wed Mar 29 21:35:51 2023 +0000
Fix build with fmt 9, GCC 12
fmt::format requires the non-static format argument to be wrapped with fmt::runtime check.
Fixes #634
diff --git a/src/gui/dialogs/about.cpp b/src/gui/dialogs/about.cpp
index c2d77cf..c7965d2 100644
--- a/src/gui/dialogs/about.cpp
+++ b/src/gui/dialogs/about.cpp
@@ -62,7 +62,7 @@ gdAbout::gdAbout()
geBox* text = new geBox();
text->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE | FL_ALIGN_TOP);
- text->copy_label(fmt::format(g_ui.getI18Text(LangMap::ABOUT_BODY),
+ text->copy_label(fmt::format(fmt::runtime(g_ui.getI18Text(LangMap::ABOUT_BODY)),
G_VERSION_STR, debug ? "Debug" : "Release", BUILD_DATE)
.c_str());
diff --git a/src/gui/dialogs/sampleEditor.cpp b/src/gui/dialogs/sampleEditor.cpp
index e66e81c..4eddfdf 100644
--- a/src/gui/dialogs/sampleEditor.cpp
+++ b/src/gui/dialogs/sampleEditor.cpp
@@ -228,7 +228,7 @@ void gdSampleEditor::refresh()
void gdSampleEditor::updateInfo()
{
- std::string infoText = fmt::format(g_ui.getI18Text(LangMap::SAMPLEEDITOR_INFO),
+ std::string infoText = fmt::format(fmt::runtime(g_ui.getI18Text(LangMap::SAMPLEEDITOR_INFO)),
m_data.wavePath, m_data.waveSize, m_data.waveDuration,
m_data.waveBits != 0 ? std::to_string(m_data.waveBits) : "?", m_data.waveRate);
diff --git a/src/gui/elems/config/tabPlugins.cpp b/src/gui/elems/config/tabPlugins.cpp
index 1b95dc2..5484b5d 100644
--- a/src/gui/elems/config/tabPlugins.cpp
+++ b/src/gui/elems/config/tabPlugins.cpp
@@ -89,7 +89,7 @@ geTabPlugins::geTabPlugins(geompp::Rect<int> bounds)
m_scanButton->onClick = [this]() {
std::function<void(float)> callback = [this](float progress) {
- std::string l = fmt::format(g_ui.getI18Text(LangMap::CONFIG_PLUGINS_SCANNING), static_cast<int>(progress * 100));
+ std::string l = fmt::format(fmt::runtime(g_ui.getI18Text(LangMap::CONFIG_PLUGINS_SCANNING)), static_cast<int>(progress * 100));
m_info->label(l.c_str());
Fl::wait();
};
@@ -109,7 +109,7 @@ void geTabPlugins::rebuild()
{
m_data = c::config::getPluginData();
- const std::string scanLabel = fmt::format(g_ui.getI18Text(LangMap::CONFIG_PLUGINS_SCAN), m_data.numAvailablePlugins);
+ const std::string scanLabel = fmt::format(fmt::runtime(g_ui.getI18Text(LangMap::CONFIG_PLUGINS_SCAN)), m_data.numAvailablePlugins);
m_scanButton->copy_label(scanLabel.c_str());
m_folderPath->setValue(m_data.pluginPath);
++++++ 002-fix-include-cstdint.patch ++++++
diff --git a/src/core/const.h b/src/core/const.h
index 71d757c..ede93fe 100644
--- a/src/core/const.h
+++ b/src/core/const.h
@@ -29,6 +29,7 @@
#include "deps/rtaudio/RtAudio.h"
#include <RtMidi.h>
+#include <cstdint>
/* -- environment ----------------------------------------------------------- */
#if defined(_WIN32)
diff --git a/src/gui/elems/midiIO/midiLearner.h b/src/gui/elems/midiIO/midiLearner.h
index 831868c..80e6663 100644
--- a/src/gui/elems/midiIO/midiLearner.h
+++ b/src/gui/elems/midiIO/midiLearner.h
@@ -30,6 +30,7 @@
#include "gui/elems/basics/flex.h"
#include <functional>
#include <string>
+#include <cstdint>
namespace giada::v
{
++++++ 003-cmake-exclude-juce-from-all.patch ++++++
--- /var/tmp/diff_new_pack.18hMdL/_old 2023-03-30 22:52:35.661000981 +0200
+++ /var/tmp/diff_new_pack.18hMdL/_new 2023-03-30 22:52:35.665001003 +0200
@@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3a909989..ac1cffeb 100644
+index 7c0968e..a1d6c91 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -544,7 +544,7 @@ endif()
+@@ -553,7 +553,7 @@ endif()
# Extra parameters for audio plug-ins support.
# ------------------------------------------------------------------------------
++++++ _service ++++++
--- /var/tmp/diff_new_pack.18hMdL/_old 2023-03-30 22:52:35.713001259 +0200
+++ /var/tmp/diff_new_pack.18hMdL/_new 2023-03-30 22:52:35.717001281 +0200
@@ -1,15 +1,15 @@
<services>
- <service name="obs_scm" mode="disabled">
+ <service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/monocasual/giada.git</param>
+ <param name="revision">v0.24.0</param>
<param name="submodules">enable</param>
- <param name="versionformat">0.23.2</param>
+ <param name="version">0.24.0</param>
</service>
- <service name="tar" mode="buildtime"/>
- <service name="recompress" mode="buildtime">
+ <service name="recompress" mode="disabled">
<param name="compression">xz</param>
<param name="file">*.tar</param>
</service>
- <service name="set_version" mode="buildtime"/>
+ <service name="set_version" mode="disabled"/>
</services>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-google-cloud-storage for openSUSE:Factory checked in at 2023-03-30 22:52:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-google-cloud-storage (Old)
and /work/SRC/openSUSE:Factory/.python-google-cloud-storage.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-google-cloud-storage"
Thu Mar 30 22:52:29 2023 rev:18 rq:1075541 version:2.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-google-cloud-storage/python-google-cloud-storage.changes 2023-01-09 17:23:27.611042199 +0100
+++ /work/SRC/openSUSE:Factory/.python-google-cloud-storage.new.31432/python-google-cloud-storage.changes 2023-03-30 22:52:30.328972447 +0200
@@ -1,0 +2,13 @@
+Thu Mar 30 10:04:38 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 2.8.0
+ * Add multiprocessing and chunked downloading to transfer manager (#1002)
+ * Add trove classifier for python 3.11 (#971)
+ * Remove use of deprecated cgi module (#1006)
+ * Add clarifications to read timeout (#873)
+ * Fix c.g.c structure (#982)
+ * Update c.g.c docs and guides (#994)
+- Refresh patches for new upstream version
+ * demock.patch
+
+-------------------------------------------------------------------
Old:
----
google-cloud-storage-2.7.0.tar.gz
New:
----
google-cloud-storage-2.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-google-cloud-storage.spec ++++++
--- /var/tmp/diff_new_pack.eGnqj9/_old 2023-03-30 22:52:30.932975679 +0200
+++ /var/tmp/diff_new_pack.eGnqj9/_new 2023-03-30 22:52:30.940975723 +0200
@@ -30,7 +30,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-google-cloud-storage%{pkg_suffix}
-Version: 2.7.0
+Version: 2.8.0
Release: 0
Summary: Google Cloud Storage API python client library
License: Apache-2.0
++++++ demock.patch ++++++
--- /var/tmp/diff_new_pack.eGnqj9/_old 2023-03-30 22:52:30.984975957 +0200
+++ /var/tmp/diff_new_pack.eGnqj9/_new 2023-03-30 22:52:30.984975957 +0200
@@ -1,8 +1,7 @@
-Index: google-cloud-storage-2.7.0/tests/system/test_blob.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/system/test_blob.py
-+++ google-cloud-storage-2.7.0/tests/system/test_blob.py
-@@ -21,7 +21,7 @@ import uuid
+diff -Nru google-cloud-storage-2.8.0.orig/tests/system/test_blob.py google-cloud-storage-2.8.0/tests/system/test_blob.py
+--- google-cloud-storage-2.8.0.orig/tests/system/test_blob.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/system/test_blob.py 2023-03-30 12:03:21.658159496 +0200
+@@ -21,7 +21,7 @@
import warnings
import pytest
@@ -11,10 +10,9 @@
from google import resumable_media
from google.api_core import exceptions
-Index: google-cloud-storage-2.7.0/tests/unit/test_acl.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_acl.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_acl.py
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_acl.py google-cloud-storage-2.8.0/tests/unit/test_acl.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_acl.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_acl.py 2023-03-30 12:03:21.714159988 +0200
@@ -14,7 +14,7 @@
import unittest
@@ -24,11 +22,10 @@
from google.cloud.storage.retry import (
DEFAULT_RETRY,
-Index: google-cloud-storage-2.7.0/tests/unit/test_batch.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_batch.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_batch.py
-@@ -17,7 +17,7 @@ from http.client import SERVICE_UNAVAILA
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_batch.py google-cloud-storage-2.8.0/tests/unit/test_batch.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_batch.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_batch.py 2023-03-30 12:03:21.706159918 +0200
+@@ -17,7 +17,7 @@
from http.client import NO_CONTENT
import unittest
@@ -37,11 +34,10 @@
import requests
-Index: google-cloud-storage-2.7.0/tests/unit/test_blob.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_blob.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_blob.py
-@@ -24,7 +24,7 @@ import http.client
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_blob.py google-cloud-storage-2.8.0/tests/unit/test_blob.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_blob.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_blob.py 2023-03-30 12:03:21.694159812 +0200
+@@ -24,7 +24,7 @@
from unittest.mock import patch
from urllib.parse import urlencode
@@ -50,10 +46,9 @@
import pytest
from google.cloud.storage import _helpers
-Index: google-cloud-storage-2.7.0/tests/unit/test_bucket.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_bucket.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_bucket.py
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_bucket.py google-cloud-storage-2.8.0/tests/unit/test_bucket.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_bucket.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_bucket.py 2023-03-30 12:03:21.714159988 +0200
@@ -15,7 +15,7 @@
import datetime
import unittest
@@ -63,11 +58,10 @@
import pytest
from google.cloud.storage.retry import DEFAULT_RETRY
-Index: google-cloud-storage-2.7.0/tests/unit/test_client.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_client.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_client.py
-@@ -17,7 +17,7 @@ import http.client
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_client.py google-cloud-storage-2.8.0/tests/unit/test_client.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_client.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_client.py 2023-03-30 12:03:21.706159918 +0200
+@@ -17,7 +17,7 @@
import io
import json
from unittest.mock import patch
@@ -76,11 +70,10 @@
import pytest
import re
import requests
-Index: google-cloud-storage-2.7.0/tests/unit/test_fileio.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_fileio.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_fileio.py
-@@ -18,7 +18,7 @@ import unittest
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_fileio.py google-cloud-storage-2.8.0/tests/unit/test_fileio.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_fileio.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_fileio.py 2023-03-30 12:03:21.702159882 +0200
+@@ -18,7 +18,7 @@
import io
import string
@@ -89,10 +82,9 @@
from google.api_core.exceptions import RequestRangeNotSatisfiable
from google.cloud.storage.retry import DEFAULT_RETRY
-Index: google-cloud-storage-2.7.0/tests/unit/test__helpers.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test__helpers.py
-+++ google-cloud-storage-2.7.0/tests/unit/test__helpers.py
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test__helpers.py google-cloud-storage-2.8.0/tests/unit/test__helpers.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test__helpers.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test__helpers.py 2023-03-30 12:03:21.702159882 +0200
@@ -14,7 +14,7 @@
import unittest
@@ -102,7 +94,7 @@
from google.cloud.storage.retry import DEFAULT_RETRY
from google.cloud.storage.retry import DEFAULT_RETRY_IF_METAGENERATION_SPECIFIED
-@@ -556,7 +556,7 @@ class Test__base64_md5hash(unittest.Test
+@@ -556,7 +556,7 @@
self.assertEqual(SIGNED_CONTENT, b"kBiQqOnIz21aGlQrIp/r/w==")
def test_it_with_stubs(self):
@@ -111,10 +103,9 @@
class _Buffer(object):
def __init__(self, return_vals):
-Index: google-cloud-storage-2.7.0/tests/unit/test_hmac_key.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_hmac_key.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_hmac_key.py
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_hmac_key.py google-cloud-storage-2.8.0/tests/unit/test_hmac_key.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_hmac_key.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_hmac_key.py 2023-03-30 12:03:21.714159988 +0200
@@ -14,7 +14,7 @@
import unittest
@@ -124,10 +115,9 @@
from google.cloud.storage.retry import DEFAULT_RETRY
from google.cloud.storage.retry import DEFAULT_RETRY_IF_ETAG_IN_JSON
-Index: google-cloud-storage-2.7.0/tests/unit/test__http.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test__http.py
-+++ google-cloud-storage-2.7.0/tests/unit/test__http.py
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test__http.py google-cloud-storage-2.8.0/tests/unit/test__http.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test__http.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test__http.py 2023-03-30 12:03:21.686159742 +0200
@@ -15,7 +15,7 @@
import unittest
from unittest.mock import patch
@@ -137,10 +127,9 @@
from google.cloud.storage import _helpers
from tests.unit.test__helpers import GCCL_INVOCATION_TEST_CONST
-Index: google-cloud-storage-2.7.0/tests/unit/test_notification.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_notification.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_notification.py
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_notification.py google-cloud-storage-2.8.0/tests/unit/test_notification.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_notification.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_notification.py 2023-03-30 12:03:21.690159777 +0200
@@ -14,7 +14,7 @@
import unittest
@@ -150,11 +139,10 @@
from google.cloud.storage.retry import DEFAULT_RETRY
-Index: google-cloud-storage-2.7.0/tests/unit/test_retry.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_retry.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_retry.py
-@@ -16,7 +16,7 @@ import unittest
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_retry.py google-cloud-storage-2.8.0/tests/unit/test_retry.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_retry.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_retry.py 2023-03-30 12:03:21.710159953 +0200
+@@ -16,7 +16,7 @@
from google.cloud.storage import _helpers
@@ -163,11 +151,10 @@
class Test_should_retry(unittest.TestCase):
-Index: google-cloud-storage-2.7.0/tests/unit/test__signing.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test__signing.py
-+++ google-cloud-storage-2.7.0/tests/unit/test__signing.py
-@@ -23,7 +23,7 @@ import time
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test__signing.py google-cloud-storage-2.8.0/tests/unit/test__signing.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test__signing.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test__signing.py 2023-03-30 12:03:21.698159847 +0200
+@@ -23,7 +23,7 @@
import unittest
import urllib.parse
@@ -176,17 +163,16 @@
import pytest
from . import _read_local_json
-Index: google-cloud-storage-2.7.0/tests/unit/test_transfer_manager.py
-===================================================================
---- google-cloud-storage-2.7.0.orig/tests/unit/test_transfer_manager.py
-+++ google-cloud-storage-2.7.0/tests/unit/test_transfer_manager.py
-@@ -22,7 +22,7 @@ from google.api_core import exceptions
+diff -Nru google-cloud-storage-2.8.0.orig/tests/unit/test_transfer_manager.py google-cloud-storage-2.8.0/tests/unit/test_transfer_manager.py
+--- google-cloud-storage-2.8.0.orig/tests/unit/test_transfer_manager.py 2023-03-29 23:18:24.000000000 +0200
++++ google-cloud-storage-2.8.0/tests/unit/test_transfer_manager.py 2023-03-30 12:03:21.710159953 +0200
+@@ -23,7 +23,7 @@
+
import os
import tempfile
- import unittest
-import mock
+from unittest import mock
+ import pickle
-
- class Test_Transfer_Manager(unittest.TestCase):
+ BLOB_TOKEN_STRING = "blob token"
++++++ google-cloud-storage-2.7.0.tar.gz -> google-cloud-storage-2.8.0.tar.gz ++++++
++++ 3235 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-google-cloud-kms for openSUSE:Factory checked in at 2023-03-30 22:52:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-google-cloud-kms (Old)
and /work/SRC/openSUSE:Factory/.python-google-cloud-kms.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-google-cloud-kms"
Thu Mar 30 22:52:28 2023 rev:11 rq:1075540 version:2.16.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-google-cloud-kms/python-google-cloud-kms.changes 2023-03-08 16:50:19.683378621 +0100
+++ /work/SRC/openSUSE:Factory/.python-google-cloud-kms.new.31432/python-google-cloud-kms.changes 2023-03-30 22:52:29.308966989 +0200
@@ -1,0 +2,10 @@
+Thu Mar 30 10:37:19 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 2.16.1
+ * Publish the API comment changes related to supporting different hash
+ functions/values for ECDSA signing (#386)
+- from version 2.16.0
+ * Add support for Coordinated External Keys (#382)
+ * Fix formatting of request arg in docstring (#385)
+
+-------------------------------------------------------------------
Old:
----
google-cloud-kms-2.15.0.tar.gz
New:
----
google-cloud-kms-2.16.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-google-cloud-kms.spec ++++++
--- /var/tmp/diff_new_pack.D7mZfD/_old 2023-03-30 22:52:29.740969300 +0200
+++ /var/tmp/diff_new_pack.D7mZfD/_new 2023-03-30 22:52:29.744969322 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
Name: python-google-cloud-kms
-Version: 2.15.0
+Version: 2.16.1
Release: 0
Summary: Cloud Key Management Service (KMS) API API client library
License: Apache-2.0
++++++ google-cloud-kms-2.15.0.tar.gz -> google-cloud-kms-2.16.1.tar.gz ++++++
++++ 4220 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package FlightGear-data for openSUSE:Factory checked in at 2023-03-30 22:51:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/FlightGear-data (Old)
and /work/SRC/openSUSE:Factory/.FlightGear-data.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "FlightGear-data"
Thu Mar 30 22:51:45 2023 rev:25 rq:1075537 version:2020.3.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/FlightGear-data/FlightGear-data.changes 2022-11-24 12:24:48.089897018 +0100
+++ /work/SRC/openSUSE:Factory/.FlightGear-data.new.31432/FlightGear-data.changes 2023-03-30 22:52:08.192853986 +0200
@@ -1,0 +2,6 @@
+Wed Mar 29 10:28:29 UTC 2023 - Stefan Br��ns <stefan.bruens(a)rwth-aachen.de>
+
+- Update to 2020.3.18
+ * https://wiki.flightgear.org/Changelog_2020.3#2020.3.18
+
+-------------------------------------------------------------------
Old:
----
FlightGear-2020.3.17-data.txz
New:
----
FlightGear-2020.3.18-data.txz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ FlightGear-data.spec ++++++
--- /var/tmp/diff_new_pack.I2GGaj/_old 2023-03-30 22:52:21.632925910 +0200
+++ /var/tmp/diff_new_pack.I2GGaj/_new 2023-03-30 22:52:21.636925932 +0200
@@ -1,7 +1,7 @@
#
# spec file for package FlightGear-data
#
-# 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 main_version 2020.3
Name: FlightGear-data
-Version: %{main_version}.17
+Version: %{main_version}.18
Release: 0
Summary: FlightGear base scenery and data files
License: GPL-2.0-only
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package SimGear for openSUSE:Factory checked in at 2023-03-30 22:51:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/SimGear (Old)
and /work/SRC/openSUSE:Factory/.SimGear.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "SimGear"
Thu Mar 30 22:51:44 2023 rev:29 rq:1075536 version:2020.3.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/SimGear/SimGear.changes 2023-03-06 18:55:57.680790224 +0100
+++ /work/SRC/openSUSE:Factory/.SimGear.new.31432/SimGear.changes 2023-03-30 22:51:46.244736531 +0200
@@ -1,0 +2,6 @@
+Wed Mar 29 10:28:29 UTC 2023 - Stefan Br��ns <stefan.bruens(a)rwth-aachen.de>
+
+- Update to 2020.3.18
+ * https://wiki.flightgear.org/Changelog_2020.3#2020.3.18
+
+-------------------------------------------------------------------
Old:
----
simgear-2020.3.17.tar.bz2
New:
----
simgear-2020.3.18.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ SimGear.spec ++++++
--- /var/tmp/diff_new_pack.1RcbFW/_old 2023-03-30 22:51:46.800739506 +0200
+++ /var/tmp/diff_new_pack.1RcbFW/_new 2023-03-30 22:51:46.804739528 +0200
@@ -20,10 +20,10 @@
# in our requirements, i.e. the same version we have built against
%define openscenegraph_version %(rpm -qa --nosignature --nodigest libOpenSceneGraph\*-devel | sed 's/.*-devel-\\(.*\\)-.*/\\1/')
-%define libname libSimGearCore-2020_3_17
+%define libname libSimGearCore-2020_3_18
%define main_version 2020.3
Name: SimGear
-Version: %{main_version}.17
+Version: %{main_version}.18
Release: 0
Summary: Simulator Construction Gear
# https://sourceforge.net/p/flightgear/codetickets/1940/
++++++ simgear-2020.3.17.tar.bz2 -> simgear-2020.3.18.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/environment/test_metar.cxx new/simgear-2020.3.18/simgear/environment/test_metar.cxx
--- old/simgear-2020.3.17/simgear/environment/test_metar.cxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/environment/test_metar.cxx 2023-03-14 08:49:42.000000000 +0100
@@ -123,6 +123,14 @@
#endif
}
+void test_EDQM_failure()
+{
+ //
+
+ SGMetar m1("2022/12/11 19:50 EDQM 111950Z AUTO VRB03KT 2700 // ///026/// M06/M07 Q1006");
+
+}
+
int main(int argc, char* argv[])
{
try {
@@ -134,6 +142,7 @@
test_clouds_without_height();
test_GLRB_failure();
test_LOWK_failure();
+ test_EDQM_failure();
} catch (sg_exception& e) {
cerr << "got exception:" << e.getMessage() << endl;
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/io/sg_binobj.hxx new/simgear-2020.3.18/simgear/io/sg_binobj.hxx
--- old/simgear-2020.3.17/simgear/io/sg_binobj.hxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/io/sg_binobj.hxx 2023-03-14 08:49:42.000000000 +0100
@@ -150,6 +150,7 @@
std::vector<SGVec4f> colors; // color list
std::vector<SGVec3f> normals; // normal list
std::vector<SGVec2f> texcoords; // texture coordinate list
+ std::vector<SGVec2f> overlaycoords; // overlay texture coordinate list
std::vector<float> va_flt; // vertex attribute list (floats)
std::vector<int> va_int; // vertex attribute list (ints)
@@ -226,6 +227,10 @@
inline const std::vector<SGVec2f>& get_texcoords() const { return texcoords; }
inline void set_texcoords( const std::vector<SGVec2f>& t ) { texcoords = t; }
+
+ inline const std::vector<SGVec2f>& get_overlaycoords() const { return overlaycoords; }
+ inline void set_overlaycoords( const std::vector<SGVec2f>& t ) { overlaycoords = t; }
+
// Points API
bool add_point( const SGBinObjectPoint& pt );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/misc/sg_path.cxx new/simgear-2020.3.18/simgear/misc/sg_path.cxx
--- old/simgear-2020.3.17/simgear/misc/sg_path.cxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/misc/sg_path.cxx 2023-03-14 08:49:42.000000000 +0100
@@ -484,7 +484,7 @@
}
//------------------------------------------------------------------------------
-void SGPath::updateAttrsIfNull() const
+void SGPath::updateCachedAttributes() const
{
if (_cached && _cacheEnabled) {
return;
@@ -570,7 +570,7 @@
return;
}
- updateAttrsIfNull();
+ updateCachedAttributes();
_rwCached = true;
}
@@ -589,7 +589,7 @@
return _exists;
}
#endif
- updateAttrsIfNull();
+ updateCachedAttributes();
return _exists;
}
@@ -609,13 +609,13 @@
bool SGPath::isDir() const
{
- updateAttrsIfNull();
+ updateCachedAttributes();
return _exists && _isDir;
}
bool SGPath::isFile() const
{
- updateAttrsIfNull();
+ updateCachedAttributes();
return _exists && _isFile;
}
@@ -807,13 +807,13 @@
time_t SGPath::modTime() const
{
- updateAttrsIfNull();
+ updateCachedAttributes();
return _modTime;
}
size_t SGPath::sizeInBytes() const
{
- updateAttrsIfNull();
+ updateCachedAttributes();
return _size;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/misc/sg_path.hxx new/simgear-2020.3.18/simgear/misc/sg_path.hxx
--- old/simgear-2020.3.17/simgear/misc/sg_path.hxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/misc/sg_path.hxx 2023-03-14 08:49:42.000000000 +0100
@@ -372,7 +372,7 @@
void fix();
- void updateAttrsIfNull() const;
+ void updateCachedAttributes() const;
void checkAccess() const;
bool permissionsAllowsWrite() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/scene/model/SGText.cxx new/simgear-2020.3.18/simgear/scene/model/SGText.cxx
--- old/simgear-2020.3.17/simgear/scene/model/SGText.cxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/scene/model/SGText.cxx 2023-03-14 08:49:42.000000000 +0100
@@ -23,6 +23,13 @@
#include "SGText.hxx"
+#include <simgear/math/SGMath.hxx>
+#include <simgear/misc/sg_path.hxx>
+#include <simgear/misc/strutils.hxx>
+#include <simgear/scene/material/Effect.hxx>
+#include <simgear/scene/material/EffectGeode.hxx>
+#include <simgear/scene/util/SGReaderWriterOptions.hxx>
+
#include <osg/Geode>
#include <osg/MatrixTransform>
#include <osgText/Text>
@@ -96,9 +103,16 @@
SGConstPropertyNode_ptr p;
osgText::Text * text = new osgText::Text();
- osg::Geode * g = new osg::Geode;
+ simgear::EffectGeode * g = new simgear::EffectGeode;
g->addDrawable( text );
+ SGPropertyNode_ptr effectProp = new SGPropertyNode;
+ makeChild(effectProp, "inherits-from")->setStringValue("Effects/text-default");
+ simgear::Effect* effect = simgear::makeEffect(
+ effectProp, true, dynamic_cast<const simgear::SGReaderWriterOptions*>(options));
+ if (effect)
+ g->setEffect(effect);
+
const std::string requestedFont = configNode->getStringValue("font","Helvetica");
const SGPath fontPath = simgear::ResourceManager::instance()->findPath("Fonts/" + requestedFont);
if ( !fontPath.isNull() ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/scene/tgdb/SGTexturedTriangleBin.hxx new/simgear-2020.3.18/simgear/scene/tgdb/SGTexturedTriangleBin.hxx
--- old/simgear-2020.3.17/simgear/scene/tgdb/SGTexturedTriangleBin.hxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/scene/tgdb/SGTexturedTriangleBin.hxx 2023-03-14 08:49:42.000000000 +0100
@@ -89,10 +89,15 @@
}
const SGVec2f& GetTexCoord( unsigned idx ) const { return texCoord[idx]; }
+ void SetOverlayCoord( const SGVec2f& ovc ) { overlayCoord = ovc; }
+ const SGVec2f& GetOverlayCoord() const { return overlayCoord; }
+
+
private:
SGVec3f vertex;
SGVec3f normal;
SGVec2f texCoord[4];
+ SGVec2f overlayCoord;
unsigned tc_mask;
};
@@ -432,6 +437,8 @@
osg::ref_ptr<osg::Vec3Array> normals = new osg::Vec3Array;
osg::ref_ptr<osg::Vec2Array> priTexCoords = new osg::Vec2Array;
osg::ref_ptr<osg::Vec2Array> secTexCoords = new osg::Vec2Array;
+ osg::ref_ptr<osg::Vec2Array> overlayCoords = new osg::Vec2Array;
+
osg::ref_ptr<osg::Vec4Array> colors = new osg::Vec4Array;
colors->push_back(osg::Vec4(1, 1, 1, 1));
@@ -453,7 +460,9 @@
geometry->setTexCoordArray(1, secTexCoords);
} else {
geometry->setTexCoordArray(0, priTexCoords);
- }
+ }
+ geometry->setVertexAttribArray(14, overlayCoords.get(), osg::Array::BIND_PER_VERTEX);
+
const unsigned invalid = ~unsigned(0);
std::vector<unsigned> indexMap(getNumVertices(), invalid);
@@ -469,6 +478,7 @@
if ( has_sec_tcs ) {
secTexCoords->push_back(toOsg(getVertex(triangle[0]).GetTexCoord(1)));
}
+ overlayCoords->push_back(toOsg(getVertex(triangle[0]).GetOverlayCoord()));
}
deFacade.push_back(indexMap[triangle[0]]);
@@ -480,6 +490,7 @@
if ( has_sec_tcs ) {
secTexCoords->push_back(toOsg(getVertex(triangle[1]).GetTexCoord(1)));
}
+ overlayCoords->push_back(toOsg(getVertex(triangle[1]).GetOverlayCoord()));
}
deFacade.push_back(indexMap[triangle[1]]);
@@ -491,6 +502,7 @@
if ( has_sec_tcs ) {
secTexCoords->push_back(toOsg(getVertex(triangle[2]).GetTexCoord(1)));
}
+ overlayCoords->push_back(toOsg(getVertex(triangle[2]).GetOverlayCoord()));
}
deFacade.push_back(indexMap[triangle[2]]);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/scene/tgdb/SGTileGeometryBin.hxx new/simgear-2020.3.18/simgear/scene/tgdb/SGTileGeometryBin.hxx
--- old/simgear-2020.3.17/simgear/scene/tgdb/SGTileGeometryBin.hxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/scene/tgdb/SGTileGeometryBin.hxx 2023-03-14 08:49:42.000000000 +0100
@@ -58,6 +58,7 @@
const std::vector<SGVec3d>& vertices(obj.get_wgs84_nodes());
const std::vector<SGVec3f>& normals(obj.get_normals());
const std::vector<SGVec2f>& texCoords(obj.get_texcoords());
+ const std::vector<SGVec2f>& overlayCoords(obj.get_overlaycoords());
const int_list& tris_v(obj.get_tris_v()[grp]);
const int_list& tris_n(obj.get_tris_n()[grp]);
const tci_list& tris_tc(obj.get_tris_tcs()[grp]);
@@ -82,6 +83,8 @@
if (!tris_tc[1].empty()) {
v0.SetTexCoord( 1, getTexCoord(texCoords, tris_tc[1], tc1Scale, i-2) );
}
+ v0.SetOverlayCoord(overlayCoords[tris_v[i-2]]);
+
SGVertNormTex v1;
v1.SetVertex( toVec3f(vertices[tris_v[i-1]]) );
v1.SetNormal( num_norms_is_num_verts ? normals[tris_n[i-1]] :
@@ -90,6 +93,8 @@
if (!tris_tc[1].empty()) {
v1.SetTexCoord( 1, getTexCoord(texCoords, tris_tc[1], tc1Scale, i-1) );
}
+ v1.SetOverlayCoord(overlayCoords[tris_v[i-1]]);
+
SGVertNormTex v2;
v2.SetVertex( toVec3f(vertices[tris_v[i]]) );
v2.SetNormal( num_norms_is_num_verts ? normals[tris_n[i]] :
@@ -98,6 +103,8 @@
if (!tris_tc[1].empty()) {
v2.SetTexCoord( 1, getTexCoord(texCoords, tris_tc[1], tc1Scale, i) );
}
+ v2.SetOverlayCoord(overlayCoords[tris_v[i]]);
+
triangles.insert(v0, v1, v2);
}
@@ -168,6 +175,7 @@
const std::vector<SGVec3d>& vertices(obj.get_wgs84_nodes());
const std::vector<SGVec3f>& normals(obj.get_normals());
const std::vector<SGVec2f>& texCoords(obj.get_texcoords());
+ const std::vector<SGVec2f>& overlayCoords(obj.get_overlaycoords());
const int_list& fans_v(obj.get_fans_v()[grp]);
const int_list& fans_n(obj.get_fans_n()[grp]);
const tci_list& fans_tc(obj.get_fans_tcs()[grp]);
@@ -191,6 +199,8 @@
if (!fans_tc[1].empty()) {
v0.SetTexCoord( 1, getTexCoord(texCoords, fans_tc[1], tc1Scale, 0) );
}
+ v0.SetOverlayCoord(overlayCoords[fans_v[0]]);
+
SGVertNormTex v1;
v1.SetVertex( toVec3f(vertices[fans_v[1]]) );
v1.SetNormal( num_norms_is_num_verts ? normals[fans_n[1]] :
@@ -199,6 +209,8 @@
if (!fans_tc[1].empty()) {
v1.SetTexCoord( 1, getTexCoord(texCoords, fans_tc[1], tc1Scale, 1) );
}
+ v1.SetOverlayCoord(overlayCoords[fans_v[1]]);
+
for (unsigned i = 2; i < fans_v.size(); ++i) {
SGVertNormTex v2;
v2.SetVertex( toVec3f(vertices[fans_v[i]]) );
@@ -208,6 +220,8 @@
if (!fans_tc[1].empty()) {
v2.SetTexCoord( 1, getTexCoord(texCoords, fans_tc[1], tc1Scale, i) );
}
+ v2.SetOverlayCoord(overlayCoords[fans_v[i]]);
+
triangles.insert(v0, v1, v2);
v1 = v2;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/scene/tgdb/obj.cxx new/simgear-2020.3.18/simgear/scene/tgdb/obj.cxx
--- old/simgear-2020.3.17/simgear/scene/tgdb/obj.cxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/scene/tgdb/obj.cxx 2023-03-14 08:49:42.000000000 +0100
@@ -26,10 +26,19 @@
# include <simgear_config.h>
#endif
+#include <osgDB/FileNameUtils>
+#include <osgDB/FileUtils>
+#include <osgDB/ReadFile>
+#include <osg/Texture2D>
+#include <osg/TexEnv>
+
+
#include "obj.hxx"
#include <simgear/debug/logstream.hxx>
#include <simgear/io/sg_binobj.hxx>
+#include <simgear/bucket/newbucket.hxx>
+#include <simgear/scene/util/OrthophotoManager.hxx>
#include "SGTileGeometryBin.hxx" // for original tile loading
#include "SGTileDetailsCallback.hxx" // for tile details ( random objects, and lighting )
@@ -54,6 +63,7 @@
double maxError = SG_SIMPLIFIER_MAX_ERROR;
double object_range = SG_OBJECT_RANGE_ROUGH;
double tile_min_expiry = SG_TILE_MIN_EXPIRY;
+ bool usePhotoscenery = false;
if (options) {
matlib = options->getMaterialLib();
@@ -69,6 +79,7 @@
maxError = propertyNode->getDoubleValue("/sim/rendering/terrain/simplifier/max-error", maxError);
object_range = propertyNode->getDoubleValue("/sim/rendering/static-lod/rough", object_range);
tile_min_expiry= propertyNode->getDoubleValue("/sim/rendering/plod-minimum-expiry-time-secs", tile_min_expiry);
+ usePhotoscenery = propertyNode->getBoolValue("/sim/rendering/photoscenery/enabled", usePhotoscenery);
}
SGVec3d center = tile.get_gbs_center();
@@ -77,12 +88,39 @@
if (matlib)
matcache = matlib->generateMatCache(geodPos);
+ std::vector<SGVec3d> nodes = tile.get_wgs84_nodes();
+
+ std::vector<SGVec2f> satellite_overlay_coords;
+ osg::ref_ptr<Orthophoto> orthophoto = nullptr;
+
+ if (usePhotoscenery) {
+ try {
+ const long index = lexical_cast<long>(osgDB::getSimpleFileName(osgDB::getNameLessExtension(path)));
+ orthophoto = OrthophotoManager::instance()->getOrthophoto(index);
+ } catch (bad_lexical_cast&) {
+ orthophoto = OrthophotoManager::instance()->getOrthophoto(nodes, center);
+ }
+ }
+
+
+
// rotate the tiles so that the bounding boxes get nearly axis aligned.
// this will help the collision tree's bounding boxes a bit ...
- std::vector<SGVec3d> nodes = tile.get_wgs84_nodes();
- for (unsigned i = 0; i < nodes.size(); ++i)
+ for (unsigned i = 0; i < nodes.size(); ++i) {
+ if (orthophoto) {
+ // Generate TexCoords for Overlay
+ const SGGeod node_geod = SGGeod::fromCart(nodes[i] + center);
+ const OrthophotoBounds actual_bbox = orthophoto->getBbox();
+ const SGVec2f coords = actual_bbox.getTexCoord(node_geod);
+ satellite_overlay_coords.push_back(coords);
+ } else {
+ satellite_overlay_coords.push_back(SGVec2f(0.0, 0.0));
+ }
+
nodes[i] = hlOr.transform(nodes[i]);
+ }
tile.set_wgs84_nodes(nodes);
+ tile.set_overlaycoords(satellite_overlay_coords);
SGQuatf hlOrf(hlOr[0], hlOr[1], hlOr[2], hlOr[3]);
std::vector<SGVec3f> normals = tile.get_normals();
@@ -97,6 +135,22 @@
return NULL;
osg::Node* node = tileGeometryBin->getSurfaceGeometry(matcache, useVBOs);
+ if (node) {
+ // Get base node stateset
+ osg::StateSet *stateSet = node->getOrCreateStateSet();
+
+ osg::ref_ptr<osg::Uniform> orthophotoAvailable = new osg::Uniform("orthophotoAvailable", false);
+ stateSet->addUniform(orthophotoAvailable, osg::StateAttribute::ON);
+
+ // Add satellite texture (if orthophoto exists)
+ if (usePhotoscenery && orthophoto) {
+ stateSet->setTextureAttributeAndModes(15, orthophoto->getTexture(), osg::StateAttribute::ON);
+ orthophotoAvailable->set(true);
+
+ SG_LOG(SG_OSG, SG_DEBUG, "Applying satellite orthophoto to terrain object with path " << path);
+ }
+ }
+
if (node && simplifyDistant) {
osgUtil::Simplifier simplifier(ratio, maxError, maxLength);
node->accept(simplifier);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/scene/tgdb/obj.hxx new/simgear-2020.3.18/simgear/scene/tgdb/obj.hxx
--- old/simgear-2020.3.17/simgear/scene/tgdb/obj.hxx 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/scene/tgdb/obj.hxx 2023-03-14 08:49:42.000000000 +0100
@@ -29,6 +29,8 @@
# error This library requires C++
#endif
+#include <boost/lexical_cast.hpp>
+
#include <simgear/compiler.h>
#include <string>
@@ -38,6 +40,9 @@
using std::string;
+using boost::lexical_cast;
+using boost::bad_lexical_cast;
+
class SGMaterialLib;
namespace simgear {
class SGReaderWriterOptions;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/scene/util/CMakeLists.txt new/simgear-2020.3.18/simgear/scene/util/CMakeLists.txt
--- old/simgear-2020.3.17/simgear/scene/util/CMakeLists.txt 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear/scene/util/CMakeLists.txt 2023-03-14 08:49:42.000000000 +0100
@@ -7,6 +7,7 @@
NodeAndDrawableVisitor.hxx
Noise.hxx
OptionsReadFileCallback.hxx
+ OrthophotoManager.hxx
OsgDebug.hxx
OsgMath.hxx
OsgSingleton.hxx
@@ -41,6 +42,7 @@
NodeAndDrawableVisitor.cxx
Noise.cxx
OptionsReadFileCallback.cxx
+ OrthophotoManager.cxx
OsgDebug.cxx
parse_color.cxx
PrimitiveUtils.cxx
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/scene/util/OrthophotoManager.cxx new/simgear-2020.3.18/simgear/scene/util/OrthophotoManager.cxx
--- old/simgear-2020.3.17/simgear/scene/util/OrthophotoManager.cxx 1970-01-01 01:00:00.000000000 +0100
+++ new/simgear-2020.3.18/simgear/scene/util/OrthophotoManager.cxx 2023-03-14 08:49:42.000000000 +0100
@@ -0,0 +1,402 @@
+// OrthophotoManager.cxx -- manages satellite orthophotos
+//
+// Copyright (C) 2020 Nathaniel MacArthur-Warner nathanielwarner77(a)gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the
+// Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include "OrthophotoManager.hxx"
+#include "SGSceneFeatures.hxx"
+#include <simgear/debug/debug_types.h>
+
+namespace simgear {
+
+ OrthophotoBounds OrthophotoBounds::fromBucket(const SGBucket& bucket) {
+ OrthophotoBounds bounds;
+ bounds.expandToInclude(bucket);
+ return bounds;
+ }
+
+ void OrthophotoBounds::_updateHemisphere() {
+ if (_minPosLon <= 180 && _maxPosLon >= 0 && _minNegLon < 0 && _maxNegLon >= -180) {
+ // We have negative and positive longitudes.
+ // Choose whether we're straddling the Prime Meridian or 180th meridian
+ if (_maxPosLon - _minNegLon < 180) {
+ _hemisphere = StraddlingPm;
+ } else {
+ _hemisphere = StraddlingIdl;
+ }
+ }
+ else if (_minPosLon <= 180.0 && _maxPosLon >= 0.0) {
+ _hemisphere = Eastern;
+ }
+ else if (_minNegLon < 0.0 && _maxNegLon >= -180.0) {
+ _hemisphere = Western;
+ }
+ else {
+ _hemisphere = Invalid;
+ }
+ }
+
+ double OrthophotoBounds::getWidth() const {
+ switch (_hemisphere) {
+ case Eastern:
+ return _maxPosLon - _minPosLon;
+ case Western:
+ return _maxNegLon - _minNegLon;
+ case StraddlingPm:
+ return _maxPosLon - _minNegLon;
+ case StraddlingIdl:
+ return (180.0 - _minPosLon) + (_maxNegLon + 180.0);
+ default:
+ SG_LOG(SG_TERRAIN, SG_ALERT, "OrthophotoBounds::getWidth: My data is invalid. Returning 0.");
+ return 0.0;
+ }
+ }
+
+ double OrthophotoBounds::getHeight() const {
+ return _maxLat - _minLat;
+ }
+
+ SGVec2f OrthophotoBounds::getTexCoord(const SGGeod& geod) const {
+
+ const double lon = geod.getLongitudeDeg();
+ const double width = getWidth();
+ float x = 0.0;
+
+ switch (_hemisphere) {
+ case Eastern:
+ x = (lon - _minPosLon) / width;
+ break;
+ case Western:
+ x = (lon - _minNegLon) / width;
+ break;
+ case StraddlingPm:
+ x = (lon - _minNegLon) / width;
+ break;
+ case StraddlingIdl:
+ if (lon >= 0) {
+ // Geod is in the eastern hemisphere
+ x = (lon - _minPosLon) / width;
+ } else {
+ // Geod is in the western hemisphere
+ x = (180.0 - _minPosLon + lon) / width;
+ }
+ break;
+ default:
+ SG_LOG(SG_TERRAIN, SG_ALERT, "OrthophotoBounds::getTexCoord: My data is invalid.");
+ break;
+ }
+
+ const float y = (_maxLat - geod.getLatitudeDeg()) / getHeight();
+
+ return SGVec2f(x, y);
+ }
+
+ double OrthophotoBounds::getLonOffset(const OrthophotoBounds& other) const {
+
+ std::string error_message = "";
+
+ switch (_hemisphere) {
+ case Eastern:
+ if (other._hemisphere == Eastern)
+ return other._minPosLon - _minPosLon;
+ else
+ error_message = "I'm not in the same hemisphere as other.";
+ break;
+ case Western:
+ if (other._hemisphere == Western)
+ return other._minNegLon - _minNegLon;
+ else
+ error_message = "I'm not in the same hemisphere as other.";
+ break;
+ case StraddlingPm:
+ if (other._hemisphere == Western || other._hemisphere == StraddlingPm)
+ return other._minNegLon - _minNegLon;
+ else if (other._hemisphere == Eastern)
+ return -_minNegLon + other._minPosLon;
+ else
+ error_message = "I'm not in the same hemisphere as other";
+ break;
+ case StraddlingIdl:
+ if (other._hemisphere == Eastern || other._hemisphere == StraddlingIdl) {
+ return other._minPosLon - _minPosLon;
+ } else if (other._hemisphere == StraddlingIdl) {
+ return (180.0 - _minPosLon) + (other._minNegLon + 180.0);
+ } else {
+ error_message = "Other has invalid data.";
+ }
+ break;
+ default:
+ error_message = "My data is invalid.";
+ break;
+ }
+
+ SG_LOG(SG_TERRAIN, SG_ALERT, "OrthophotoBounds::getLonOffset: " << error_message << " Returning 0.");
+ return 0.0;
+ }
+
+ double OrthophotoBounds::getLatOffset(const OrthophotoBounds& other) const {
+ return _maxLat - other._maxLat;
+ }
+
+ void OrthophotoBounds::expandToInclude(const SGBucket& bucket) {
+ double center_lon = bucket.get_center_lon();
+ double center_lat = bucket.get_center_lat();
+ double width = bucket.get_width();
+ double height = bucket.get_height();
+
+ double left = center_lon - width / 2;
+ double right = center_lon + width / 2;
+ double bottom = center_lat - height / 2;
+ double top = center_lat + height / 2;
+
+ expandToInclude(left, bottom);
+ expandToInclude(right, top);
+ }
+
+ void OrthophotoBounds::expandToInclude(const double lon, const double lat) {
+ if (lon >= 0) {
+ if (lon < _minPosLon)
+ _minPosLon = lon;
+ if (lon > _maxPosLon)
+ _maxPosLon = lon;
+ } else {
+ if (lon < _minNegLon)
+ _minNegLon = lon;
+ if (lon > _maxNegLon)
+ _maxNegLon = lon;
+ }
+
+ if (lat < _minLat)
+ _minLat = lat;
+ if (lat > _maxLat)
+ _maxLat = lat;
+
+ _updateHemisphere();
+ }
+
+ void OrthophotoBounds::expandToInclude(const OrthophotoBounds& bounds) {
+ switch (bounds._hemisphere) {
+ case Eastern:
+ expandToInclude(bounds._minPosLon, bounds._minLat);
+ expandToInclude(bounds._maxPosLon, bounds._maxLat);
+ break;
+ case Western:
+ expandToInclude(bounds._minNegLon, bounds._minLat);
+ expandToInclude(bounds._maxNegLon, bounds._maxLat);
+ break;
+ case StraddlingPm:
+ expandToInclude(bounds._minNegLon, bounds._minLat);
+ expandToInclude(bounds._maxPosLon, bounds._maxLat);
+ break;
+ case StraddlingIdl:
+ expandToInclude(bounds._minPosLon, bounds._minLat);
+ expandToInclude(bounds._maxNegLon, bounds._maxLat);
+ break;
+ case Invalid:
+ SG_LOG(SG_TERRAIN, SG_ALERT, "OrthophotoBounds::absorb: Data in bounds to absorb is invalid. Aborting.");
+ break;
+ }
+ }
+
+ Texture2DRef textureFromImage(const ImageRef& image) {
+ Texture2DRef texture = new osg::Texture2D(image);
+ texture->setWrap(osg::Texture::WrapParameter::WRAP_S, osg::Texture::WrapMode::CLAMP_TO_EDGE);
+ texture->setWrap(osg::Texture::WrapParameter::WRAP_T, osg::Texture::WrapMode::CLAMP_TO_EDGE);
+ texture->setWrap(osg::Texture::WrapParameter::WRAP_R, osg::Texture::WrapMode::CLAMP_TO_EDGE);
+ texture->setMaxAnisotropy(SGSceneFeatures::instance()->getTextureFilter());
+ return texture;
+ }
+
+ OrthophotoRef Orthophoto::fromBucket(const SGBucket& bucket, const PathList& scenery_paths) {
+
+ const std::string bucket_path = bucket.gen_base_path();
+
+ for (const auto& scenery_path : scenery_paths) {
+ SGPath path = scenery_path / "Orthophotos" / bucket_path / std::to_string(bucket.gen_index());
+
+ SGPath dds_path = path;
+ dds_path.concat(".dds");
+ if (dds_path.exists()) {
+ ImageRef image = osgDB::readRefImageFile(dds_path.str());
+ if (image) {
+ if (!image->isCompressed()) {
+ SG_LOG(SG_OSG, SG_WARN, "Loading uncompressed DDS orthophoto. This is known to cause problems on some systems.");
+ }
+ const Texture2DRef texture = textureFromImage(image);
+ const OrthophotoBounds bbox = OrthophotoBounds::fromBucket(bucket);
+ return new Orthophoto(texture, bbox);
+ }
+ }
+
+ SGPath png_path = path;
+ png_path.concat(".png");
+ if (png_path.exists()) {
+ ImageRef image = osgDB::readRefImageFile(png_path.str());
+ if (image) {
+ image->flipVertical();
+ const Texture2DRef texture = textureFromImage(image);
+ const OrthophotoBounds bbox = OrthophotoBounds::fromBucket(bucket);
+ return new Orthophoto(texture, bbox);
+ }
+ }
+ }
+
+ return nullptr;
+ }
+
+ Orthophoto::Orthophoto(const std::vector<OrthophotoRef>& orthophotos) {
+
+ for (const auto& orthophoto : orthophotos) {
+ _bbox.expandToInclude(orthophoto->getBbox());
+ }
+
+ const OrthophotoRef& some_orthophoto = orthophotos[0];
+ const ImageRef& some_image = some_orthophoto->_texture->getImage();
+ const OrthophotoBounds& some_bbox = some_orthophoto->getBbox();
+ const double degs_to_pixels_x = some_image->s() / some_bbox.getWidth();
+ const double degs_to_pixels_y = some_image->t() / some_bbox.getHeight();
+
+ const int total_width = degs_to_pixels_x * _bbox.getWidth();
+ const int total_height = degs_to_pixels_y * _bbox.getHeight();
+
+ const int depth = some_image->r();
+ GLenum pixel_format = some_image->getPixelFormat();
+ GLenum data_type = some_image->getDataType();
+ int packing = some_image->getPacking();
+
+ ImageRef composite_image = new osg::Image();
+ composite_image->allocateImage(total_width, total_height, depth, pixel_format, data_type, packing);
+
+ for (const auto& orthophoto : orthophotos) {
+
+ const OrthophotoBounds& bounds = orthophoto->getBbox();
+ const int width = degs_to_pixels_x * bounds.getWidth();
+ const int height = degs_to_pixels_y * bounds.getHeight();
+ const int s_offset = degs_to_pixels_x * _bbox.getLonOffset(bounds);
+ const int t_offset = degs_to_pixels_y * _bbox.getLatOffset(bounds);
+
+ ImageRef sub_image = orthophoto->_texture->getImage();
+
+ if (sub_image->s() != width || sub_image->t() != height) {
+ SG_LOG(SG_OSG, SG_INFO, "Orthophoto resolution mismatch. Automatic scaling will be performed.");
+ ImageRef scaled_image;
+ bool success = ImageUtils::resizeImage(sub_image, width, height, scaled_image);
+ if (success) {
+ sub_image = scaled_image;
+ } else {
+ SG_LOG(SG_OSG, SG_ALERT, "Failed to scale part of composite orthophoto. The image on the airport may be distorted.");
+ }
+ }
+
+ if (sub_image->getPixelFormat() != pixel_format || sub_image->getDataType() != data_type) {
+ SG_LOG(SG_OSG, SG_INFO, "Pixel format or data type mismatch. Attempting to convert component of composite orthophoto.");
+ if (ImageUtils::canConvert(sub_image, pixel_format, data_type)) {
+ sub_image = ImageUtils::convert(sub_image, pixel_format, data_type);
+ } else {
+ SG_LOG(SG_OSG, SG_ALERT, "Failed to convert component of composite orthophoto. Part of the image on the airport may be missing.");
+ }
+ }
+
+ composite_image->copySubImage(s_offset, t_offset, 0, sub_image);
+ }
+
+ int max_texture_size = SGSceneFeatures::instance()->getMaxTextureSize();
+ int new_width = total_width;
+ int new_height = total_height;
+ if (new_width > max_texture_size) {
+ int factor = new_width / max_texture_size;
+ new_width /= factor;
+ new_height /= factor;
+ }
+ if (new_height > max_texture_size) {
+ int factor = new_height / max_texture_size;
+ new_width /= factor;
+ new_height /= factor;
+ }
+ if (total_width != new_width || total_height != new_height) {
+ SG_LOG(SG_OSG, SG_INFO, "Composite orthophoto exceeds the maximum texture size of your GPU. Automatic scaling will be performed.");
+ ImageRef scaled_image;
+ bool success = ImageUtils::resizeImage(composite_image, new_width, new_height, scaled_image);
+ if (success) {
+ composite_image = scaled_image;
+ } else {
+ SG_LOG(SG_OSG, SG_ALERT, "Failed to scale composite orthophoto. You may encounter errors due to the oversize texture.");
+ }
+ }
+
+ _texture = textureFromImage(composite_image);
+ }
+
+ OrthophotoManager* OrthophotoManager::instance() {
+ return SingletonRefPtr<OrthophotoManager>::instance();
+ }
+
+ void OrthophotoManager::registerOrthophoto(const long bucket_idx, const OrthophotoRef& orthophoto) {
+ OrthophotoWeakRef& entry = _orthophotos[bucket_idx];
+
+ if (entry.valid()) {
+ SG_LOG(SG_TERRAIN, SG_WARN, "OrthophotoManager::registerOrthophoto(): Bucket index " << bucket_idx << " already has a registered orthophoto.");
+ }
+
+ if (!orthophoto) {
+ SG_LOG(SG_TERRAIN, SG_WARN, "OrthophotoManager::registerOrthophoto(): Registering null orthophoto for bucket index " << bucket_idx);
+ }
+
+ entry = orthophoto;
+
+ SG_LOG(SG_TERRAIN, SG_INFO, "Registered orthophoto for bucket index " << bucket_idx);
+ }
+
+ OrthophotoRef OrthophotoManager::getOrthophoto(const long bucket_idx) {
+ OrthophotoWeakRef weak_ref = _orthophotos[bucket_idx];
+ OrthophotoRef ref;
+ if (weak_ref.valid()) {
+ weak_ref.lock(ref);
+ }
+ return ref;
+ }
+
+ OrthophotoRef OrthophotoManager::getOrthophoto(const std::vector<SGVec3d>& nodes, const SGVec3d& center) {
+
+ std::unordered_map<long, bool> orthophotos_attempted;
+ std::vector<OrthophotoRef> orthophotos;
+ OrthophotoBounds needed_bounds;
+
+ for (const auto& node : nodes) {
+ const SGGeod node_geod = SGGeod::fromCart(node + center);
+ needed_bounds.expandToInclude(node_geod.getLongitudeDeg(), node_geod.getLatitudeDeg());
+ const SGBucket bucket(node_geod);
+ const long bucket_idx = bucket.gen_index();
+ bool& orthophoto_attempted = orthophotos_attempted[bucket_idx];
+ if (!orthophoto_attempted) {
+ OrthophotoRef orthophoto = this->getOrthophoto(bucket_idx);
+ if (orthophoto) {
+ orthophotos.push_back(orthophoto);
+ }
+ orthophoto_attempted = true;
+ }
+ }
+
+ if (orthophotos.empty()) {
+ return nullptr;
+ } else if (orthophotos.size() == 1) {
+ return orthophotos[0];
+ } else {
+ return new Orthophoto(orthophotos);
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear/scene/util/OrthophotoManager.hxx new/simgear-2020.3.18/simgear/scene/util/OrthophotoManager.hxx
--- old/simgear-2020.3.17/simgear/scene/util/OrthophotoManager.hxx 1970-01-01 01:00:00.000000000 +0100
+++ new/simgear-2020.3.18/simgear/scene/util/OrthophotoManager.hxx 2023-03-14 08:49:42.000000000 +0100
@@ -0,0 +1,112 @@
+// OrthophotoManager.hxx -- manages satellite orthophotos
+//
+// Copyright (C) 2020 Nathaniel MacArthur-Warner nathanielwarner77(a)gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the
+// Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#ifndef SG_SCENE_ORTHOPHOTO_MANAGER
+#define SG_SCENE_ORTHOPHOTO_MANAGER
+
+#include <unordered_map>
+
+#include <osg/Image>
+#include <osg/Texture2D>
+#include <osg/Referenced>
+#include <osg/ref_ptr>
+#include <osg/observer_ptr>
+#include <osgDB/ReaderWriter>
+#include <osgDB/ReadFile>
+#include <simgear/misc/sg_dir.hxx>
+#include <simgear/misc/sg_path.hxx>
+#include <simgear/bucket/newbucket.hxx>
+#include <simgear/debug/logstream.hxx>
+#include <simgear/math/SGLimits.hxx>
+#include "SGSceneFeatures.hxx"
+#include "OsgSingleton.hxx"
+#include "SGImageUtils.hxx"
+
+namespace simgear {
+
+ using ImageRef = osg::ref_ptr<osg::Image>;
+ using Texture2DRef = osg::ref_ptr<osg::Texture2D>;
+
+ class Orthophoto;
+ using OrthophotoRef = osg::ref_ptr<Orthophoto>;
+ using OrthophotoWeakRef = osg::observer_ptr<Orthophoto>;
+
+ class OrthophotoBounds {
+ private:
+ double _minNegLon = SGLimitsd::max();
+ double _minPosLon = SGLimitsd::max();
+ double _maxNegLon = SGLimitsd::lowest();
+ double _maxPosLon = SGLimitsd::lowest();
+ double _minLat = SGLimitsd::max();
+ double _maxLat = SGLimitsd::lowest();
+
+ enum Hemisphere {Eastern, Western, StraddlingPm, StraddlingIdl, Invalid} _hemisphere = Invalid;
+ void _updateHemisphere();
+
+ public:
+ static OrthophotoBounds fromBucket(const SGBucket& bucket);
+
+ double getWidth() const;
+ double getHeight() const;
+ SGVec2f getTexCoord(const SGGeod& geod) const;
+ double getLonOffset(const OrthophotoBounds& other) const;
+ double getLatOffset(const OrthophotoBounds& other) const;
+
+ void expandToInclude(const SGBucket& bucket);
+ void expandToInclude(const double lon, const double lat);
+ void expandToInclude(const OrthophotoBounds& bounds);
+ };
+
+ class Orthophoto : public osg::Referenced {
+ private:
+ Texture2DRef _texture;
+ OrthophotoBounds _bbox;
+
+ public:
+ static OrthophotoRef fromBucket(const SGBucket& bucket, const PathList& scenery_paths);
+
+ Orthophoto(const Texture2DRef& texture, const OrthophotoBounds& bbox) { _texture = texture; _bbox = bbox; }
+ Orthophoto(const std::vector<OrthophotoRef>& orthophotos);
+
+ Texture2DRef getTexture() const { return _texture; };
+ OrthophotoBounds getBbox() const { return _bbox; };
+ };
+
+ class OrthophotoManager : public osg::Referenced {
+ private:
+ std::unordered_map<long, OrthophotoWeakRef> _orthophotos;
+ public:
+ static OrthophotoManager* instance();
+
+ void registerOrthophoto(const long bucket_idx, const OrthophotoRef& orthophoto);
+
+ /**
+ * Get an orthophoto by bucket index
+ **/
+ OrthophotoRef getOrthophoto(const long bucket_idx);
+
+ /**
+ * Get an orthophoto given a set of nodes.
+ * Used for airports, since they are not buckets.
+ **/
+ OrthophotoRef getOrthophoto(const std::vector<SGVec3d>& nodes, const SGVec3d& center);
+ };
+}
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.17/simgear-version new/simgear-2020.3.18/simgear-version
--- old/simgear-2020.3.17/simgear-version 2022-11-20 19:01:30.000000000 +0100
+++ new/simgear-2020.3.18/simgear-version 2023-03-14 08:49:42.000000000 +0100
@@ -1 +1 @@
-2020.3.17
+2020.3.18
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package FlightGear for openSUSE:Factory checked in at 2023-03-30 22:51:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/FlightGear (Old)
and /work/SRC/openSUSE:Factory/.FlightGear.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "FlightGear"
Thu Mar 30 22:51:42 2023 rev:24 rq:1075535 version:2020.3.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/FlightGear/FlightGear.changes 2022-11-24 12:24:30.821787285 +0100
+++ /work/SRC/openSUSE:Factory/.FlightGear.new.31432/FlightGear.changes 2023-03-30 22:51:45.276731350 +0200
@@ -1,0 +2,6 @@
+Wed Mar 29 10:28:29 UTC 2023 - Stefan Br��ns <stefan.bruens(a)rwth-aachen.de>
+
+- Update to 2020.3.18
+ * https://wiki.flightgear.org/Changelog_2020.3#2020.3.18
+
+-------------------------------------------------------------------
Old:
----
flightgear-2020.3.17.tar.bz2
New:
----
flightgear-2020.3.18.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ FlightGear.spec ++++++
--- /var/tmp/diff_new_pack.DTu1rL/_old 2023-03-30 22:51:46.064735568 +0200
+++ /var/tmp/diff_new_pack.DTu1rL/_new 2023-03-30 22:51:46.068735589 +0200
@@ -1,7 +1,7 @@
#
# spec file for package FlightGear
#
-# 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 main_version 2020.3
Name: FlightGear
-Version: %{main_version}.17
+Version: %{main_version}.18
Release: 0
Summary: Flight Simulator
License: GPL-2.0-only
++++++ flightgear-2020.3.17.tar.bz2 -> flightgear-2020.3.18.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/FlightGear/flightgear-2020.3.17.tar.bz2 /work/SRC/openSUSE:Factory/.FlightGear.new.31432/flightgear-2020.3.18.tar.bz2 differ: char 11, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package helmfile for openSUSE:Factory checked in at 2023-03-30 22:51:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/helmfile (Old)
and /work/SRC/openSUSE:Factory/.helmfile.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "helmfile"
Thu Mar 30 22:51:41 2023 rev:40 rq:1075533 version:0.152.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/helmfile/helmfile.changes 2023-02-20 17:47:28.807982876 +0100
+++ /work/SRC/openSUSE:Factory/.helmfile.new.31432/helmfile.changes 2023-03-30 22:51:42.752717843 +0200
@@ -1,0 +2,52 @@
+Thu Mar 30 10:07:21 UTC 2023 - Manfred Hollstein <manfred.h(a)gmx.net>
+
+- Update to version 0.152.0:
+ What's Changed:
+ * build(deps): bump golang.org/x/net from 0.5.0 to 0.7.0 by
+ @dependabot in #704
+ * optimize logger code by @yxxhero in #706
+ * Use Masterminds/semver/v3 instead of hashicorp/go-version by
+ @johejo in #712
+ * fix cobra issue by @yxxhero in #715
+ * issue with in process label will never be considered stale by
+ @yxxhero in #716
+ * fix: update file help message by @yxxhero in #714
+ * build(deps): bump github.com/stretchr/testify from 1.8.1 to
+ 1.8.2 by @dependabot in #717
+ * build(deps): bump k8s.io/apimachinery from 0.26.1 to 0.26.2 by
+ @dependabot in #720
+ * fix build-in objects docs by @yxxhero in #719
+ * fix get template func by @yxxhero in #721
+ * v1: Fix --state-values-set to override values of environments
+ colocated with releases by @yxxhero in #705
+ * build(deps): bump golang.org/x/term from 0.5.0 to 0.6.0 by
+ @dependabot in #728
+ * fix: improve set and values flags help message by @yxxhero in
+ #724
+ * build(deps): bump go.uber.org/multierr from 1.9.0 to 1.10.0 by
+ @dependabot in #731
+ * bump helm to 3.11.2 by @yxxhero in #733
+ * build(deps): bump github.com/helmfile/vals from 0.22.0 to
+ 0.23.0 by @dependabot in #735
+ * clean: helm v2 logic code by @yxxhero in #736
+ * clean: optimize postrenderer code by @yxxhero in #738
+ * fix concurrency issue by @yxxhero in #742
+ * build(deps): bump github.com/hashicorp/go-getter from 1.7.0 to
+ 1.7.1 by @dependabot in #745
+ * bump mergo to 0.3.14 by @yxxhero in #751
+ * chore(ci): use docker/metadata-action by @rmoreas in #756
+ * build(deps): bump k8s.io/apimachinery from 0.26.2 to 0.26.3 by
+ @dependabot in #758
+ * bump chartify to v0.14.0 by @yxxhero in #759
+ * feat: use new helm version parse function by @yxxhero in #760
+ * build(deps): bump github.com/imdario/mergo from 0.3.14 to 0.3.15
+ by @dependabot in #762
+ * chore(release): add latest tag only on release tags by @rmoreas
+ in #766
+ * fix: formatting of YAML samples in 1.0 proposal doc by @smlx in
+ #767
+ * feat: use offical goccy/go-yaml by @yxxhero in #769
+ * fix: goccy/go-yaml tests by @yxxhero in #770
+ * remove unnecessary remote.Locate() by @itscaro in #565
+
+-------------------------------------------------------------------
Old:
----
helmfile-0.151.0.tar.gz
New:
----
helmfile-0.152.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ helmfile.spec ++++++
--- /var/tmp/diff_new_pack.EHkrWy/_old 2023-03-30 22:51:44.584727647 +0200
+++ /var/tmp/diff_new_pack.EHkrWy/_new 2023-03-30 22:51:44.588727669 +0200
@@ -17,9 +17,9 @@
#
-%define git_commit f629ee1ae6540dcb1b3c9917bf3dbc81f96a07c0
+%define git_commit 5650661a882e73b0c4c6dff55e33bff8d7cae493
Name: helmfile
-Version: 0.151.0
+Version: 0.152.0
Release: 0
Summary: Deploy Kubernetes Helm Charts
License: MIT
@@ -28,6 +28,7 @@
Source: %{name}-%{version}.tar.gz
Source1: vendor.tar.gz
Requires: helm >= 3.11.1
+Recommends: helm >= 3.11.2
BuildRequires: golang-packaging
BuildRequires: xz
BuildRequires: golang(API) >= 1.19
++++++ _service ++++++
--- /var/tmp/diff_new_pack.EHkrWy/_old 2023-03-30 22:51:44.624727861 +0200
+++ /var/tmp/diff_new_pack.EHkrWy/_new 2023-03-30 22:51:44.628727883 +0200
@@ -5,7 +5,7 @@
<param name="exclude">.git</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
- <param name="revision">v0.151.0</param>
+ <param name="revision">v0.152.0</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.EHkrWy/_old 2023-03-30 22:51:44.648727990 +0200
+++ /var/tmp/diff_new_pack.EHkrWy/_new 2023-03-30 22:51:44.652728011 +0200
@@ -1,5 +1,5 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/helmfile/helmfile.git</param>
- <param name="changesrevision">f629ee1ae6540dcb1b3c9917bf3dbc81f96a07c0</param></service></servicedata>
+ <param name="changesrevision">5650661a882e73b0c4c6dff55e33bff8d7cae493</param></service></servicedata>
++++++ helmfile-0.151.0.tar.gz -> helmfile-0.152.0.tar.gz ++++++
++++ 2588 lines of diff (skipped)
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/helmfile/vendor.tar.gz /work/SRC/openSUSE:Factory/.helmfile.new.31432/vendor.tar.gz differ: char 5, line 1
1
0