generic-updater: Allow filtering tags ending with suffix

Needed for ashpd-demo, which has tags ending with `-demo`: https://github.com/bilelmoussaoui/ashpd/releases

+2
pkgs/common-updater/directory-listing-updater.nix
···
allowedVersions ? "",
ignoredVersions ? "",
rev-prefix ? "",
+
rev-suffix ? "",
odd-unstable ? false,
patchlevel-unstable ? false,
url ? null,
···
allowedVersions
ignoredVersions
rev-prefix
+
rev-suffix
odd-unstable
patchlevel-unstable
;
+10 -2
pkgs/common-updater/generic-updater.nix
···
allowedVersions ? "",
ignoredVersions ? "",
rev-prefix ? "",
+
rev-suffix ? "",
odd-unstable ? false,
patchlevel-unstable ? false,
}:
···
allowed_versions="$6"
ignored_versions="$7"
rev_prefix="$8"
-
odd_unstable="$9"
-
patchlevel_unstable="''${10}"
+
rev_suffix="$9"
+
odd_unstable="''${10}"
+
patchlevel_unstable="''${11}"
[[ -n "$name" ]] || name="$UPDATE_NIX_NAME"
[[ -n "$pname" ]] || pname="$UPDATE_NIX_PNAME"
···
tags=$(echo "$tags" | ${grep} "^$rev_prefix")
tags=$(echo "$tags" | ${sed} -e "s,^$rev_prefix,,")
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]")
if [ -n "$allowed_versions" ]; then
tags=$(echo "$tags" | ${grep} -E -e "$allowed_versions")
···
allowedVersions
ignoredVersions
rev-prefix
+
rev-suffix
odd-unstable
patchlevel-unstable
];
+2
pkgs/common-updater/git-updater.nix
···
allowedVersions ? "",
ignoredVersions ? "",
rev-prefix ? "",
+
rev-suffix ? "",
odd-unstable ? false,
patchlevel-unstable ? false,
# an explicit url is needed when src.meta.homepage or src.url don't
···
allowedVersions
ignoredVersions
rev-prefix
+
rev-suffix
odd-unstable
patchlevel-unstable
;
+2
pkgs/common-updater/http-two-levels-updater.nix
···
allowedVersions ? "",
ignoredVersions ? "",
rev-prefix ? "",
+
rev-suffix ? "",
odd-unstable ? false,
patchlevel-unstable ? false,
url ? null,
···
allowedVersions
ignoredVersions
rev-prefix
+
rev-suffix
odd-unstable
patchlevel-unstable
;