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

Merge master into staging-next #108956

Closed
wants to merge 85 commits into from
Closed

Conversation

Mic92
Copy link
Member

@Mic92 Mic92 commented Jan 10, 2021

Motivation for this change

#105153 (comment)

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.

alerque and others added 30 commits November 30, 2020 12:39
By default, Perl versions since 5.8.1 use randomization to make hashes
resistant to complexity attacks.

That randomization makes building VM images such as ubuntu1804x86_64
non-deterministic because the (imported) derivations built by
deb/deb-closure.pl are not stable.

This can easily be observed by repeating the following sequence of
commands and noting the path of the image's .drv:

    nix-instantiate -E '(import <nixpkgs> {}).vmTools.diskImageFuns.ubuntu1804x86_64 {}'
    nix-store --delete /nix/store/*ubuntu-18.04-bionic-amd64.nix

One source of non-determinism is the handling of Provides/Replaces,
which depends on the order of iteration over %packages.  Here is a
diff showing the corresponding change in output:

     >>> awk
    -virtual awk: using original-awk
    -    original-awk: libc6 (>= 2.14)
    +virtual awk: using mawk
    +    mawk: libc6 (>= 2.14)

    -    mawk: libc6 (>= 2.14)
    ->>> libc6

This patch sorts packages by name for Provides/Replaces processing,
which seems to result in stable output.

(If the above turns out not to be sufficient, one could also set the
PERL_HASH_SEED and PERL_PERTURB_KEYS environment variables, documented
in 'perlrun', to disable Perl's built-in randomization.  Complexity
attacks are not an issue as we control and trust all inputs.)
…k unit file

It is meant to fix the race condition between iwd and udev trying to
rename the interface.
The change to GCC 10 did break this package as it does some conversation
from 32bit integer to the type "int" which might be "narrower" depending
on the platform. By default GCC 10 errors in these cases. Since this
code is fine (and has been for a long time) it is okay to disable the
error in this case.
cflow no longer errors out on darwin
The fish-foreign-env and the fishPlugins.foreign-env packages aren't
compatible due to changes in directory layout.

It's better to remove the alias so that the evaluation explicitly fails
instead of allowing silent runtime breakage.

GitHub: see NixOS#107834 (comment)
GitHub: see LnL7/nix-darwin#269
GitHub: see nix-community/home-manager#1701
GitHub: see nix-community/home-manager#1702
HPLIP's getSystemPPDs() function relies on searching for PPDs below common FHS
paths.  None of these exist on NixOS, but the code assumes that at least one of
the directories will be found, and crashes when it doesn't (cups_ppd_path is
None and the code passes that to os.path.join).

A usable PPD search path for the running system on NixOS is
/var/lib/cups/path/share, so this patches the source to check this path as well.
This should fix the NixOS case and keep non-NixOS cases working too.
prusnak and others added 24 commits January 10, 2021 11:09
python3Packages.ds_store: init at 1.3.0
The library does not depend on stdenv, that `stdenv` exposes `lib` is
an artifact of the ancient origins of nixpkgs.
…tial-diff

vscode-extensions.ryu1kn.partial-diff: init at 1.4.1
pcsc-cyberjack: fix compilation with gcc10
vmTools.debClosureGenerator: Fix non-determinism in dependency graph
appgate-sdp: add appgate-sdp to modules list
php80.extensions.oci8: 2.2.0 -> 3.0.1
@FRidh
Copy link
Member

FRidh commented Jan 10, 2021

0c42bb5

@FRidh FRidh closed this Jan 10, 2021
@Mic92 Mic92 deleted the merge-master branch July 23, 2021 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet