Skip to content

Conversation

@deepfire
Copy link
Contributor

@deepfire deepfire commented Jan 26, 2024

This works around NetworkConfiguration/dhcpcd#291, by bumping dhcpcd to the latest released.

Description of changes

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@ofborg ofborg bot requested a review from edolstra January 26, 2024 22:42
@ofborg ofborg bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. labels Jan 26, 2024
@deepfire
Copy link
Contributor Author

Trick question -- why a dhcpcd bump causes 2500+ rebuilds?

@kirillrdy
Copy link
Member

kirillrdy commented Jan 27, 2024

@deepfire greetings !

can you check that link to the issue you have posted is correct ?

Trick question -- why a dhcpcd bump causes 2500+ rebuilds?

silly answer would be because it has a lot of direct and indirect reverse dependencies, are you after any specific dependency ?

EDIT: networkmanager depends on dhcpcd, which means pretty much all desktop environments need to be rebuilt

have you tried updating to 10.0.6 ? #281704
also #253129

@deepfire
Copy link
Contributor Author

@kirillrdy, my apologies, I've used a repo-local link -- here's the proper link to the issue: NetworkConfiguration/dhcpcd#291

@deepfire
Copy link
Contributor Author

deepfire commented Jan 27, 2024

@deepfire
Copy link
Contributor Author

deepfire commented Jan 27, 2024

Trick question -- why a dhcpcd bump causes 2500+ rebuilds?

silly answer would be because it has a lot of direct and indirect reverse dependencies, are you after any specific dependency ?

EDIT: networkmanager depends on dhcpcd, which means pretty much all desktop environments need to be rebuilt

I guess that's the essence of my actual question -- I've seen that the full path to dhcpcd is essentially hard-coded into the build process -- and I wonder if that's indeed prudent and unavoidable -- say by using environement variables in NetworkManager and using makeWrapper to split the N-M libraries (now devoid of direct dependency) from the wrapped runtime (that'll remain dependent on dhcpcd directly)..

@kirillrdy
Copy link
Member

N-M libraries

not sure what those are. but for as long as anything uses store path its unavoidable.

and using store paths is the whole point of nix, so that this precise version of NetworkManager was built/tested with that precise version of dhcpcd

@deepfire
Copy link
Contributor Author

N-M libraries

Sorry, I garbled the overlong name 0f NetworkManager.

not sure what those are. but for as long as anything uses store path its unavoidable.

and using store paths is the whole point of nix, so that this precise version of NetworkManager was built/tested with that precise version of dhcpcd

  1. Imagine that NetworkManager no longer has to hard-code the dhcpcd dependency at configure time -- instead taking it via environment variable.
  2. Then we can use makeWrapper, as I mentioned before, to separate the dhcpcd-blissful base package (that others can depend on), from the system service that uses the wrapped binary with environment pointing to dhcpcd.

@kirillrdy
Copy link
Member

N-M libraries

Sorry, I garbled the overlong name 0f NetworkManager.

not sure what those are. but for as long as anything uses store path its unavoidable.
and using store paths is the whole point of nix, so that this precise version of NetworkManager was built/tested with that precise version of dhcpcd

1. Imagine that NetworkManager no longer has to hard-code the `dhcpcd` dependency at configure time -- instead taking it via environment variable.

2. Then we can use `makeWrapper`, as I mentioned before, to separate the `dhcpcd`-blissful base package (that others can depend on), from the system service that uses the wrapped binary with environment pointing to `dhcpcd`.
  • that would work if you expect users to install dhcpcd, not sure where would you put such information
  • by not specifying dhcpcd as a dependency we would miss ability to test networkmanager when dhcpd updated ( eg this PR )

maybe in the future https://nixos.wiki/wiki/Ca-derivations can fix this

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 7, 2024
@wegank wegank marked this pull request as draft March 7, 2024 12:29
@deepfire deepfire changed the title dhcpcd: 10.0.4 -> unstable-2023-12-24 dhcpcd: 10.0.4 -> 10.1.0 Oct 28, 2024
@deepfire
Copy link
Contributor Author

Updated, as Nixpkgs master still suffers from NetworkConfiguration/dhcpcd#291

@deepfire deepfire marked this pull request as ready for review October 28, 2024 15:05
@deepfire
Copy link
Contributor Author

cc @kirillrdy

@ofborg ofborg bot added 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. and removed 2.status: merge conflict This PR has merge conflicts with the target branch 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. labels Oct 28, 2024
@kirillrdy kirillrdy changed the title dhcpcd: 10.0.4 -> 10.1.0 dhcpcd: 10.0.6 -> 10.1.0 Oct 29, 2024
@yorickvP
Copy link
Contributor

yorickvP commented Nov 3, 2024

Maybe this should target staging because of the mass rebuild?

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one person. label Nov 3, 2024
This works around NixOS#291, halfway.
@github-actions github-actions bot added the 6.topic: flutter Open-source UI software development kit for cross-platform applications label Nov 4, 2024
@deepfire deepfire changed the base branch from master to staging November 4, 2024 18:26
@github-actions github-actions bot removed 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: qt/kde Object-oriented framework for GUI creation 8.has: documentation This PR adds or changes documentation 6.topic: emacs Text editor 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 6.topic: vim Advanced text editor 6.topic: stdenv Standard environment 6.topic: lib The Nixpkgs function library 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: flutter Open-source UI software development kit for cross-platform applications labels Nov 4, 2024
@deepfire
Copy link
Contributor Author

deepfire commented Nov 4, 2024

@yorickvP @wegank, rebased onto staging.

@wegank wegank removed the 12.approvals: 1 This PR was reviewed and approved by one person. label Nov 4, 2024
@deepfire
Copy link
Contributor Author

deepfire commented Nov 4, 2024

Rebases suggested by the approving reviewer are disincentivized, I see ; -)

@ofborg ofborg bot added 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. 8.has: clean-up This PR removes packages or removes other cruft 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. and removed 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. labels Nov 5, 2024
@yorickvP yorickvP merged commit f07f514 into NixOS:staging Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: clean-up This PR removes packages or removes other cruft 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants