generic-updater: Allow filtering tags ending with suffix

Needed for ashpd-demo, which has tags ending with `-demo`: https://github.com/bilelmoussaoui/ashpd/releases
This commit is contained in:
Jan Tojnar 2025-05-01 07:17:27 +02:00
parent 2e2cab7847
commit 9133c5d1e4
4 changed files with 16 additions and 2 deletions

View file

@ -11,6 +11,7 @@
allowedVersions ? "", allowedVersions ? "",
ignoredVersions ? "", ignoredVersions ? "",
rev-prefix ? "", rev-prefix ? "",
rev-suffix ? "",
odd-unstable ? false, odd-unstable ? false,
patchlevel-unstable ? false, patchlevel-unstable ? false,
url ? null, url ? null,
@ -25,6 +26,7 @@ genericUpdater {
allowedVersions allowedVersions
ignoredVersions ignoredVersions
rev-prefix rev-prefix
rev-suffix
odd-unstable odd-unstable
patchlevel-unstable patchlevel-unstable
; ;

View file

@ -18,6 +18,7 @@
allowedVersions ? "", allowedVersions ? "",
ignoredVersions ? "", ignoredVersions ? "",
rev-prefix ? "", rev-prefix ? "",
rev-suffix ? "",
odd-unstable ? false, odd-unstable ? false,
patchlevel-unstable ? false, patchlevel-unstable ? false,
}: }:
@ -43,8 +44,9 @@ let
allowed_versions="$6" allowed_versions="$6"
ignored_versions="$7" ignored_versions="$7"
rev_prefix="$8" rev_prefix="$8"
odd_unstable="$9" rev_suffix="$9"
patchlevel_unstable="''${10}" odd_unstable="''${10}"
patchlevel_unstable="''${11}"
[[ -n "$name" ]] || name="$UPDATE_NIX_NAME" [[ -n "$name" ]] || name="$UPDATE_NIX_NAME"
[[ -n "$pname" ]] || pname="$UPDATE_NIX_PNAME" [[ -n "$pname" ]] || pname="$UPDATE_NIX_PNAME"
@ -89,6 +91,11 @@ let
tags=$(echo "$tags" | ${grep} "^$rev_prefix") tags=$(echo "$tags" | ${grep} "^$rev_prefix")
tags=$(echo "$tags" | ${sed} -e "s,^$rev_prefix,,") tags=$(echo "$tags" | ${sed} -e "s,^$rev_prefix,,")
fi fi
# cut any revision suffix not used in the NixOS package version
if [ -n "$rev_suffix" ]; then
tags=$(echo "$tags" | ${grep} -- "$rev_suffix$")
tags=$(echo "$tags" | ${sed} -e "s,$rev_suffix\$,,")
fi
tags=$(echo "$tags" | ${grep} "^[0-9]") tags=$(echo "$tags" | ${grep} "^[0-9]")
if [ -n "$allowed_versions" ]; then if [ -n "$allowed_versions" ]; then
tags=$(echo "$tags" | ${grep} -E -e "$allowed_versions") tags=$(echo "$tags" | ${grep} -E -e "$allowed_versions")
@ -145,6 +152,7 @@ in
allowedVersions allowedVersions
ignoredVersions ignoredVersions
rev-prefix rev-prefix
rev-suffix
odd-unstable odd-unstable
patchlevel-unstable patchlevel-unstable
]; ];

View file

@ -11,6 +11,7 @@
allowedVersions ? "", allowedVersions ? "",
ignoredVersions ? "", ignoredVersions ? "",
rev-prefix ? "", rev-prefix ? "",
rev-suffix ? "",
odd-unstable ? false, odd-unstable ? false,
patchlevel-unstable ? false, patchlevel-unstable ? false,
# an explicit url is needed when src.meta.homepage or src.url don't # an explicit url is needed when src.meta.homepage or src.url don't
@ -26,6 +27,7 @@ genericUpdater {
allowedVersions allowedVersions
ignoredVersions ignoredVersions
rev-prefix rev-prefix
rev-suffix
odd-unstable odd-unstable
patchlevel-unstable patchlevel-unstable
; ;

View file

@ -11,6 +11,7 @@
allowedVersions ? "", allowedVersions ? "",
ignoredVersions ? "", ignoredVersions ? "",
rev-prefix ? "", rev-prefix ? "",
rev-suffix ? "",
odd-unstable ? false, odd-unstable ? false,
patchlevel-unstable ? false, patchlevel-unstable ? false,
url ? null, url ? null,
@ -24,6 +25,7 @@ genericUpdater {
allowedVersions allowedVersions
ignoredVersions ignoredVersions
rev-prefix rev-prefix
rev-suffix
odd-unstable odd-unstable
patchlevel-unstable patchlevel-unstable
; ;