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: change texinfo bootstrap handling; texinfo, bash: simplify expressions #39457

Merged
merged 3 commits into from Apr 27, 2018

Conversation

oxij
Copy link
Member

@oxij oxij commented Apr 25, 2018

Motivation for this change
  • stdenv change: see commit message.
  • others: simpler is better.
Things done
  • Writing this from a system with these patches applied.
  • Fits CONTRIBUTING.md.

@oxij
Copy link
Member Author

oxij commented Apr 25, 2018

/cc @Ericson2314

@matthewbauer
Copy link
Member

Looks okay to me. I assume 4.13a doesn't work with common.nix?

One concern I have with the "generic" style is that it's not always clear how to add stuff to them. For instance, what do we do when we want to add a known vulnerability or mark as broken a specific version of texinfo? I think overrideAttrs would probably work as well as adding an optional argument to common.nix but it's not exactly obvious how to do it. I had to do this with Mono recently and still not sure whether it was the right way to go about it:

https://github.com/NixOS/nixpkgs/pull/39344/files

Definitely not a reason not to merge this because it's used elsewhere - just a concern with this style.

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: bash, stdenv, texinfo

Partial log (click to expand)

shrinking /nix/store/95y4xlq412kmp5qrcn8ri7sm47cj88fl-findutils-4.6.0/libexec/code
shrinking /nix/store/95y4xlq412kmp5qrcn8ri7sm47cj88fl-findutils-4.6.0/libexec/bigram
gzipping man pages under /nix/store/95y4xlq412kmp5qrcn8ri7sm47cj88fl-findutils-4.6.0/share/man/
strip is /nix/store/d1prcspbh2qsviipvnaxizcj8l3g7fpw-bootstrap-tools/bin/strip
stripping (with command strip and flags -S) in /nix/store/95y4xlq412kmp5qrcn8ri7sm47cj88fl-findutils-4.6.0/libexec  /nix/store/95y4xlq412kmp5qrcn8ri7sm47cj88fl-findutils-4.6.0/bin
checking for references to /build in /nix/store/95y4xlq412kmp5qrcn8ri7sm47cj88fl-findutils-4.6.0...
shrinking RPATHs of ELF executables and libraries in /nix/store/0zxyp7s97nlhz5vlwkmx4qcn870bgy29-findutils-4.6.0-info
strip is /nix/store/d1prcspbh2qsviipvnaxizcj8l3g7fpw-bootstrap-tools/bin/strip
checking for references to /build in /nix/store/0zxyp7s97nlhz5vlwkmx4qcn870bgy29-findutils-4.6.0-info...
building '/nix/store/yqz1cs8amflddj2x44j9081ciq9vh5cs-stdenv-linux.drv'...

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: bash, stdenv, texinfo

Partial log (click to expand)

strip is /nix/store/gfgczbs0cy0blibb0acv39cayq7qbplg-bootstrap-tools/bin/strip
stripping (with command strip and flags -S) in /nix/store/7zcrxs3pcwi4495n0z1ka114s5b9xmpz-findutils-4.6.0/libexec  /nix/store/7zcrxs3pcwi4495n0z1ka114s5b9xmpz-findutils-4.6.0/bin
checking for references to /build in /nix/store/7zcrxs3pcwi4495n0z1ka114s5b9xmpz-findutils-4.6.0...
shrinking RPATHs of ELF executables and libraries in /nix/store/v9p9r8fh9dbpafb8k1yvn70ll3j92cf7-findutils-4.6.0-info
strip is /nix/store/gfgczbs0cy0blibb0acv39cayq7qbplg-bootstrap-tools/bin/strip
checking for references to /build in /nix/store/v9p9r8fh9dbpafb8k1yvn70ll3j92cf7-findutils-4.6.0-info...
building '/nix/store/rg8jxfhh61nbabgmn68drcfqg8jf0aa0-stdenv-linux.drv'...
/nix/store/9la4fzir4ciwrflh2j0klfg662xhw9bd-bash-4.4-p19
/nix/store/svg08syvxgla0x0j44ms7q6jr17jxwm3-stdenv-linux
/nix/store/3zn4qk8n3sskiqinp7q0vwz1x4s4h0ak-texinfo-6.5

@oxij
Copy link
Member Author

oxij commented Apr 25, 2018 via email

This makes stdenv bootstraping a bit more efficient.
We don't recompile most of other stuff used in bootstrapping stdenv too.
Also add me as a maintainer.
@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: bash, stdenv, texinfo

Partial log (click to expand)

cannot build derivation '/nix/store/9rxd4vadq9phracax87yr2fc1rqii4vk-gnutar-1.30.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/w0yv7xq6bwss4vxd30mblh4fixgyv9av-lzip-1.20.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/1n6dfh61v8v0x2p7hisfzdrvpm7ncc32-binutils-wrapper-2.30.drv': 4 dependencies couldn't be built
cannot build derivation '/nix/store/b9xgicjhkj81d69i4lmvxldc0z7r8xiw-diffutils-3.6.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/cnblzq5c9a37xxb16nyq06hx3splic3w-ed-1.14.2.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/6k0km0ki04pbbdap6f2753anlfharwca-findutils-4.6.0.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/73m8kwcy34cplxj9kdz025ymcndj07dw-gcc-wrapper-7.3.0.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/zl4x9fa11sfrr7ncs0bfsm68hjylmyj4-patch-2.7.6.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/rssddc8xsirpjfplk47dbnpfq350vl6d-stdenv-linux.drv': 26 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/f0v8bjw4cwr4mgqgx5j2ysfpdsb3y44l-texinfo-6.5.drv', '/nix/store/rssddc8xsirpjfplk47dbnpfq350vl6d-stdenv-linux.drv', '/nix/store/zlnk2cynwbvx4h4ql6mw1lw4biwx1p4v-bash-4.4-p19.drv' failed

@7c6f434c 7c6f434c self-assigned this Apr 25, 2018
@oxij
Copy link
Member Author

oxij commented Apr 26, 2018

The build on arch times out.

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: bash, stdenv, texinfo

Partial log (click to expand)

cannot build derivation '/nix/store/34g6vv5c3b3pxhygp6b3kjry24i19v1x-gnutar-1.30.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/pdgnl984y92aaxm46wyjk4jga5s21fa2-lzip-1.20.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/d489ld8w9c9zq2y9dvsk5dhlxml0hqyx-binutils-wrapper-2.30.drv': 4 dependencies couldn't be built
cannot build derivation '/nix/store/8cafkqbig756m94q9a9mp5n3v2m1fn5n-diffutils-3.6.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/15p639q67vfbpipbhscbp7q7vk44wyli-ed-1.14.2.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/bg5gfx7p87vx4y805sgi5l8hg5zvfidc-findutils-4.6.0.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/kc0q8391swsb09kglkgsvqcjv2c5q030-gcc-wrapper-7.3.0.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/bis5sw94b4ikh4fpwk0r3mzr75fnw3ly-patch-2.7.6.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/7n0md6dvgmq3105n2rz17k2kc18h8kj3-stdenv-linux.drv': 24 dependencies couldn't be built
error: build of '/nix/store/2v21i25lhz9xw7i0nxg7ch33fb0zhrkh-texinfo-6.5.drv', '/nix/store/7n0md6dvgmq3105n2rz17k2kc18h8kj3-stdenv-linux.drv', '/nix/store/klf44h39spflryb9d87dz4xi3d3hkn7y-bash-4.4-p19.drv' failed

@7c6f434c 7c6f434c merged commit ce929e6 into NixOS:staging Apr 27, 2018
aszlig added a commit that referenced this pull request Jun 1, 2018
While building the container there are a few occasions where stdenvNoCC
is used underneath. During the last staging merge, some change now tries
to build texinfo during the test while building stdenvNoCC.

With this change, I'm adding stdenvNoCC to the closure to make sure that
even when we have future stdenv changes, it doesn't break (well, except
if we do have another variation like stdenvNoCC that overrides stdenv).

I haven't bisected the exact change, but I'd suspect that it could be
one of the commits in #39457.

This fixes the test and it no longer fails with the following error:

error: unable to download 'http://ftpmirror.gnu.org/texinfo/texinfo-6.5.tar.xz': Couldn't resolve host name (6)
builder for '/nix/store/r7sf1wjbnimwgnv276jh59nfnzw40x30-texinfo-6.5.tar.xz.drv' failed with exit code 1
cannot build derivation '/nix/store/5w1pv788ayi1wahyy76i90yqv96ai4h5-texinfo-6.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/cnsfkf0j5xmm14zzm5a3a66pz66gbc82-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/11kkhk57ic8kfd7g197sqwgd0pzqfjhl-nixos-system-foo-0-18.09pre-git.drv': 1 dependencies couldn't be built
error: build of '/nix/store/11kkhk57ic8kfd7g197sqwgd0pzqfjhl-nixos-system-foo-0-18.09pre-git.drv' failed
/run/current-system/sw/bin/nixos-container: failed to build initial container configuration

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @aristidb, @edolstra, @chaoflow, @kampfschlaefer
@cleverca22
Copy link
Contributor

this results in the main pkgs.texinfo derivation depending on a perl that still links against the bootstrap-tools, causing the closure of every system to use an extra ~113mb

@oxij
Copy link
Member Author

oxij commented Aug 12, 2018 via email

@oxij
Copy link
Member Author

oxij commented Aug 12, 2018 via email

@oxij oxij deleted the stdenv/texinfo-bash branch September 8, 2018 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants