forked from the-distro/channel-scripts
mirror-branch: Bails when failing to run nix-instantiate
A more durable solution would likely be to make a generic function that wraps backticks and fails when $? is non-zero, rather than doing it in-situ. There are other backtick uses that may be problematic
This commit is contained in:
parent
059ee08f5c
commit
cac10f5360
1 changed files with 8 additions and 0 deletions
|
@ -76,6 +76,14 @@ print STDERR "release is ‘$releaseName’ (build $releaseId), eval is $evalId,
|
||||||
my @curReleaseUrl = split(/\//, read_file("$channelsDir/$channelName", err_mode => 'quiet') // "");
|
my @curReleaseUrl = split(/\//, read_file("$channelsDir/$channelName", err_mode => 'quiet') // "");
|
||||||
my $curRelease = pop @curReleaseUrl;
|
my $curRelease = pop @curReleaseUrl;
|
||||||
my $d = `NIX_PATH= nix-instantiate --eval -E "builtins.compareVersions (builtins.parseDrvName \\"$curRelease\\").version (builtins.parseDrvName \\"$releaseName\\").version"`;
|
my $d = `NIX_PATH= nix-instantiate --eval -E "builtins.compareVersions (builtins.parseDrvName \\"$curRelease\\").version (builtins.parseDrvName \\"$releaseName\\").version"`;
|
||||||
|
if ($? == -1) {
|
||||||
|
warn("could not execute nix-instantiate ($!).\n");
|
||||||
|
exit 127;
|
||||||
|
}
|
||||||
|
if ($? > 0) {
|
||||||
|
warn("error while executing nix-instantiate ($?).\n");
|
||||||
|
exit $?;
|
||||||
|
}
|
||||||
chomp $d;
|
chomp $d;
|
||||||
if ($d == 1) {
|
if ($d == 1) {
|
||||||
warn("channel would go back in time from $curRelease to $releaseName, bailing out\n");
|
warn("channel would go back in time from $curRelease to $releaseName, bailing out\n");
|
||||||
|
|
Loading…
Reference in a new issue