Skip to content
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

stdenv: log hooks as they run (take II) #310387

Merged
merged 1 commit into from
Jun 19, 2024

Conversation

Qyriad
Copy link
Member

@Qyriad Qyriad commented May 9, 2024

Description of changes

A second take at #290081, which changes the stdenv builder to log setup and build hooks as they run, but which was reverted for the extra logging during the internals of nix-shell -p. This PR does the same logging, but to $NIX_LOG_FD instead, which is echoed during any normal build, but not during the internals of nix-shell -p.

cc @philiptaron @RaitoBezarius from the last PR

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@Qyriad
Copy link
Member Author

Qyriad commented May 11, 2024

Rebased on latest staging

@RaitoBezarius
Copy link
Member

I would recommend to wait for the next staging cycle as the current one is the last NixOS 24.05's one.

Copy link
Contributor

@philiptaron philiptaron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good to me. I'm currently building a representative sample of nixpkgs, and I see the hook logging.

pkgs/stdenv/generic/setup.sh Outdated Show resolved Hide resolved
pkgs/stdenv/generic/setup.sh Show resolved Hide resolved
pkgs/stdenv/generic/setup.sh Show resolved Hide resolved
pkgs/stdenv/generic/setup.sh Outdated Show resolved Hide resolved
@Qyriad Qyriad force-pushed the diag/log-hooks2 branch 2 times, most recently from c9dce8e to 9919521 Compare May 22, 2024 22:09
@Qyriad
Copy link
Member Author

Qyriad commented May 22, 2024

Now that the last staging cycle for 24.05 has been done, this PR should be ready

A second take at eb28e5e, which was reverted for the extra logging
during the internals of `nix-shell -p`. This commit does the same
logging, but to $NIX_LOG_FD instead, which is echoed during any normal
build, but not during the internals of `nix-shell -p`.

[1]: eb28e5e
@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label May 23, 2024
@wegank wegank added 12.approvals: 2 This PR was reviewed and approved by two reputable people and removed 12.approvals: 1 This PR was reviewed and approved by one reputable person labels Jun 2, 2024
Copy link
Contributor

@paparodeo paparodeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM tested with nix-shell on master
$ curl -L https://github.com/NixOS/nixpkgs/pull/310387.patch | git apply
$ cat test.sh
#!/usr/bin/env nix-shell
#! nix-shell -i bash --pure
#! nix-shell -p hello
hello
$ NIX_PATH=nixpkgs=`pwd` ./test.sh  | tee stdout.log
[...]
$ cat stdout.log
Hello, world!

@philiptaron philiptaron added 12.approvals: 3+ This PR was reviewed and approved by three or more reputable people and removed 12.approvals: 2 This PR was reviewed and approved by two reputable people labels Jun 11, 2024
@RaitoBezarius RaitoBezarius merged commit 193b2c7 into NixOS:staging Jun 19, 2024
28 checks passed
@philiptaron
Copy link
Contributor

Let's rumble! Thanks to everyone for getting this through and thanks to @Qyriad for authoring it. I really like how it helps make what's going on with hooks more understandable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: stdenv Standard environment 10.rebuild-darwin: 501+ 10.rebuild-darwin: 5001+ 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild 10.rebuild-linux: 501+ 10.rebuild-linux: 5001+ 10.rebuild-linux-stdenv This PR causes stdenv to rebuild 12.approvals: 3+ This PR was reviewed and approved by three or more reputable people
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants