From 78cd0aba05e8ec5aab7fc7ad52d6da13e3a8cd2a Mon Sep 17 00:00:00 2001 From: Raboneko <119771935+raboneko@users.noreply.github.com> Date: Sat, 24 May 2025 05:45:40 -0700 Subject: [PATCH] feat(andax): helpers for parsing spec files (#4994) (#5024) * feat(andax): helpers for parsing spec files * Update spec.rhai --------- (cherry picked from commit 9768565ed69ba7d68de46f22dda7ad30d21fc06f) Signed-off-by: madomado Co-authored-by: madomado --- andax/spec.rhai | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 andax/spec.rhai diff --git a/andax/spec.rhai b/andax/spec.rhai new file mode 100644 index 0000000000..cada0cebcb --- /dev/null +++ b/andax/spec.rhai @@ -0,0 +1,20 @@ +fn get_version(rpm) { + return `(?m)^Version:\s*(.+)$`.find(rpm.f, 1); +} + +fn get_release(rpm) { + let r = `(?m)^Release:\s*(.+)$`.find(rpm.f, 1); + r = sub(`(?m)(%\??dist|%\{\??dist\})\s*$`, "", r); + r.replace("%autorelease", "1"); + return r; +} + +/// Only supports one-liner `%global`s! +fn get_global(rpm, macro) { + return `(?m)^%global\s+${macro}\s+(.+)$`.find(rpm.f, 1); +} + +/// Only supports one-liner `%define`s! +fn get_define(rpm, macro) { + return `(?m)^%define\s+${macro}\s+(.+)$`.find(rpm.f, 1); +}