[staging] fix pkgsMusl.stdenv#473403
Conversation
|
Might be nice to put the URLs you got the patches from somewhere. |
|
@NixOS/infra could somebody please upload the bootstrap files here to tarballs.nixos.org? (Drafting to prevent accidental merge before the bootstrap files are uploaded.) |
|
Just checking, but bootstrap for |
|
Good point. I think it does — I at least saw the build failures on aarch64. |
Mentioned in the internal team chat. We sadly lack documentation for the workflow. |
Where do you want this documentation to life? The aws commands are usually generated by the code in nixpkgs itself. |
|
Sounds OK to me to have it in nixpkgs, at a glance, with infra as codeowner for that file. It could be cross-linked from some places, e.g. from EDIT: ah, I didn't realize that the generated commits have lots of info already. |
|
Uploaded. |
9ced818 to
4787d67
Compare
|
Updated aarch64 bootstrap too |
4787d67 to
b7aa047
Compare
philiptaron
left a comment
There was a problem hiding this comment.
C patches and docs looks good to me.
|
That should be it. $ git pr 473403
[...]
$ ./maintainers/scripts/bootstrap-files/refresh-tarballs.bash --targets=aarch64-unknown-linux-musl
fetching path input 'path:/nix/store/nvbxpqz09a51djx10kwf0yfifhwq3lmx-source'
INFO: Fetching latest successful build from 'https://hydra.nixos.org/job/nixpkgs/trunk/stdenvBootstrapTools.aarch64-unknown-linux-musl.build/latest'
INFO: Fetching oldest eval details from 'https://hydra.nixos.org/eval/1820664' (can take a minute)
INFO: Fetching bootstrap tools to calculate hashes from '/nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools'
warning: you did not specify '--add-root'; the result might be removed by the garbage collector
/nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools
INFO: Writing 'pkgs/stdenv/linux/bootstrap-files/aarch64-unknown-linux-musl.nix'
path is '/nix/store/w847lcsnx0195zjn5nsx2l73zbgjpcpc-bootstrap-tools.tar.xz'
path is '/nix/store/4mdf6d3mrfp0wrdpsxz2vw09il3dv8am-busybox'
pkgs/stdenv/linux: update aarch64-unknown-linux-musl bootstrap-files
sha256sum of files to be uploaded:
$ sha256sum /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/*
9f0fcf155c18646f683ee4127fbeb4552c0acc728a640debf97a83afc1cbcad8 /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz
9924c4f1d2605d79716073d0a86a0ed8c1b31388724ffdf289f8198a476ca101 /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/busybox
Suggested commands to upload files to 'tarballs.nixos.org':
$ nix-store --realize /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools
$ aws s3 cp --recursive --acl public-read /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c
$ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c ./
$ sha256sum bootstrap-tools.tar.xz busybox
$ sha256sum /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/*
INFO: DRY RUN: git commit pkgs/stdenv/linux/bootstrap-files/aarch64-unknown-linux-musl.nix -F aarch64-unknown-linux-musl.commit_message
$ nix-store --realize /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools
warning: you did not specify '--add-root'; the result might be removed by the garbage collector
/nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools
$ sha256sum /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/*
9f0fcf155c18646f683ee4127fbeb4552c0acc728a640debf97a83afc1cbcad8 /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz
9924c4f1d2605d79716073d0a86a0ed8c1b31388724ffdf289f8198a476ca101 /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/busybox
$ aws s3 cp --recursive --acl public-read /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/ s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c
upload: ../../../../../../nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/busybox to s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c/busybox
upload: ../../../../../../nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz to s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c/bootstrap-tools.tar.xz
$ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c ./
download: s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c/busybox to ./busybox
download: s3://nixpkgs-tarballs/stdenv/aarch64-unknown-linux-musl/8c29968b3a942f2903f90797f9623737c215737c/bootstrap-tools.tar.xz to ./bootstrap-tools.tar.xz
$ sha256sum bootstrap-tools.tar.xz busybox
9f0fcf155c18646f683ee4127fbeb4552c0acc728a640debf97a83afc1cbcad8 bootstrap-tools.tar.xz
9924c4f1d2605d79716073d0a86a0ed8c1b31388724ffdf289f8198a476ca101 busybox
$ sha256sum /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/*
9f0fcf155c18646f683ee4127fbeb4552c0acc728a640debf97a83afc1cbcad8 /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/bootstrap-tools.tar.xz
9924c4f1d2605d79716073d0a86a0ed8c1b31388724ffdf289f8198a476ca101 /nix/store/c3qpy1mlcrqklpak5lkgdy0l0kbsndl1-stdenv-bootstrap-tools/on-server/busybo |
The patch for getopt.{c,h} was sent to the mailing list in March and did not
get any replies:
https://lists.gnu.org/archive/html/bug-make/2025-03/msg00032.html
I added the second patch fixing the same issue in lib/fnmatch.c.
This commit has musl-only patches as an exception, because the
staging-next cycle has already progressed too far to introduce new
mass-rebuild changes for non-musl.
These patches will be applied unconditionally starting from the next
staging cycle: NixOS#473403
b7aa047 to
866bc1e
Compare
The patch for getopt.{c,h} was sent to the mailing list in March and did not
get any replies:
https://lists.gnu.org/archive/html/bug-make/2025-03/msg00032.html
I added the second patch fixing the same issue in lib/fnmatch.c.
This commit has musl-only patches as an exception, because the
staging-next cycle has already progressed too far to introduce new
mass-rebuild changes for non-musl.
These patches will be applied unconditionally starting from the next
staging cycle: NixOS#473403
philiptaron
left a comment
There was a problem hiding this comment.
All the patches look sane to me. I'm looking to have one of the musl committers hit the merge button.
LordGrimmauld
left a comment
There was a problem hiding this comment.
I've been running this patch stack on my toy msul VM just fine, so at least x86_64-linux-musl should be good with this. There are still other musl breaks from the last staging cycle, but this gets a large chunk of what was broken.
The changes to the extern stubs are trivial, and hexa pushed the bootstrap files to cache already. I believe we are only waiting for the tiny doc change suggested in https://github.com/NixOS/nixpkgs/pull/473403/files#r2649808444 now?
645aa9a to
0b47275
Compare
We avoid conditional patch application where possible in Nixpkgs because it causes patches to get missed when doing package updates, and multiple conditional patches can end up conflicting with each other. The prototypes of |
This reverts commit 893e5e7. The change is re-introduced in the following commit without gating patches to musl.
The patch for getopt.{c,h} was sent to the mailing list in March and did not
get any replies:
https://lists.gnu.org/archive/html/bug-make/2025-03/msg00032.html
I added the second patch fixing the same issue in lib/fnmatch.c.
0b47275 to
dcee31c
Compare
|
See also https://lists.gnu.org/archive/html/which-bugs/2025-04/msg00003.html (for GNU which, not GNU make, but same issue), which @mdaniels5757 posted in #477577 . I'm out of ideas though on how to address it, since it doesn't work like the GNU maintainers intended anymore (but adding a special case for each libc is also not a real option). |
Looks like the comment I was talking about pre-dates getopt being part of the POSIX standard (which happened in 2001, per the manpage). Probably safe to ignore then: everyone's had plenty of time to conform.
|
Merging as this is actually only the cleanup making the patches unconditional... |
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Add a 👍 reaction to pull requests you find important.