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

buildenv: paths to link resolving to the same absolute path is not a conflict #90004

Merged
merged 1 commit into from Jun 11, 2020
Merged

Conversation

romildo
Copy link
Contributor

@romildo romildo commented Jun 10, 2020

Motivation for this change

When building an environment if two paths conflict but one or both are symbolic links and they resolve to the same real path, the conflict is discarded because the contents of both paths are the same. One of them is chosen and there is no need to recur into them in order to build deeper symbolic links.

See also:

https://discourse.nixos.org/t/proliferation-of-symbolic-links-in-run-current-system-sw-share-icons/

#85229

Tested on a virtual machine.

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.

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/proliferation-of-symbolic-links-in-run-current-system-sw-share-icons/7587/5

@jtojnar jtojnar changed the base branch from master to staging June 10, 2020 02:10
@jtojnar jtojnar changed the base branch from staging to master June 10, 2020 02:10
@jtojnar jtojnar changed the base branch from master to staging June 10, 2020 02:11
@ofborg ofborg bot added 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: nixos 6.topic: pantheon The Pantheon desktop environment 6.topic: python 8.has: documentation 8.has: module (update) 8.has: package (new) and removed 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: nixos 6.topic: pantheon The Pantheon desktop environment 6.topic: python 8.has: documentation 8.has: module (update) labels Jun 10, 2020
…conflict

When building an environment if two paths conflict but one or both are
symbolic links and they resolve to the same real path, the conflict is
discarded because the contents of both paths are the same. One of them
is chosen and there is no need to recur into them in order to build
deeper symbolic links.
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/183

@romildo romildo merged commit 87eb2f4 into NixOS:staging Jun 11, 2020
@romildo romildo deleted the buildenv branch June 11, 2020 15:50
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

3 participants