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 $curRelease = pop @curReleaseUrl;
|
||||
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;
|
||||
if ($d == 1) {
|
||||
warn("channel would go back in time from $curRelease to $releaseName, bailing out\n");
|
||||
|
|
Loading…
Reference in a new issue