From b832cab12c9d0fcfb40a8a0737eea3d398b4872f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 12 Sep 2025 21:02:51 +0200 Subject: [PATCH] Avoid shadowing internal run function by renaming it to runCommand see https://github.com/NixOS/hydra/issues/1520 --- src/lib/Hydra/Controller/Build.pm | 2 +- src/lib/Hydra/Helper/Nix.pm | 6 +++--- src/lib/Hydra/Plugin/DarcsInput.pm | 2 +- src/lib/Hydra/Plugin/GitInput.pm | 14 +++++++------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lib/Hydra/Controller/Build.pm b/src/lib/Hydra/Controller/Build.pm index ac31cc5b..ca9a22cf 100644 --- a/src/lib/Hydra/Controller/Build.pm +++ b/src/lib/Hydra/Controller/Build.pm @@ -212,7 +212,7 @@ sub checkPath { sub serveFile { my ($c, $path) = @_; - my $res = run(cmd => ["nix", "--experimental-features", "nix-command", + my $res = runCommand(cmd => ["nix", "--experimental-features", "nix-command", "ls-store", "--store", getStoreUri(), "--json", "$path"]); if ($res->{status}) { diff --git a/src/lib/Hydra/Helper/Nix.pm b/src/lib/Hydra/Helper/Nix.pm index b9354092..6eb0aa27 100644 --- a/src/lib/Hydra/Helper/Nix.pm +++ b/src/lib/Hydra/Helper/Nix.pm @@ -44,7 +44,7 @@ our @EXPORT = qw( readNixFile registerRoot restartBuilds - run + runCommand $MACHINE_LOCAL_STORE ); @@ -466,7 +466,7 @@ sub readIntoSocket{ -sub run { +sub runCommand { my (%args) = @_; my $res = { stdout => "", stderr => "" }; my $stdin = ""; @@ -506,7 +506,7 @@ sub run { sub grab { my (%args) = @_; - my $res = run(%args, grabStderr => 0); + my $res = runCommand(%args, grabStderr => 0); if ($res->{status}) { my $msgloc = "(in an indeterminate location)"; if (defined $args{dir}) { diff --git a/src/lib/Hydra/Plugin/DarcsInput.pm b/src/lib/Hydra/Plugin/DarcsInput.pm index bb8962a6..79e3d7bb 100644 --- a/src/lib/Hydra/Plugin/DarcsInput.pm +++ b/src/lib/Hydra/Plugin/DarcsInput.pm @@ -32,7 +32,7 @@ sub fetchInput { my $stdout = ""; my $stderr = ""; my $res; if (! -d $clonePath) { # Clone the repository. - $res = run(timeout => 600, + $res = runCommand(timeout => 600, cmd => ["darcs", "get", "--lazy", $uri, $clonePath], dir => $ENV{"TMPDIR"}); die "Error getting darcs repo at `$uri':\n$stderr" if $res->{status}; diff --git a/src/lib/Hydra/Plugin/GitInput.pm b/src/lib/Hydra/Plugin/GitInput.pm index 0de02128..dee6be57 100644 --- a/src/lib/Hydra/Plugin/GitInput.pm +++ b/src/lib/Hydra/Plugin/GitInput.pm @@ -137,8 +137,8 @@ sub fetchInput { my $res; if (! -d $clonePath) { # Clone everything and fetch the branch. - $res = run(cmd => ["git", "init", $clonePath]); - $res = run(cmd => ["git", "remote", "add", "origin", "--", $uri], dir => $clonePath) unless $res->{status}; + $res = runCommand(cmd => ["git", "init", $clonePath]); + $res = runCommand(cmd => ["git", "remote", "add", "origin", "--", $uri], dir => $clonePath) unless $res->{status}; die "error creating git repo in `$clonePath':\n$res->{stderr}" if $res->{status}; } @@ -146,9 +146,9 @@ sub fetchInput { # the remote branch for whatever the repository state is. This command mirrors # only one branch of the remote repository. my $localBranch = _isHash($branch) ? "_hydra_tmp" : $branch; - $res = run(cmd => ["git", "fetch", "-fu", "origin", "+$branch:$localBranch"], dir => $clonePath, + $res = runCommand(cmd => ["git", "fetch", "-fu", "origin", "+$branch:$localBranch"], dir => $clonePath, timeout => $cfg->{timeout}); - $res = run(cmd => ["git", "fetch", "-fu", "origin"], dir => $clonePath, timeout => $cfg->{timeout}) if $res->{status}; + $res = runCommand(cmd => ["git", "fetch", "-fu", "origin"], dir => $clonePath, timeout => $cfg->{timeout}) if $res->{status}; die "error fetching latest change from git repo at `$uri':\n$res->{stderr}" if $res->{status}; # If deepClone is defined, then we look at the content of the repository @@ -156,16 +156,16 @@ sub fetchInput { if (defined $deepClone) { # Is the target branch a topgit branch? - $res = run(cmd => ["git", "ls-tree", "-r", "$branch", ".topgit"], dir => $clonePath); + $res = runCommand(cmd => ["git", "ls-tree", "-r", "$branch", ".topgit"], dir => $clonePath); if ($res->{stdout} ne "") { # Checkout the branch to look at its content. - $res = run(cmd => ["git", "checkout", "--force", "$branch"], dir => $clonePath); + $res = runCommand(cmd => ["git", "checkout", "--force", "$branch"], dir => $clonePath); die "error checking out Git branch '$branch' at `$uri':\n$res->{stderr}" if $res->{status}; # This is a TopGit branch. Fetch all the topic branches so # that builders can run "tg patch" and similar. - $res = run(cmd => ["tg", "remote", "--populate", "origin"], dir => $clonePath, timeout => $cfg->{timeout}); + $res = runCommand(cmd => ["tg", "remote", "--populate", "origin"], dir => $clonePath, timeout => $cfg->{timeout}); print STDERR "warning: `tg remote --populate origin' failed:\n$res->{stderr}" if $res->{status}; } }