Skip to content

e2fsprogs: move scripts to separate output#431959

Merged
arianvp merged 1 commit intoNixOS:stagingfrom
nikstur:e2fsprogs-bashless
Aug 10, 2025
Merged

e2fsprogs: move scripts to separate output#431959
arianvp merged 1 commit intoNixOS:stagingfrom
nikstur:e2fsprogs-bashless

Conversation

@nikstur
Copy link
Contributor

@nikstur nikstur commented Aug 8, 2025

This enables us to use the bin and out output without pulling in bash.

  • Enable structuredAttrs
  • Enable strictDeps
  • Add bash to disallowedRequisites

Part of #428908

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

This enables us to use the bin and out output without pulling in bash.

- Enable structuredAttrs
- Enable strictDeps
- Add bash to disallowedRequisites
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. labels Aug 8, 2025
@nix-owners nix-owners bot requested a review from usertam August 8, 2025 09:20
@nikstur nikstur requested a review from K900 August 8, 2025 09:31
@arianvp arianvp merged commit e923af9 into NixOS:staging Aug 10, 2025
28 of 30 checks passed
@nikstur nikstur deleted the e2fsprogs-bashless branch August 10, 2025 17:53
@vcunat
Copy link
Member

vcunat commented Sep 3, 2025

This broke on aarch64-darwin. (and probably also x86_64-darwin)

error: output '/nix/store/48vv4bgqrgc5l3gffv0v87kqdczlzhd7-e2fsprogs-1.47.3-bin' is not allowed to refer to the following paths:
         /nix/store/k385hp16fsc8llfacr3phmmwnlfymdrz-bash-5.3p3

/cc staging-next where this is a blocker now: #438642

EDIT: preliminary look suggests that there is no direct dependency between those two paths, i.e. there's only a transitive one (and I don't know how to find it well).

@vcunat
Copy link
Member

vcunat commented Sep 3, 2025

Ah, here:

/nix/store/5mfndzkv95w41y8jpk0zw3jwnb81w5h6-e2fsprogs-1.47.3-bin
└───bin/badblocks: ….h.................../nix/store/cwdz2vy0kkc17aw2s1b3sw7wspy8rs7j-gettext-0.25.1/lib/libintl.8.dy…
    → /nix/store/cwdz2vy0kkc17aw2s1b3sw7wspy8rs7j-gettext-0.25.1
    └───bin/autopoint: …#!/nix/store/k385hp16fsc8llfacr3phmmwnlfymdrz-bash-5.3p3/bin/sh.#.# Copyright…
        → /nix/store/k385hp16fsc8llfacr3phmmwnlfymdrz-bash-5.3p3

Obtained by removing the check and then running nix why-depends --precise on the pair of paths.

@LordGrimmauld
Copy link
Contributor

I have a suspicion... libintl is provided by glibc on linux, while on darwin it is pulled from gettext. Probably the best fix is to just ignore the disallowed requisites on darwin until we have a better solution (likely adding a dedicated lib output for gettext)

vcunat added a commit that referenced this pull request Sep 4, 2025
And the problem is probably the same on other non-glibc platforms, too.
Hydra logs don't show these kind of errors, but here's a build:
https://hydra.nixos.org/build/306371286

/cc the PR that caused the issue: #431959
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants