Merge pull request #322284 from rhendric/rhendric/genericUpdater-allowedVersions

common-updater-scripts: add allowedVersions parameter
This commit is contained in:
Ryan Hendrickson 2024-06-28 15:35:00 -04:00 committed by GitHub
commit c81ecdf95b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 22 additions and 13 deletions

View File

@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
installFlags = [ "PREFIX=${placeholder "out"}" ];
passthru.updateScript = gitUpdater {
ignoredVersions = "^([^1]|1[^.])"; # ignore anything other than 1.x
allowedVersions = "^1\\.";
url = src.gitRepoUrl;
};

View File

@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://git.efficios.com/babeltrace.git";
rev-prefix = "v";
# Versions 2.x are packaged independently as babeltrace2
ignoredVersions = "^[^1]";
allowedVersions = "^1\\.";
};
meta = {

View File

@ -6,6 +6,7 @@
{ pname ? null
, version ? null
, attrPath ? null
, allowedVersions ? ""
, ignoredVersions ? ""
, rev-prefix ? ""
, odd-unstable ? false
@ -15,6 +16,6 @@
}:
genericUpdater {
inherit pname version attrPath ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
inherit pname version attrPath allowedVersions ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
versionLister = "${common-updater-scripts}/bin/list-directory-versions ${lib.optionalString (url != null) "--url=${lib.escapeShellArg url}"} ${lib.optionalString (extraRegex != null) "--extra-regex=${lib.escapeShellArg extraRegex}"}";
}

View File

@ -13,6 +13,7 @@
, version ? null
, attrPath ? null
, versionLister
, allowedVersions ? ""
, ignoredVersions ? ""
, rev-prefix ? ""
, odd-unstable ? false
@ -37,10 +38,11 @@ let
version="$3"
attr_path="$4"
version_lister="$5"
ignored_versions="$6"
rev_prefix="$7"
odd_unstable="$8"
patchlevel_unstable="$9"
allowed_versions="$6"
ignored_versions="$7"
rev_prefix="$8"
odd_unstable="$9"
patchlevel_unstable="$${10}"
[[ -n "$name" ]] || name="$UPDATE_NIX_NAME"
[[ -n "$pname" ]] || pname="$UPDATE_NIX_PNAME"
@ -52,7 +54,7 @@ let
function version_is_ignored() {
local tag="$1"
[ -n "$ignored_versions" ] && ${grep} -E "$ignored_versions" <<< "$tag"
[ -n "$ignored_versions" ] && ${grep} -E -e "$ignored_versions" <<< "$tag"
}
function version_is_unstable() {
@ -86,6 +88,9 @@ let
tags=$(echo "$tags" | ${sed} -e "s,^$rev_prefix,,")
fi
tags=$(echo "$tags" | ${grep} "^[0-9]")
if [ -n "$allowed_versions" ]; then
tags=$(echo "$tags" | ${grep} -E -e "$allowed_versions")
fi
# sort the tags in decreasing order
tags=$(echo "$tags" | ${coreutils}/bin/sort --reverse --version-sort)
@ -127,7 +132,7 @@ let
in {
name = "generic-update-script";
command = [ updateScript name pname version attrPath versionLister ignoredVersions rev-prefix odd-unstable patchlevel-unstable ];
command = [ updateScript name pname version attrPath versionLister allowedVersions ignoredVersions rev-prefix odd-unstable patchlevel-unstable ];
supportedFeatures = [
# Stdout must contain output according to the updateScript commit protocol when the update script finishes with a non-zero exit code.
"commit"

View File

@ -6,6 +6,7 @@
{ pname ? null
, version ? null
, attrPath ? null
, allowedVersions ? ""
, ignoredVersions ? ""
, rev-prefix ? ""
, odd-unstable ? false
@ -16,6 +17,6 @@
}:
genericUpdater {
inherit pname version attrPath ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
inherit pname version attrPath allowedVersions ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
versionLister = "${common-updater-scripts}/bin/list-git-tags ${lib.optionalString (url != null) "--url=${url}"}";
}

View File

@ -6,6 +6,7 @@
{ pname ? null
, version ? null
, attrPath ? null
, allowedVersions ? ""
, ignoredVersions ? ""
, rev-prefix ? ""
, odd-unstable ? false
@ -14,6 +15,6 @@
}:
genericUpdater {
inherit pname version attrPath ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
inherit pname version attrPath allowedVersions ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
versionLister = "${common-updater-scripts}/bin/list-archive-two-levels-versions ${lib.optionalString (url != null) "--url=${lib.escapeShellArg url}"}";
}

View File

@ -130,7 +130,8 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru.updateScript = gitUpdater {
ignoredVersions = "^[^.]+$|.*-android$";
allowedVersions = "\\.";
ignoredVersions = "-android$";
};
meta = with lib; {

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater {
rev-prefix = "v";
ignoredVersions = "^[^.]+$"; # ignore versions without a dot
allowedVersions = "\\.";
};
meta = with lib; {