From d997cfa5f31a81f7f8ffbea61e4e4e5b7b67f2ca Mon Sep 17 00:00:00 2001 From: madomado Date: Thu, 6 Feb 2025 13:35:20 +0800 Subject: [PATCH] feat(gnome-shell): update scripts (#3204) --- anda/desktops/gnome/gnome-shell/anda.hcl | 1 + .../gnome/gnome-shell/gnome-shell.spec | 4 +-- anda/desktops/gnome/gnome-shell/update.rhai | 25 +++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 anda/desktops/gnome/gnome-shell/update.rhai diff --git a/anda/desktops/gnome/gnome-shell/anda.hcl b/anda/desktops/gnome/gnome-shell/anda.hcl index 4777148e0c..2b9ead9f9e 100644 --- a/anda/desktops/gnome/gnome-shell/anda.hcl +++ b/anda/desktops/gnome/gnome-shell/anda.hcl @@ -4,5 +4,6 @@ project pkg { } labels { subrepo = "extras" + updbranch = 1 } } diff --git a/anda/desktops/gnome/gnome-shell/gnome-shell.spec b/anda/desktops/gnome/gnome-shell/gnome-shell.spec index 251574f925..452fa5094f 100644 --- a/anda/desktops/gnome/gnome-shell/gnome-shell.spec +++ b/anda/desktops/gnome/gnome-shell/gnome-shell.spec @@ -1,6 +1,6 @@ %global tarball_version %%(echo %{version} | tr '~' '.') %global major_version 47 -%global minor_version 1 +%global minor_version 3 %if 0%{?rhel} %global portal_helper 0 @@ -10,7 +10,7 @@ Name: gnome-shell Version: %{major_version}.%{minor_version} -Release: %autorelease.switcheroo +Release: 1%{?dist}.switcheroo Summary: Window management and application launching for GNOME License: GPL-2.0-or-later diff --git a/anda/desktops/gnome/gnome-shell/update.rhai b/anda/desktops/gnome/gnome-shell/update.rhai new file mode 100644 index 0000000000..684341be34 --- /dev/null +++ b/anda/desktops/gnome/gnome-shell/update.rhai @@ -0,0 +1,25 @@ +import "andax/bump_extras.rhai" as bump; + +let pkg = "gnome-shell"; +let branch = bump::as_bodhi_ver(labels.branch); + +let url = `https://bodhi.fedoraproject.org/updates/?search=${pkg}&status=stable&releases=${branch}&rows_per_page=10&page=1`; + +let done = false; + +for entry in get(url).json().updates { + for entry in entry.title.split(' ') { + let matches = find_all(`${pkg}-([\d.]+)-(\d+)\.[\w\d]+$`, entry); + if matches.len() == 0 { continue; } + let majminv = matches[0][1].split('.'); + if majminv.len() != 2 { + print(`gnome-shell: ${matches[0][1]} has invalid version?`); + terminate(); + } + rpm.global("major_version", majminv[0]); + rpm.global("minor_version", majminv[1]); + rpm.f = sub(`Release:(\s+)(.+?)\n`, "Release:${1}" + matches[0][2] + "%{?dist}.switcheroo\n", rpm.f); + done = true; + } + if done { break; } +}