From 72456b98bdca0ffb8655ffee6a4f360627f42863 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 3 Jun 2025 23:35:47 +0200 Subject: [PATCH 01/16] Rebuilt for Python 3.14 --- variety.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/variety.spec b/variety.spec index 2c078fe..13a263d 100644 --- a/variety.spec +++ b/variety.spec @@ -9,10 +9,10 @@ Name: variety %if 0%{?usesnapshot} Version: 0.8.6 -Release: 0.11%{?snapshottag}%{?dist} +Release: 0.12%{?snapshottag}%{?dist} %else Version: 0.8.13 -Release: 1%{?dist} +Release: 2%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers # Automatically converted from old format: GPLv3 - review is highly recommended. @@ -129,6 +129,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %changelog +* Tue Jun 03 2025 Python Maint - 0.8.13-2 +- Rebuilt for Python 3.14 + * Wed Feb 26 2025 Martin Gansser - 0.8.13-1 - Update to 0.8.13 From 3bdcfbe8a2bf9c6a15327d908029feaf14577d5d Mon Sep 17 00:00:00 2001 From: Martin Gansser Date: Mon, 14 Jul 2025 16:54:02 +0200 Subject: [PATCH 02/16] Updated to use %pyproject_* macros --- variety.spec | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/variety.spec b/variety.spec index 13a263d..49aa6b2 100644 --- a/variety.spec +++ b/variety.spec @@ -12,10 +12,9 @@ Version: 0.8.6 Release: 0.12%{?snapshottag}%{?dist} %else Version: 0.8.13 -Release: 2%{?dist} +Release: 3%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers -# Automatically converted from old format: GPLv3 - review is highly recommended. License: GPL-3.0-only URL: https://github.com/varietywalls/variety @@ -28,7 +27,6 @@ Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel -BuildRequires: python3-setuptools BuildRequires: python3-distutils-extra BuildRequires: python3-configobj BuildRequires: python3-lxml @@ -60,9 +58,7 @@ Requires: python3-pycurl Requires: python3-requests Requires: python3-httplib2 Requires: xorg-x11-fonts-Type1 -%if 0%{?fedora} >= 39 Requires: python3-zombie-imp -%endif %description @@ -91,21 +87,20 @@ desktop is always fresh and unique. %autosetup -p1 %endif - -%if 0%{?fedora} >= 33 # Replace deprecated getiterator() with iter() sed -i -e 's|getiterator|iter|' variety_lib/Builder.py -%endif # remove debian part rm -rf debian +%generate_buildrequires +%pyproject_buildrequires + %build -# Bytecompile Python modules -%py_byte_compile %{__python3} setup.py build +%pyproject_wheel %install -%{__python3} setup.py install --root=%{buildroot} +%pyproject_install %find_lang %{name} @@ -121,7 +116,7 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_metainfodir}/%{name}.appdata.xml %{_datadir}/%{name}/ %{python3_sitelib}/jumble/ -%{python3_sitelib}/%{name}-*-py*.egg-info +%{python3_sitelib}/%{name}-*.dist-info %{python3_sitelib}/%{name}/ %{python3_sitelib}/%{name}_lib/ %{_datadir}/icons/hicolor/22x22/apps/%{name}-indicator-dark.png @@ -129,6 +124,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %changelog +* Wed Jul 09 2025 Martin Gansser - 0.8.13-3 +- Updated to use %%pyproject_* macros + * Tue Jun 03 2025 Python Maint - 0.8.13-2 - Rebuilt for Python 3.14 From 4db48baed01018a61e02a7ad537a7dbd8dcb4bc0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:58:11 +0000 Subject: [PATCH 03/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- variety.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/variety.spec b/variety.spec index 49aa6b2..d8a2183 100644 --- a/variety.spec +++ b/variety.spec @@ -9,10 +9,10 @@ Name: variety %if 0%{?usesnapshot} Version: 0.8.6 -Release: 0.12%{?snapshottag}%{?dist} +Release: 0.13%{?snapshottag}%{?dist} %else Version: 0.8.13 -Release: 3%{?dist} +Release: 4%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -124,6 +124,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 0.8.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Wed Jul 09 2025 Martin Gansser - 0.8.13-3 - Updated to use %%pyproject_* macros From 51a357b76f6517ff411f533e35169a4adadc9f1f Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 15:21:52 +0200 Subject: [PATCH 04/16] Rebuilt for Python 3.14.0rc2 bytecode --- variety.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/variety.spec b/variety.spec index d8a2183..d3062f7 100644 --- a/variety.spec +++ b/variety.spec @@ -9,10 +9,10 @@ Name: variety %if 0%{?usesnapshot} Version: 0.8.6 -Release: 0.13%{?snapshottag}%{?dist} +Release: 0.14%{?snapshottag}%{?dist} %else Version: 0.8.13 -Release: 4%{?dist} +Release: 5%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -124,6 +124,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %changelog +* Fri Aug 15 2025 Python Maint - 0.8.13-5 +- Rebuilt for Python 3.14.0rc2 bytecode + * Fri Jul 25 2025 Fedora Release Engineering - 0.8.13-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 3c192d7a7524490765f878351057f9a4ac052fdb Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 15:01:56 +0200 Subject: [PATCH 05/16] Rebuilt for Python 3.14.0rc3 bytecode --- variety.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/variety.spec b/variety.spec index d3062f7..4914ffe 100644 --- a/variety.spec +++ b/variety.spec @@ -9,10 +9,10 @@ Name: variety %if 0%{?usesnapshot} Version: 0.8.6 -Release: 0.14%{?snapshottag}%{?dist} +Release: 0.15%{?snapshottag}%{?dist} %else Version: 0.8.13 -Release: 5%{?dist} +Release: 6%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -124,6 +124,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %changelog +* Fri Sep 19 2025 Python Maint - 0.8.13-6 +- Rebuilt for Python 3.14.0rc3 bytecode + * Fri Aug 15 2025 Python Maint - 0.8.13-5 - Rebuilt for Python 3.14.0rc2 bytecode From fa7734f32c79bf911925443ada6f65af6a094745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 9 Oct 2025 10:08:33 +0200 Subject: [PATCH 06/16] Ensure variety_lib.variety_build_settings is installed --- 796.patch | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ variety.spec | 14 +++++++++--- 2 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 796.patch diff --git a/796.patch b/796.patch new file mode 100644 index 0000000..5d44065 --- /dev/null +++ b/796.patch @@ -0,0 +1,60 @@ +From 325552174e51c56d98297c2a08ddb4d2c7092c58 Mon Sep 17 00:00:00 2001 +From: Martin Gansser +Date: Thu, 9 Oct 2025 10:00:56 +0200 +Subject: [PATCH] Fix wheel-based installations to include + variety_build_settings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes https://github.com/varietywalls/variety/issues/795 + +This could also move the cleanup to a custom cmdclass, +but it is not necessary. + +Co-Authored-By: Miro Hrončok +--- + setup.py | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/setup.py b/setup.py +index 3f486d9b..00fa31da 100644 +--- a/setup.py ++++ b/setup.py +@@ -20,6 +20,7 @@ + + import os + import sys ++from setuptools.command.build_py import build_py as _build_py + + from variety_lib.varietyconfig import get_version + +@@ -41,14 +42,15 @@ + BUILD_SETTINGS_PATH = "variety_lib/variety_build_settings.py" + + +-class InstallWithDataDirectory(DistUtilsExtra.auto.install_auto): ++ ++class BuildWithDataDirectory(_build_py): + def run(self): +- data_path = os.path.join(self.prefix, "share/variety/") ++ data_path = os.path.join(sys.prefix, "share/variety/") + with open(BUILD_SETTINGS_PATH, "w") as f: + f.write("### Autogenerated by setup.py - do not edit!\n") + f.write("__variety_data_directory__ = %r\n" % data_path) +- print("This build will look for Variety's data in %r." % data_path) +- DistUtilsExtra.auto.install_auto.run(self) ++ print(f"[build_py] This build will look for Variety's data in {data_path!r}.") ++ super().run() + + + DistUtilsExtra.auto.setup( +@@ -69,7 +71,7 @@ def run(self): + Variety also includes a range of image effects, such as oil painting and blur, + as well as options to layer quotes and a clock onto the background.""", + url="https://github.com/varietywalls/variety", +- cmdclass={"install": InstallWithDataDirectory}, ++ cmdclass={"build_py": BuildWithDataDirectory}, + data_files=[("share/metainfo", ["variety.appdata.xml"])], + ) + diff --git a/variety.spec b/variety.spec index 4914ffe..20f996c 100644 --- a/variety.spec +++ b/variety.spec @@ -9,10 +9,10 @@ Name: variety %if 0%{?usesnapshot} Version: 0.8.6 -Release: 0.15%{?snapshottag}%{?dist} +Release: 0.16%{?snapshottag}%{?dist} %else Version: 0.8.13 -Release: 6%{?dist} +Release: 7%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -24,6 +24,9 @@ Source0: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz %endif +# Fix wheel-based installations to include variety_build_settings +Patch: https://github.com/varietywalls/variety/pull/796.patch + BuildArch: noarch BuildRequires: python3-devel @@ -82,7 +85,7 @@ desktop is always fresh and unique. %prep %if 0%{?usesnapshot} -%setup -q -n %{name}-%{commit0} +%autosetup -p1 -n %{name}-%{commit0} %else %autosetup -p1 %endif @@ -107,6 +110,7 @@ rm -rf debian %check desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appdata.xml +%py3_check_import variety_lib.variety_build_settings %files -f %{name}.lang %doc README.md @@ -124,6 +128,10 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %changelog +* Thu Oct 09 2025 Miro Hrončok - 0.8.13-7 +- Fix a crash on startup for not being bale to find the data directory +- Fixes: rhbz#2401190 + * Fri Sep 19 2025 Python Maint - 0.8.13-6 - Rebuilt for Python 3.14.0rc3 bytecode From 2534b581e15343279de0372e72f75b0e440c7f7b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:47:28 +0000 Subject: [PATCH 07/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- variety.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/variety.spec b/variety.spec index 20f996c..7787b3c 100644 --- a/variety.spec +++ b/variety.spec @@ -9,10 +9,10 @@ Name: variety %if 0%{?usesnapshot} Version: 0.8.6 -Release: 0.16%{?snapshottag}%{?dist} +Release: 0.17%{?snapshottag}%{?dist} %else Version: 0.8.13 -Release: 7%{?dist} +Release: 8%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -128,6 +128,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %changelog +* Sat Jan 17 2026 Fedora Release Engineering - 0.8.13-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Thu Oct 09 2025 Miro Hrončok - 0.8.13-7 - Fix a crash on startup for not being bale to find the data directory - Fixes: rhbz#2401190 From 5abee29d92dfda74dc6a1780963fc11d1cf8f206 Mon Sep 17 00:00:00 2001 From: Martin Gansser Date: Tue, 3 Mar 2026 08:54:09 +0100 Subject: [PATCH 08/16] Update to 0.9.0-0.1.beta1 Add python3dist(setuptools-gettext) Fixed icon installation Fixed desktop validation Fixed setuptools discovery warnings --- .gitignore | 1 + sources | 2 +- variety.spec | 78 +++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 64 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 8f787ff..bcf9a98 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ /variety-0.8.11.tar.gz /variety-0.8.12.tar.gz /variety-0.8.13.tar.gz +/variety-0.9.0-b1.tar.gz diff --git a/sources b/sources index 2d806cc..7e1c37c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (variety-0.8.13.tar.gz) = 5f67186060a7226e8bed60217cb58adbf194d3473e654c1d30164d0a0800a043f9e8ee5f721c7d8d3b3f3377698df3c7a7a9d1e9ec4d0178edc87d1a2d6dfa8a +SHA512 (variety-0.9.0-b1.tar.gz) = 9dca4b8958d9c468f36595994a56152a5b7b6c95f5e4b9831cbdcf300b3fa3ee7c2093a25d623dfcabaad6ead8354e5b70ce3c9cdfe18e3ff3c1d956913932c3 diff --git a/variety.spec b/variety.spec index 7787b3c..c96b4a4 100644 --- a/variety.spec +++ b/variety.spec @@ -1,15 +1,17 @@ #For git snapshots, set to 0 to use release instead: -%global usesnapshot 0 +%global usesnapshot 1 %if 0%{?usesnapshot} %global commit0 8b8bb63a10fa22760eb976b1fd57338f3dba3233 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %global snapshottag .git%{shortcommit0} +%global upstream_tag 0.9.0-b1 %endif Name: variety %if 0%{?usesnapshot} -Version: 0.8.6 -Release: 0.17%{?snapshottag}%{?dist} +#Release: 0.17%%{?snapshottag}%%{?dist} +Version: 0.9.0 +Release: 0.1.beta1%{?dist} %else Version: 0.8.13 Release: 8%{?dist} @@ -19,18 +21,17 @@ License: GPL-3.0-only URL: https://github.com/varietywalls/variety %if 0%{?usesnapshot} -Source0: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz +#Source0: %%{url}/archive/%%{commit0}/%%{name}-%%{shortcommit0}.tar.gz +Source0: %{url}/archive/refs/tags/%{upstream_tag}.tar.gz#/%{name}-%{upstream_tag}.tar.gz %else Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz %endif -# Fix wheel-based installations to include variety_build_settings -Patch: https://github.com/varietywalls/variety/pull/796.patch - BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-distutils-extra +BuildRequires: python3dist(setuptools-gettext) BuildRequires: python3-configobj BuildRequires: python3-lxml BuildRequires: python3-gexiv2 @@ -85,16 +86,23 @@ desktop is always fresh and unique. %prep %if 0%{?usesnapshot} -%autosetup -p1 -n %{name}-%{commit0} +#%%autosetup -p1 -n %%{name}-%%{commit0} +%autosetup -p1 -n %{name}-%{upstream_tag} %else %autosetup -p1 %endif -# Replace deprecated getiterator() with iter() -sed -i -e 's|getiterator|iter|' variety_lib/Builder.py +# Fix setuptools package discovery warnings (Python 3.14) +sed -i 's/include = \["variety", "variety_lib"\]/include = ["variety*","variety_lib*"]/' pyproject.toml || : + +# Fix invalid gettext-style desktop keys (_Name/_Comment not allowed anymore) +sed -i \ + -e 's/^_Name=/Name=/' \ + -e 's/^_Comment=/Comment=/' \ + variety.desktop.in # remove debian part -rm -rf debian +#rm -rf debian %generate_buildrequires %pyproject_buildrequires @@ -104,13 +112,44 @@ rm -rf debian %install %pyproject_install +%pyproject_save_files variety variety_lib jumble + +# -------------------------------------------------------------------- +# Move media files from site-packages to /usr/share/variety/media +# -------------------------------------------------------------------- +install -d %{buildroot}%{_datadir}/%{name}/media + +cp -a %{buildroot}%{python3_sitelib}/variety/data/media/* \ + %{buildroot}%{_datadir}/%{name}/media/ + +# Remove duplicate media from Python directory +rm -rf %{buildroot}%{python3_sitelib}/variety/data/media + +# -------------------------------------------------------------------- +# Install application icons properly (hicolor theme) +# -------------------------------------------------------------------- +install -d %{buildroot}%{_datadir}/icons/hicolor/scalable/apps +install -d %{buildroot}%{_datadir}/icons/hicolor/128x128/apps + +install -m 0644 %{buildroot}%{_datadir}/%{name}/media/variety.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/variety.svg + +install -m 0644 %{buildroot}%{_datadir}/%{name}/media/variety128.png \ + %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/variety.png + +# Install desktop file +install -D -m 644 %{name}.desktop.in %{buildroot}%{_datadir}/applications/%{name}.desktop + +# Install man page (if exists) +if [ -f debian/%{name}.1 ]; then + install -D -m 644 debian/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 +fi %find_lang %{name} %check desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appdata.xml -%py3_check_import variety_lib.variety_build_settings %files -f %{name}.lang %doc README.md @@ -118,16 +157,23 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_metainfodir}/%{name}.appdata.xml -%{_datadir}/%{name}/ +%{_datadir}/%{name} +%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +%{_datadir}/icons/hicolor/128x128/apps/%{name}.png %{python3_sitelib}/jumble/ %{python3_sitelib}/%{name}-*.dist-info %{python3_sitelib}/%{name}/ %{python3_sitelib}/%{name}_lib/ -%{_datadir}/icons/hicolor/22x22/apps/%{name}-indicator-dark.png -%{_datadir}/icons/hicolor/22x22/apps/%{name}-indicator.png -%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +%{_mandir}/man1/%{name}.1* %changelog +* Mon Mar 02 2026 Martin Gansser - 0.9.0-0.1.beta1 +- Update to 0.9.0-0.1.beta1 +- Add python3dist(setuptools-gettext) +- Fixed icon installation +- Fixed desktop validation +- Fixed setuptools discovery warnings + * Sat Jan 17 2026 Fedora Release Engineering - 0.8.13-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From a85a486ecb65b372aed1354ebc326e3c8f3f0db4 Mon Sep 17 00:00:00 2001 From: Martin Gansser Date: Thu, 30 Apr 2026 06:24:04 +0000 Subject: [PATCH 09/16] add variety-GExiv2.patch fix (BZ#2463715) --- variety-GExiv2.patch | 32 ++++++++++++++++++++++++++++++++ variety.spec | 44 ++++++++++++++------------------------------ 2 files changed, 46 insertions(+), 30 deletions(-) create mode 100644 variety-GExiv2.patch diff --git a/variety-GExiv2.patch b/variety-GExiv2.patch new file mode 100644 index 0000000..f73a76d --- /dev/null +++ b/variety-GExiv2.patch @@ -0,0 +1,32 @@ +--- variety-0.9.0-b1/variety/Util.py.orig 2026-04-29 08:57:48.491047539 +0000 ++++ variety-0.9.0-b1/variety/Util.py 2026-04-29 08:58:44.648538839 +0000 +@@ -42,7 +42,17 @@ + + # fmt: off + import gi # isort:skip +-gi.require_version("GExiv2", "0.10") ++ ++# Try newer GExiv2 versions first, fall back to older ones ++for _ver in ("0.16", "0.14", "0.12", "0.10"): ++ try: ++ gi.require_version("GExiv2", _ver) ++ break ++ except ValueError: ++ continue ++else: ++ raise ImportError("No compatible GExiv2 version found") ++ + gi.require_version("PangoCairo", "1.0") + gi.require_version('Gdk', '3.0') + from gi.repository import Gdk, GdkPixbuf, GExiv2, Gio, GLib, Pango # isort:skip +--- variety-0.9.0-b1/variety/data/ui/AddWallhavenDialog.ui.orig 2026-04-29 09:47:29.483566226 +0000 ++++ variety-0.9.0-b1/variety/data/ui/AddWallhavenDialog.ui 2026-04-29 09:48:01.561838941 +0000 +@@ -9,7 +9,7 @@ + 5 + Variety - Add Wallhaven.cc source + 960 +- ../media/variety.svg ++ /usr/share/variety/media/variety.svg + normal + + diff --git a/variety.spec b/variety.spec index c96b4a4..6969b69 100644 --- a/variety.spec +++ b/variety.spec @@ -11,7 +11,7 @@ Name: variety %if 0%{?usesnapshot} #Release: 0.17%%{?snapshottag}%%{?dist} Version: 0.9.0 -Release: 0.1.beta1%{?dist} +Release: 0.2.beta1%{?dist} %else Version: 0.8.13 Release: 8%{?dist} @@ -27,11 +27,15 @@ Source0: %{url}/archive/refs/tags/%{upstream_tag}.tar.gz#/%{name}-%{upstr Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz %endif +# Fix wheel-based installations to include variety_build_settings +# Patch0: https://github.com/varietywalls/variety/pull/796.patch + +Patch1: variety-GExiv2.patch + BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-distutils-extra -BuildRequires: python3dist(setuptools-gettext) BuildRequires: python3-configobj BuildRequires: python3-lxml BuildRequires: python3-gexiv2 @@ -92,6 +96,9 @@ desktop is always fresh and unique. %autosetup -p1 %endif +# Replace deprecated getiterator() with iter() +sed -i -e 's|getiterator|iter|' variety_lib/Builder.py + # Fix setuptools package discovery warnings (Python 3.14) sed -i 's/include = \["variety", "variety_lib"\]/include = ["variety*","variety_lib*"]/' pyproject.toml || : @@ -102,7 +109,7 @@ sed -i \ variety.desktop.in # remove debian part -#rm -rf debian +# rm -rf debian %generate_buildrequires %pyproject_buildrequires @@ -112,30 +119,6 @@ sed -i \ %install %pyproject_install -%pyproject_save_files variety variety_lib jumble - -# -------------------------------------------------------------------- -# Move media files from site-packages to /usr/share/variety/media -# -------------------------------------------------------------------- -install -d %{buildroot}%{_datadir}/%{name}/media - -cp -a %{buildroot}%{python3_sitelib}/variety/data/media/* \ - %{buildroot}%{_datadir}/%{name}/media/ - -# Remove duplicate media from Python directory -rm -rf %{buildroot}%{python3_sitelib}/variety/data/media - -# -------------------------------------------------------------------- -# Install application icons properly (hicolor theme) -# -------------------------------------------------------------------- -install -d %{buildroot}%{_datadir}/icons/hicolor/scalable/apps -install -d %{buildroot}%{_datadir}/icons/hicolor/128x128/apps - -install -m 0644 %{buildroot}%{_datadir}/%{name}/media/variety.svg \ - %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/variety.svg - -install -m 0644 %{buildroot}%{_datadir}/%{name}/media/variety128.png \ - %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/variety.png # Install desktop file install -D -m 644 %{name}.desktop.in %{buildroot}%{_datadir}/applications/%{name}.desktop @@ -150,6 +133,7 @@ fi %check desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appdata.xml +#%%py3_check_import variety_lib.variety_build_settings %files -f %{name}.lang %doc README.md @@ -157,9 +141,6 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_metainfodir}/%{name}.appdata.xml -%{_datadir}/%{name} -%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg -%{_datadir}/icons/hicolor/128x128/apps/%{name}.png %{python3_sitelib}/jumble/ %{python3_sitelib}/%{name}-*.dist-info %{python3_sitelib}/%{name}/ @@ -167,6 +148,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_mandir}/man1/%{name}.1* %changelog +* Wed Apr 29 2026 Martin Gansser - 0.9.0-0.2.beta1 +- add variety-GExiv2.patch fix (BZ#2463715) + * Mon Mar 02 2026 Martin Gansser - 0.9.0-0.1.beta1 - Update to 0.9.0-0.1.beta1 - Add python3dist(setuptools-gettext) From 7d1541a79d0870297692eeea1ab856d8b09fc58e Mon Sep 17 00:00:00 2001 From: Martin Gansser Date: Thu, 7 May 2026 07:25:11 +0000 Subject: [PATCH 10/16] Update to 0.9.0-1 --- .gitignore | 1 + sources | 2 +- variety.spec | 42 +++++++++++++++++++++++++++--------------- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index bcf9a98..d4bfd08 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ /variety-0.8.12.tar.gz /variety-0.8.13.tar.gz /variety-0.9.0-b1.tar.gz +/variety-0.9.0.tar.gz diff --git a/sources b/sources index 7e1c37c..ddfc86e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (variety-0.9.0-b1.tar.gz) = 9dca4b8958d9c468f36595994a56152a5b7b6c95f5e4b9831cbdcf300b3fa3ee7c2093a25d623dfcabaad6ead8354e5b70ce3c9cdfe18e3ff3c1d956913932c3 +SHA512 (variety-0.9.0.tar.gz) = ccb76b7d5c378b1e38373e5072a669b065a08f573070b464ac6bf5e47fae048a31a58d0b4fd8647d0dcd9321935b91931605a2ee2c3b6629118450a0bf37d4ed diff --git a/variety.spec b/variety.spec index 6969b69..3ad0581 100644 --- a/variety.spec +++ b/variety.spec @@ -1,5 +1,5 @@ #For git snapshots, set to 0 to use release instead: -%global usesnapshot 1 +%global usesnapshot 0 %if 0%{?usesnapshot} %global commit0 8b8bb63a10fa22760eb976b1fd57338f3dba3233 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) @@ -13,8 +13,8 @@ Name: variety Version: 0.9.0 Release: 0.2.beta1%{?dist} %else -Version: 0.8.13 -Release: 8%{?dist} +Version: 0.9.0 +Release: 1%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -30,8 +30,6 @@ Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz # Fix wheel-based installations to include variety_build_settings # Patch0: https://github.com/varietywalls/variety/pull/796.patch -Patch1: variety-GExiv2.patch - BuildArch: noarch BuildRequires: python3-devel @@ -55,10 +53,8 @@ BuildRequires: python3-cairo Requires: python3-dbus Requires: hicolor-icon-theme Requires: ImageMagick -Requires: libappindicator-gtk3 Requires: python3-lxml Requires: python3-pillow -#Requires: python3-appindicator -- not available yet Requires: python3-beautifulsoup4 Requires: python3-configobj Requires: python3-gexiv2 @@ -93,7 +89,7 @@ desktop is always fresh and unique. #%%autosetup -p1 -n %%{name}-%%{commit0} %autosetup -p1 -n %{name}-%{upstream_tag} %else -%autosetup -p1 +%autosetup -p1 -n %{name}-%{version} %endif # Replace deprecated getiterator() with iter() @@ -102,11 +98,11 @@ sed -i -e 's|getiterator|iter|' variety_lib/Builder.py # Fix setuptools package discovery warnings (Python 3.14) sed -i 's/include = \["variety", "variety_lib"\]/include = ["variety*","variety_lib*"]/' pyproject.toml || : -# Fix invalid gettext-style desktop keys (_Name/_Comment not allowed anymore) -sed -i \ - -e 's/^_Name=/Name=/' \ - -e 's/^_Comment=/Comment=/' \ - variety.desktop.in +# use a simple SPDX license string +sed -i 's/license = { text = "GPL-3.0-only" }/license = "GPL-3.0-only"/' pyproject.toml + +# include variety.data in package +sed -i '/\[tool.setuptools-gettext\]/i [tool.setuptools]\npackages = { find = {} }\n' pyproject.toml # remove debian part # rm -rf debian @@ -120,14 +116,24 @@ sed -i \ %install %pyproject_install -# Install desktop file -install -D -m 644 %{name}.desktop.in %{buildroot}%{_datadir}/applications/%{name}.desktop +# Install desktop file, as this is not handled by setuptools automatically +install -D -m 644 %{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop + +# Install application icon +install -D -m 644 %{python3_sitelib}/variety/data/media/variety.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/variety.svg + +# optional png as well +install -D -m 644 %{python3_sitelib}/variety/data/media/variety128.png \ + %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/variety.png # Install man page (if exists) if [ -f debian/%{name}.1 ]; then install -D -m 644 debian/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 fi +rm -rf %{buildroot}%{python3_sitelib}/tests + %find_lang %{name} %check @@ -140,14 +146,20 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %license LICENSE %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop +%{_datadir}/icons/hicolor/scalable/apps/variety.svg +%{_datadir}/icons/hicolor/128x128/apps/variety.png %{_metainfodir}/%{name}.appdata.xml %{python3_sitelib}/jumble/ +#%%{python3_sitelib}/tests/ %{python3_sitelib}/%{name}-*.dist-info %{python3_sitelib}/%{name}/ %{python3_sitelib}/%{name}_lib/ %{_mandir}/man1/%{name}.1* %changelog +* Wed May 06 2026 Martin Gansser - 0.9.0-1 +- Update to 0.9.0-1 + * Wed Apr 29 2026 Martin Gansser - 0.9.0-0.2.beta1 - add variety-GExiv2.patch fix (BZ#2463715) From 7c948a52a30c8e41fd36edf6f07270fe3e4a47bd Mon Sep 17 00:00:00 2001 From: Martin Gansser Date: Thu, 7 May 2026 07:41:07 +0000 Subject: [PATCH 11/16] Update to 0.9.0-1 --- variety.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/variety.spec b/variety.spec index 3ad0581..dcfa994 100644 --- a/variety.spec +++ b/variety.spec @@ -117,14 +117,15 @@ sed -i '/\[tool.setuptools-gettext\]/i [tool.setuptools]\npackages = { find = {} %pyproject_install # Install desktop file, as this is not handled by setuptools automatically -install -D -m 644 %{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop +install -D -m 644 %{name}.desktop \ + %{buildroot}%{_datadir}/applications/%{name}.desktop # Install application icon -install -D -m 644 %{python3_sitelib}/variety/data/media/variety.svg \ +install -D -m 644 variety/data/media/variety.svg \ %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/variety.svg # optional png as well -install -D -m 644 %{python3_sitelib}/variety/data/media/variety128.png \ +install -D -m 644 variety/data/media/variety128.png \ %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/variety.png # Install man page (if exists) From f92195d2c8d6884ea69d5a0d46c09214c87c0376 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Thu, 4 Jun 2026 21:23:28 +0200 Subject: [PATCH 12/16] Rebuilt for Python 3.15 --- variety.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/variety.spec b/variety.spec index dcfa994..1b9e872 100644 --- a/variety.spec +++ b/variety.spec @@ -11,10 +11,10 @@ Name: variety %if 0%{?usesnapshot} #Release: 0.17%%{?snapshottag}%%{?dist} Version: 0.9.0 -Release: 0.2.beta1%{?dist} +Release: 0.3.beta1%{?dist} %else Version: 0.9.0 -Release: 1%{?dist} +Release: 2%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -158,6 +158,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_mandir}/man1/%{name}.1* %changelog +* Thu Jun 04 2026 Python Maint - 0.9.0-2 +- Rebuilt for Python 3.15 + * Wed May 06 2026 Martin Gansser - 0.9.0-1 - Update to 0.9.0-1 From 7a9f7779b0fcbb5b625438101ff51652d24c860e Mon Sep 17 00:00:00 2001 From: Martin Gansser Date: Mon, 8 Jun 2026 08:48:54 +0200 Subject: [PATCH 13/16] Rebuilt for Python 3.15 --- Add_Dark_Wallpaper_Support_for_Gnome42.patch | 10 ------ variety-GExiv2.patch | 32 -------------------- variety.spec | 1 + 3 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 Add_Dark_Wallpaper_Support_for_Gnome42.patch delete mode 100644 variety-GExiv2.patch diff --git a/Add_Dark_Wallpaper_Support_for_Gnome42.patch b/Add_Dark_Wallpaper_Support_for_Gnome42.patch deleted file mode 100644 index 696324c..0000000 --- a/Add_Dark_Wallpaper_Support_for_Gnome42.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- variety-0.8.5/data/scripts/set_wallpaper.orig 2022-03-26 16:35:24.387777235 +0100 -+++ variety-0.8.5/data/scripts/set_wallpaper 2022-03-26 16:36:32.911009155 +0100 -@@ -173,6 +173,7 @@ - - # GNOME Screensaver / Lock screen - thanks to George C. de Araujo for the patch - gsettings set org.gnome.desktop.screensaver picture-uri "file://$WP" 2> /dev/null -+gsettings set org.gnome.desktop.background picture-uri-dark "file://$WP" 2> /dev/null - if [ "$(gsettings get org.gnome.desktop.screensaver picture-options)" == "'none'" ]; then - gsettings set org.gnome.desktop.screensaver picture-options 'zoom' - fi diff --git a/variety-GExiv2.patch b/variety-GExiv2.patch deleted file mode 100644 index f73a76d..0000000 --- a/variety-GExiv2.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- variety-0.9.0-b1/variety/Util.py.orig 2026-04-29 08:57:48.491047539 +0000 -+++ variety-0.9.0-b1/variety/Util.py 2026-04-29 08:58:44.648538839 +0000 -@@ -42,7 +42,17 @@ - - # fmt: off - import gi # isort:skip --gi.require_version("GExiv2", "0.10") -+ -+# Try newer GExiv2 versions first, fall back to older ones -+for _ver in ("0.16", "0.14", "0.12", "0.10"): -+ try: -+ gi.require_version("GExiv2", _ver) -+ break -+ except ValueError: -+ continue -+else: -+ raise ImportError("No compatible GExiv2 version found") -+ - gi.require_version("PangoCairo", "1.0") - gi.require_version('Gdk', '3.0') - from gi.repository import Gdk, GdkPixbuf, GExiv2, Gio, GLib, Pango # isort:skip ---- variety-0.9.0-b1/variety/data/ui/AddWallhavenDialog.ui.orig 2026-04-29 09:47:29.483566226 +0000 -+++ variety-0.9.0-b1/variety/data/ui/AddWallhavenDialog.ui 2026-04-29 09:48:01.561838941 +0000 -@@ -9,7 +9,7 @@ - 5 - Variety - Add Wallhaven.cc source - 960 -- ../media/variety.svg -+ /usr/share/variety/media/variety.svg - normal - - diff --git a/variety.spec b/variety.spec index 1b9e872..c610a30 100644 --- a/variety.spec +++ b/variety.spec @@ -134,6 +134,7 @@ if [ -f debian/%{name}.1 ]; then fi rm -rf %{buildroot}%{python3_sitelib}/tests +rm -rf %{buildroot}%{python3_sitelib}/po %find_lang %{name} From 2062e4d03c57e747adfb1dc6a22bb31cf50e30e8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:22:16 +0000 Subject: [PATCH 14/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- variety.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/variety.spec b/variety.spec index c610a30..1d9629c 100644 --- a/variety.spec +++ b/variety.spec @@ -11,10 +11,10 @@ Name: variety %if 0%{?usesnapshot} #Release: 0.17%%{?snapshottag}%%{?dist} Version: 0.9.0 -Release: 0.3.beta1%{?dist} +Release: 0.4.beta1%{?dist} %else Version: 0.9.0 -Release: 2%{?dist} +Release: 3%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -159,6 +159,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_mandir}/man1/%{name}.1* %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 0.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Thu Jun 04 2026 Python Maint - 0.9.0-2 - Rebuilt for Python 3.15 From 526d07df1426342f2670f3b11d5fe1e1b60206af Mon Sep 17 00:00:00 2001 From: Martin Gansser Date: Tue, 1 Sep 2026 09:54:52 +0200 Subject: [PATCH 15/16] Update to 0.9.1-1 --- .gitignore | 1 + sources | 2 +- variety.spec | 10 +++++----- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index d4bfd08..0b994e2 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ /variety-0.8.13.tar.gz /variety-0.9.0-b1.tar.gz /variety-0.9.0.tar.gz +/variety-0.9.1.tar.gz diff --git a/sources b/sources index ddfc86e..5070a1a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (variety-0.9.0.tar.gz) = ccb76b7d5c378b1e38373e5072a669b065a08f573070b464ac6bf5e47fae048a31a58d0b4fd8647d0dcd9321935b91931605a2ee2c3b6629118450a0bf37d4ed +SHA512 (variety-0.9.1.tar.gz) = ea07bb82d2398f3602459439dcdb0f27b26c18d5771f21c3d2e24547aa2f0a4abbde7098d1b204bd013084a47877eaad2e6a668acfb48c34a6703b3efe467b26 diff --git a/variety.spec b/variety.spec index 1d9629c..696c58d 100644 --- a/variety.spec +++ b/variety.spec @@ -11,10 +11,10 @@ Name: variety %if 0%{?usesnapshot} #Release: 0.17%%{?snapshottag}%%{?dist} Version: 0.9.0 -Release: 0.4.beta1%{?dist} +Release: 0.3.beta1%{?dist} %else -Version: 0.9.0 -Release: 3%{?dist} +Version: 0.9.1 +Release: 1%{?dist} %endif Summary: Wallpaper changer that automatically downloads wallpapers License: GPL-3.0-only @@ -159,8 +159,8 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_mandir}/man1/%{name}.1* %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 0.9.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild +* Tue Sep 01 2026 Martin Gansser - 0.9.1-1 +- Update to 0.9.1-1 * Thu Jun 04 2026 Python Maint - 0.9.0-2 - Rebuilt for Python 3.15 From 95b8a8c61dda51c49b5c754544aabf9f2331c3c5 Mon Sep 17 00:00:00 2001 From: Martin Gansser Date: Tue, 1 Sep 2026 09:55:45 +0200 Subject: [PATCH 16/16] Update to 0.9.1-1 --- variety.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/variety.spec b/variety.spec index 696c58d..88a1977 100644 --- a/variety.spec +++ b/variety.spec @@ -162,6 +162,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda * Tue Sep 01 2026 Martin Gansser - 0.9.1-1 - Update to 0.9.1-1 +* Fri Jul 17 2026 Fedora Release Engineering - 0.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Thu Jun 04 2026 Python Maint - 0.9.0-2 - Rebuilt for Python 3.15