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

Staging next with systemd privacy fix #107086

Merged
merged 194 commits into from Dec 23, 2020
Merged

Staging next with systemd privacy fix #107086

merged 194 commits into from Dec 23, 2020

Conversation

FRidh
Copy link
Member

@FRidh FRidh commented Dec 17, 2020

Motivation for this change

Includes channel blocking fixes for systemd. Let's hope it won't break anything else.

https://hydra.nixos.org/job/nixpkgs/staging-next/unstable#tabs-constituents

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

KAction and others added 30 commits October 20, 2020 00:00
Fixes NixOS/nix#2517

See also:
boostorg/context#72
boostorg/fiber#193

These issues have been resolved by:
boostorg/context#106
boostorg/context@d4608a4
which is merged into boost as of v1.71.0.

This feature was introduced (with the bug) in
boost v1.61 and was fixed in v1.71. So we apply
the patch to all versions in that range.
upstream decided to make this non-configurable... Lets' revert to the
version before.
The order of the entries in the manifest generated while installing
rustc depends on the (parallel) build, so let's sort it to make it
deterministic. Also remove install.log from the output.

Co-Authored-By: Jörg Thalheim <joerg@thalheim.io>
Backward incompatible changes:
- Support for Python 3.5 has been removed due to low usage and
  maintenance burden.
- The GCM and AESGCM now require 64-bit to 1024-bit (8 byte to 128 byte)
  initialization vectors. This change is to conform with an upcoming
  OpenSSL release that will no longer support sizes outside this window.
- When deserializing asymmetric keys we now raise ValueError rather than
  UnsupportedAlgorithm when an unsupported cipher is used. This change
  is to conform with an upcoming OpenSSL release that will no longer
  distinguish between error types.
- We no longer allow loading of finite field Diffie-Hellman parameters
  of less than 512 bits in length. This change is to conform with an
  upcoming OpenSSL release that no longer supports smaller sizes. These
  keys were already wildly insecure and should not have been used in any
  application outside of testing.
@FRidh
Copy link
Member Author

FRidh commented Dec 21, 2020

I think we should revert the cc wrapper and bintools changes instead. Everything else looked fine. Stdenv changes need to be tested better before being merged into staging.

@Emantor
Copy link
Member

Emantor commented Dec 21, 2020

I think we should revert the cc wrapper and bintools changes instead. Everything else looked fine. Stdenv changes need to be tested better before being merged into staging.

TBH, that would also be my preference, the fix for the dynamicLinker for darwin feels more like a hack to me.

@vcunat
Copy link
Member

vcunat commented Dec 21, 2020

Depends if that's the only cause for a large rebuild (or for risk of regressions). IIRC systemd by itself doesn't cause such a huge rebuild (in comparison to stdenv stuff).

@vcunat
Copy link
Member

vcunat commented Dec 21, 2020

Stdenv changes need to be tested better before being merged into staging.

32-bit cases are easy to miss (and considered rather minor generally) and darwin is hard to test for most people 🤷🏽

@flokli
Copy link
Contributor

flokli commented Dec 21, 2020

I think we should revert the cc wrapper and bintools changes instead. Everything else looked fine. Stdenv changes need to be tested better before being merged into staging.

I agree with @FRidh here. Let's revert the cc wrapper and bintools changes, run another hydra evaluation, and get channels unblocked.

The other changes can be re-introduced in a followup PR, and be more thoroughly tested.

This reverts commit 241c391, reversing
changes made to ab8c2b2.

These toolchain changes are too problematic, so reverting for now; see
#107086 (comment)
This reverts commit ccfd26e.

These toolchain changes are too problematic, so reverting for now; see
#107086 (comment)
…..."

This reverts commit 0f25eb3, reversing
changes made to df91ae1.

These toolchain changes are too problematic, so reverting for now; see
#107086 (comment)
@vcunat
Copy link
Member

vcunat commented Dec 21, 2020

Done.

$ ./maintainers/scripts/rebuild-amount.sh 583470209f9d5
  25938 x86_64-darwin
  30435 x86_64-linux

^^ this amount of darwin rebuilds will surely take several days, but perhaps we can afford to merge before that finishes.

@Atemu
Copy link
Member

Atemu commented Dec 22, 2020

I was going to ask why we'd need to wait for Darwin builds as the Darwin channel would just block for a few days until they're done which wouldn't be a huge issue but I just noticed that such channel does not exist.

Is there a specific reason why we don't have one for unstable? It'd sure be convenient for cases like these.

@vcunat
Copy link
Member

vcunat commented Dec 22, 2020

I'm not aware of any reason. I think I've already mentioned somewhere that it would be nice to remove this difference. There's nixpkgs-unstable channel.

@archseer
Copy link
Member

I think there should be a channel per architecture target, see #83049 for similar issues with aarch64

@FRidh
Copy link
Member Author

FRidh commented Dec 23, 2020

This is not the place to discuss what channels we should have.

@flokli
Copy link
Contributor

flokli commented Dec 23, 2020

@FRidh considering there's less than 500 queued jobs left for x86_64-linux, I assume this is good to merge (and we can trigger a NixOS eval afterwards?)

@flokli
Copy link
Contributor

flokli commented Dec 23, 2020

Okay, there's no more builds left for x86_64-linux. Let's merge this :-)

@flokli flokli merged commit e7659b6 into master Dec 23, 2020
@petrosagg
Copy link
Member

petrosagg commented Dec 23, 2020

Sorry if this is a basic question, I'm not fully familiar with the hydra pipeline. What's left for the nixos-unstable channel to get unblocked? Will it reuse the artifacts from this build run?

@flokli
Copy link
Contributor

flokli commented Dec 23, 2020

nixos-unstable runs builds from master - this was in staging-next.

I just triggered https://hydra.nixos.org/jobset/nixos/unstable-small and https://hydra.nixos.org/jobset/nixos/trunk-combined, which should update the corresponding channels (once succeeded).

@vcunat
Copy link
Member

vcunat commented Dec 23, 2020

All hydra jobsets populate cache.nixos.org, and same /nix/store hashes get reused.

@jonringer
Copy link
Contributor

unfortunately, nixos.tests.installer.simpleUefiSystemdBoot is failing https://hydra.nixos.org/build/133597924/nixlog/100.

I get the same failure locally.

@jakobrs
Copy link
Contributor

jakobrs commented Dec 23, 2020

#107275 is the PR that broke the test.

@Atemu
Copy link
Member

Atemu commented Dec 24, 2020

Eval complete: https://hydra.nixos.org/eval/1637149?filter=tested&compare=1637089&full=#tabs-now-succeed

Channel updated too! Thank you to everyone!

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