| 20 Sep 2024 |
cleverca22 | <div class="page-header">500 Internal Server Error </div> <div class="alert alert-error">Caught exception in Hydra::View::NARInfo->process "Can't locate object method "readFile" via package "/etc/nix/keys/secret-key-file" (perhaps you forgot to load "/etc/nix/keys/secret-key-file"?) at /nix/store/78qww3jbcnvbhw6xpfn7mc0bpph8ngx4-hydra-0.1.20240920.cc1b6d3/libexec/hydra/lib/Hydra/View/NARInfo.pm line 39."</div>
John Ericson applied that patch and upgraded hydra to 1 commit ahead of that branch, now the narinfo endpoint is broken instead
| 08:00:40 |
cleverca22 | --- a/src/lib/Hydra/View/NARInfo.pm
+++ b/src/lib/Hydra/View/NARInfo.pm
@@ -36,7 +36,7 @@ sub process {
# Optionally, sign the NAR info file we just created.
my $secretKeyFile = $c->config->{binary_cache_secret_key_file};
if (defined $secretKeyFile) {
- my $secretKey = readFile $secretKeyFile;
+ my $secretKey = readFile($secretKeyFile);
my $fingerprint = fingerprintPath($storePath, $narHash, $narSize, $refs);
my $sig = signString($secretKey, $fingerprint);
$info .= "Sig: $sig\n";
| 08:51:37 |
cleverca22 | i noticed, the function call here, is missing some parens | 08:51:44 |
das_j | In reply to @cleverca22:matrix.org i noticed, the function call here, is missing some parens That's valid in Perl 🤡 | 09:01:20 |
cleverca22 | In reply to @janne.hess:helsinki-systems.de That's valid in Perl 🤡 is it still valid in the latest version? has something changed? what does the error mean exactly? why is it treating the secret key as a module? | 09:17:48 |
das_j | readFile is only in the c++ codebase | 09:49:04 |
das_j | for reading a file, you would use:
use File::Slurper qw(read_text);
# …
read_text($secretKeyFile);
| 09:50:00 |
das_j | * for reading a file in the perl codebase, you would use:
use File::Slurper qw(read_text);
# …
read_text($secretKeyFile);
| 09:50:09 |
das_j | * for reading a file in the perl codebase, you would use:
use File::Slurper qw(read_text);
# …
my $secretKey = read_text($secretKeyFile);
| 09:50:31 |
das_j | I assume something went wrong here: https://github.com/NixOS/hydra/commit/b94a7b6d5c56362af9ea85d944f8454d861ec001 | 09:52:18 |
das_j | But there is no reason to use the nix function rather than the perl way of life | 09:52:29 |
Mic92 | cleverca22: https://github.com/NixOS/hydra/pull/1413 | 09:53:13 |
cleverca22 | In reply to @joerg:thalheim.io cleverca22: https://github.com/NixOS/hydra/pull/1413 CI tests fail, still deploying on my end | 10:04:02 |
cleverca22 | ( STDERR ) job 69 Can't locate File/Slurp.pm in @INC (you may need to install the File::Slurp module) | 10:04:26 |
Mic92 | cleverca22: indeed John just imagined this function... It's also present in c++ | 10:05:30 |
Mic92 | in the nix code base | 10:05:33 |
cleverca22 | https://github.com/NixOS/nix/blob/master/src/perl/lib/Nix/Utils.pm#L7 | 10:10:45 |
cleverca22 | hmmm, readFile is part of Nix::Utils? | 10:11:09 |
cleverca22 | oh, and narinfo doesnt import that now!? | 10:11:20 |
cleverca22 | bingo, that got removed in a recent commit | 10:11:44 |
Mic92 | cleverca22: https://github.com/NixOS/hydra/pull/1413/files#diff-99bd8eee901b9b16f07b535be184e0d630739e79cb8678b8465e82ed54f2543aR42 | 10:14:28 |
cleverca22 | yeah, thats a more portable solution | 10:14:54 |
Mic92 | again relying on you for testing. Currently working on something else | 10:15:05 |
Mic92 | ok ci fails again. | 10:21:43 |
Mic92 | I might need to run this locally. | 10:21:48 |
Mic92 | ok. linter error | 10:23:25 |
Mic92 | My perl got very rusty.... I learned in the early 2000s | 10:25:14 |
Mic92 | cleverca22: so CI is green | 10:42:03 |
cleverca22 | Caught exception in Hydra::View::NARInfo->process "Undefined subroutine &Hydra::View::NARInfo::signString called at /nix/store/vrph94x32fi58pjr00z4inx1yb69ql8f-hydra-0.1.20240920.1a2d201/libexec/hydra/lib/Hydra/View/NARInfo.pm line 42." | 10:42:42 |
cleverca22 | when i fix the readFile a different way | 10:42:48 |