Skip to content

Upstream tracking#165

Draft
grahamc wants to merge 2744 commits into2.34-maintenancefrom
main
Draft

Upstream tracking#165
grahamc wants to merge 2744 commits into2.34-maintenancefrom
main

Conversation

@grahamc
Copy link
Copy Markdown
Member

@grahamc grahamc commented Jul 31, 2025

Motivation

Not intended to be merged directly. This PR is a convenience to show the diff between upstream Nix and Determinate Nix (the main branch).

Continuation of #4.

@grahamc grahamc requested a review from edolstra as a code owner July 31, 2025 17:14
@github-actions github-actions Bot temporarily deployed to production July 31, 2025 17:14 Inactive
@DeterminateSystems DeterminateSystems locked as off-topic and limited conversation to collaborators Jul 31, 2025
@github-actions github-actions Bot temporarily deployed to pull request July 31, 2025 18:20 Inactive
@github-actions github-actions Bot temporarily deployed to production July 31, 2025 18:21 Inactive
@cole-h cole-h marked this pull request as draft August 1, 2025 14:26
@github-actions github-actions Bot temporarily deployed to pull request August 4, 2025 22:15 Inactive
@github-actions github-actions Bot temporarily deployed to commit August 4, 2025 22:15 Inactive
@github-actions github-actions Bot temporarily deployed to production August 4, 2025 22:15 Inactive
@github-actions github-actions Bot temporarily deployed to production August 5, 2025 14:25 Inactive
@github-actions github-actions Bot temporarily deployed to pull request August 5, 2025 14:25 Inactive
@github-actions github-actions Bot temporarily deployed to pull request August 7, 2025 15:58 Inactive
@github-actions github-actions Bot temporarily deployed to production August 7, 2025 15:58 Inactive
@github-actions github-actions Bot temporarily deployed to pull request August 7, 2025 23:01 Inactive
@github-actions github-actions Bot temporarily deployed to production August 7, 2025 23:02 Inactive
@github-actions github-actions Bot temporarily deployed to pull request August 10, 2025 16:36 Inactive
@github-actions github-actions Bot temporarily deployed to production August 10, 2025 16:36 Inactive
@github-actions github-actions Bot temporarily deployed to pull request August 10, 2025 20:06 Inactive
@github-actions github-actions Bot temporarily deployed to production August 10, 2025 20:06 Inactive
@github-actions github-actions Bot temporarily deployed to production August 19, 2025 15:04 Inactive
@github-actions github-actions Bot temporarily deployed to pull request August 19, 2025 15:04 Inactive
@github-actions github-actions Bot temporarily deployed to production August 20, 2025 10:41 Inactive
@github-actions github-actions Bot temporarily deployed to pull request August 20, 2025 10:41 Inactive
@github-actions github-actions Bot temporarily deployed to commit August 20, 2025 10:41 Inactive
@github-actions github-actions Bot temporarily deployed to pull request August 25, 2025 16:07 Inactive
@github-actions github-actions Bot temporarily deployed to production August 25, 2025 16:07 Inactive
@github-actions github-actions Bot temporarily deployed to production August 25, 2025 16:14 Inactive
edolstra and others added 30 commits April 20, 2026 17:15
…0cb-97f7-4e73-a753-e07735d71935

Release v3.18.0
When Nix execs another program (like in `nix run` or `nix develop`),
Sentry's crashpad_handler remains running. Sentry doesn't seem to
have an API to cause crashpad_handler to quit. On Linux, this isn't
a problem. However, macOS uses Mach exception ports to communicate
crashes to crashpad_handler, and these remain valid across exec()
and are inherited by child processes. So this causes Sentry crash
reports for non-Nix processes. The workaround is to reset the
exception ports to their default state.
The chroot helper only works if there are no other threads, but Sentry
creates a worker thread. So don't start Sentry in the chroot helper.
Tagging release 2.33.4
upload-debug-info-to-sentry.py: Add missing dependencies
restoreProcessContext(): Reset Mach exception ports
Note: this only include the command/subcommand (e.g. `nix flake
update`), but no other command-line arguments.
sentry: Log the Nix command / subcommand
…f47-24cd-4fd6-81f2-cf83b74724eb

Release v3.18.1
Use `statusOk`/`statusToString` consistently when checking child process
wait statuses, so that failures produce human-readable messages (e.g.
"exited with code 2") rather than raw integer comparisons or nothing at
all.

Also give distinct exit codes to each failure path in the
`fchmodatTryNoFollow` test for easier debugging.

Note that `status == 0` and `statusOk(status)` do not do the same thing,
because the latter does not check all the bits. So by changing the code
from the former to the latter, we are technically changing behavior.
However, it is not really proper to check the other bits, rather than
use the macros which (essentially) parse a discriminated union. The
other bits are probably guaranteed to be 0 in practice, but in theory,
they are reserved for future use, and we should not guessing that that
future use is / what the bits mean in that case.
This was used in only one place (the daemon implementation) and it
hard-coded a protocol version, so let's get rid of it.
This makes `nix copy` from ssh-ng to the daemon preserve provenance,
because in combination with the previous commits,
RemoteStore::addToStoreMultiple() now sends provenance if the daemon
supports it.

Fixes #369.
Preserve provenance while copying paths to the daemon
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.