-
-
Notifications
You must be signed in to change notification settings - Fork 15k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bash_5 fails on hydra but succeeds locally #115177
Comments
This is a nondeterministic failure. I just saw it happen locally, but I reran the same build and it succeeded. I think I figured out why—note the following difference between the
The 4.4 patch applies cleanly with matched timestamps, so # comment out for distribution
$(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
cd $(srcdir) && autoconf |
If we're patching |
Well, I suspect it might complicate bootstrapping if we add those dependencies here. Note that the patch fixes both of the files equally, so it should be just a timestamp issue. 🤔 perhaps just swap the two parts inside each patch, so that |
Ouch, great find! |
It would be cool if we could tell |
When, after patching, `configure.ac` is newer than `configure`, the Makefile will try to regenerate `configure` from `configure.ac`. While that might usually be desirable, in this case we want to keep bootstrapping simple and directly use the `configure` from the package so we can avoid a dependency on automake. Previously, we used the `-T` parameter to automake to make sure the timestamps were okay. However, this is brittle when we update: when the timestamp of the original file changes, and no longer matches the timestamp of the original file in the patch, `patch` will show a warning but otherwise continue without updating the timestamp. This PR changes things so we only patch `configure`, so that will always have a newer timestamp. Refs NixOS#115177
When, after patching, `configure.ac` is newer than `configure`, the Makefile will try to regenerate `configure` from `configure.ac`. While that might usually be desirable, in this case we want to keep bootstrapping simple and directly use the `configure` from the package so we can avoid a dependency on automake. Previously, we used the `-T` parameter to automake to make sure the timestamps were okay. However, this is brittle when we update: when the timestamp of the original file changes, and no longer matches the timestamp of the original file in the patch, `patch` will show a warning but otherwise continue without updating the timestamp. This PR changes things so we only patch `configure`, so that will always have a newer timestamp. We will update bash-4.4 in a separate PR (but that one has a bigger rebuild impact so will have to target staging) Refs NixOS#115177
Fixes merged. |
Describe the bug
The most recent Hydra build of
bash_5
failed withHowever, running
nix-build -A bash_5
succeeds and produces the store path/nix/store/yqk7pzd398gxnd7ph6vbka7cm1hvb6ai-bash-5.1-p4
- exactly as listed on the Hydra page.Expected behavior
The results should agree.
Notify maintainers
The package is maintained by @peti @dtzWill but I suspect there's something deeper at play here.
Metadata
"x86_64-linux"
Linux 5.4.99, NixOS, 21.05pre272380.f6b5bfdb470 (Okapi)
yes
yes
nix-env (Nix) 2.3.10
"nixpkgs-21.05pre272380.f6b5bfdb470"
"nixos-21.05pre272380.f6b5bfdb470"
/home/kuba/.nix-defexpr/channels/nixpkgs
Maintainer information:
The text was updated successfully, but these errors were encountered: