pkgs/stdenv/linux: add powerpc64le bootstrap-files#168199
pkgs/stdenv/linux: add powerpc64le bootstrap-files#168199lovesegfault merged 1 commit intomasterfrom unknown repository
Conversation
Note that to use the bootstrap you also need this commit, which I have not yet submitted because I'm not totally clear on why it is necessary. |
|
Squashed. Holy cow, @SuperSandro2000 is extra-super today! |
This PR adds Hydra-generated bootstrap tarballs for powerpc64le-linux. I'll be following the script established in PR to tarballs.nixos.org. Files came from this Hydra build: https://hydra.nixos.org/build/172142499 Which used nixpkgs revision 49a8344 to instantiate: /nix/store/gj272sd56gsj6qpyzh4njpfzwdhviliz-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu.drv and then built: /nix/store/n81pljbd8m0xgypm84krc2bnvqgjrfxx-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu I downloaded these files from Hydra with the following commands: ``` STOREPATH=n81pljbd8m0xgypm84krc2bnvqgjrfxx-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu OPTIONS="--option binary-caches https://cache.nixos.org" nix store add-file \ --name bootstrap-tools.tar.xz \ $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/bootstrap-tools.tar.xz nix store add-path \ --name busybox \ $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/busybox ``` As @lovesegfault requested in #151399, here are the the `sha256sum`s of all the `on-server` components for extra verification: ``` $ sha256sum /nix/store/n81pljbd8m0xgypm84krc2bnvqgjrfxx-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu/on-server/* 036d062869f7accf0ad89714d12029469dfe6af504f9b226d61eb7d808ad4735 /nix/store/n81pljbd8m0xgypm84krc2bnvqgjrfxx-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz 6bc05832180f5075f4458c32eb0a5e2b673f605884dce01822be474f4e0a63ee /nix/store/n81pljbd8m0xgypm84krc2bnvqgjrfxx-stdenv-bootstrap-tools-powerpc64le-unknown-linux-gnu/on-server/busybox ``` Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
SuperSandro2000
left a comment
There was a problem hiding this comment.
@lovesegfault can you upload the tarballs?
I wonder what causes the eval failure without this? Extending the package-in-question's |
Apparently setting this wasn't necessary. I just tried the same command again without that environment variable and it evaluated correctly (I didn't wait for the build to finish though). Edit: ah, I needed it for my In general I in no particular hurry to remove the need for things like On the other hand, the kind of "support" that involves merging one-liners to add bootstrap hashes and or an extra line to a Rosetta Stone somewhere -- I think that adding that kind of "support" shouldn't be held to any higher standard than any other PR submitted to nixpkgs. |
|
Ping @lovesegfault Are there other people with the ability to upload to |
|
Hi, I'm the person responsible for that right now. It's a busy time in my life, I'll be doing this right now. |
|
@a-m-joseph Can you hop on Matrix and DM me? I need a bit of help to understand where these should go, since we already have some powerpc bootstrapping files. |
Believe it or not I've never used Matrix; I've been kinda procrastinating waiting for the IRC bridge to be enabled. I guess now would be a good time for me to learn Matrix, but that's probably not likely to happen in the next ten minutes...
There are both 32-bit and 64-bit variations of PowerPC. In addition, the chip can operate in either big-endian or little-endian mode. So we have: Some people use Debian's naming scheme, where the In any event, this PR contains the URL where it expects to find the tarball; is there a reason why you can't make the tarball appear at that specific URL? Thanks, |
|
@a-m-joseph Thanks for clarifying! The files are there: $ aws s3 ls s3://nixpkgs-tarballs/stdenv-linux/powerpc64le/49a83445c28c4ffb8a1a90a1f68e6150ea48893b/
2022-04-16 14:17:30 22964768 bootstrap-tools.tar.xz
2022-04-16 14:17:30 299176 busyboxI've verified that the hashes match the ones you've given me. You should be all set. Sorry for the wait :) |
Just for future reference, I have the power to add bootstrap tarballs, but I do not have the power to remove, move, or modify them once they are there. This is why I quadruple-check everything before uploading, since if I make a mistake, only two other people can undo it, and they are quite busy so that can take weeks to happen. IOW: I do not upload a bootstrap tarball unless I understand exactly:
|
Yeah, for a while I wondered why a manual process was needed in order to get stuff on Thank you so much for your help here, and for your careful guardianship of this duty! I'm verifying that everything works right now. Edit: verified, see next comment. |
|
Alright, using a fresh install of Debian bullseye on a powerpc64le Talos Raptor II, with no Note that #168983 is needed to build stdenv. That PR is still marked draft because I don't fully understand why it is necessary. I suspect that the unhardened binaries are not part of the final stdenv, but I have not verified this. @SuperSandro2000 @sternenseemann this PR is ready to merge. I'm working on |
This PR updates the bootstrap tarballs for riscv64-linux with new Hydra-generated ones. Fixes NixOS#275848 (bootstrap assembler too old to build gcc 13). I'll be following the script used in NixOS#151399, NixOS#168199, NixOS#183487, and NixOS#188334. Files came from [this](https://hydra.nixos.org/build/246376732#tabs-summary) Hydra build, which used nixpkgs revision 160cedc to instantiate: ``` /nix/store/cpiajh4l83b08pynwiwkpxj53d78pcxr-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu.drv ``` and then built: ``` /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu ``` I downloaded these files from Hydra and prefetched them into the nix store with the following commands: ``` STOREPATH=8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu OPTIONS="--option binary-caches https://cache.nixos.org --option trusted-public-keys cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" nix store prefetch-file \ file://$(nix store add-file --name bootstrap-tools.tar.xz $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/bootstrap-tools.tar.xz) nix store prefetch-file --executable \ file://$(nix store add-path --name busybox $(nix-store ${OPTIONS} -r /nix/store/${STOREPATH})/on-server/busybox) ``` These commands produced the following output: ``` Downloaded 'file:///nix/store/xs74wcxq3qc12plfc70fds8inbndhcfm-bootstrap-tools.tar.xz' to '/nix/store/3fal4gikp92013kac6rdmfbrch2s859b-xs74wcxq3qc12plfc70fds8inbndhcfm-bootstrap-tools.tar.xz' (hash 'sha256-0LxRd7fdafQezNJ+N2tuOfm0KEwgfRSts5fhP0e0r0s='). Downloaded 'file:///nix/store/9ndpna6jrlac4y9fappdjm0sxx0g2bja-busybox' to '/nix/store/kb7wyy30y1gxcmdajljr26kxxac606qa-9ndpna6jrlac4y9fappdjm0sxx0g2bja-busybox' (hash 'sha256-OGO96QUzs2n5pGipn/V87AxzUY9OWKZl417nE8HdZIE='). ``` I used the hashes from the output above to create the `fetchurl` invocation which is part of this commit. I then started the bootstrap with the following command: ``` nix build -L -f . --arg localSystem '(import ./lib).systems.examples.riscv64' hello ``` As @lovesegfault requested, here are the the `sha256sum`s of all the `on-server` components for extra verification: ``` sha256sum /nix/store/${STOREPATH}/on-server/* ``` which produced the following output: ``` d0bc5177b7dd69f41eccd27e376b6e39f9b4284c207d14adb397e13f47b4af4b /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/bootstrap-tools.tar.xz 65f9433abb598f63c932d33351b14f686551512b1cece1e64c2d0e76aa0ec52e /nix/store/8a92pj40awdw585mcb9dvm4nyb03k3q3-stdenv-bootstrap-tools-riscv64-unknown-linux-gnu/on-server/busybox ```
Description of changes
This PR adds Hydra-generated bootstrap tarballs for powerpc64le-linux. I'll be following the script established in #151399.
Files came from this Hydra build, which used nixpkgs revision 49a8344 to instantiate:
and then built:
I downloaded these files from Hydra with the following commands:
As @lovesegfault requested in #151399, here are the the
sha256sums of all theon-servercomponents for extra verification:Things done
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)