aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-15Merge pull request #8214 from raphaelr/installable-derived-path-warnRobert Hensing
Display valid installable in `InstallableDerivedPath::parse` warning
2023-04-14Legacy vs non-legacy `to_string`/`parse` for `DerivedPath`John Ericson
As requested by @roberth, it is good to call out the specific instances we care about, which is `!` for the RPC protocols, and `^` for humans. This doesn't take advantage of parametricity as much, but since the human and computer interfaces are good to decouple anyways (we don't care if they drift further apart over time in the slightest) some separation and slight duplication is fine. Also, unit test both round trips.
2023-04-14Merge pull request #7864 from obsidiansystems/quickstart-long-optionsJohn Ericson
Use long options instead of short ones in the "quick start"
2023-04-14Merge pull request #8174 from NixOS/gloss-xp-features-note-installablesJohn Ericson
Start cross-referencing experimental features
2023-04-14Merge pull request #8217 from ↵Robert Hensing
obsidiansystems/push-get-fs-accessor-unsupported-down Push `getFSAccessor` `unsupported(...)` down `Store` class hierarchy
2023-04-14Start cross-referencing experimental featuresJohn Ericson
- Create a glossary entry for experimental features. - Have the man page experimental feature notice link `nix-commmand`. (Eventually this should be programmed, based on whether the command is experimental, and if so what experimental feature does it depend on.) - Document which installables depend on which experimental features. I tried to use the same style (bold warning and block quote) that the top of the man page uses. Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-14Merge pull request #8199 from tweag/fix-sqlite-busy-reportingEelco Dolstra
Fix unnecessary reporting of SQLite busy errors
2023-04-14Merge pull request #8176 from tweag/rename-confusing-write-methodEelco Dolstra
Rename and protect `BufferedSink::write`
2023-04-14Display valid installable in InstallableDerivedPath::parse warningRaphael Robatsch
The warning message should produce an installable name that can be passed to `nix build`, `nix path-info`, etc. again. Since the CLI expects that the .drv path and the output names are separated by a caret, the warning message must also separate the .drv path and output names with a caret. However, `DerivedPath::Built.to_string()` uses an exclamation point as the separator instead. This commit adds a `separator` argument to the to_string method. This changes the warning message from: If this command is now failing try again with '/nix/store/foo.drv!*' to: If this command is now failing try again with '/nix/store/foo.drv^*'
2023-04-13Push `getFSAccessor` `unsupported(...)` down `Store` class hierarchyJohn Ericson
More progress on issue #5729. Instead of having it by the default method in `Store` itself, have it be the implementation in `DummyStore` and `LegacySSHStore`. Then just the implementations which fail to provide the method pay the "penalty" of dealing with the icky `unimplemented` function for non-compliance. Combined with my other recent PRs, this finally makes `Store` have no `unsupported` calls!
2023-04-11Merge pull request #8206 from NixOS/bump-2.16.0Eelco Dolstra
Bump version
2023-04-11Bump versionEelco Dolstra
2023-04-11Merge pull request #8201 from obsidiansystems/hacky-xp-setting-fixEelco Dolstra
Do not gate or hide experimental settings
2023-04-11Move warning timing logic into handleSQLiteBusy.Ben Radford
2023-04-11Do not gate or hide experimental settingsJohn Ericson
This is somewhat hacky fix just for 2.15. I unintentionally hid them from the manual, when no one wanted to hide them that (including myself). I also required the experimental feature to be enabled in an order-dependent way, which is not good. The simplest fix for this immanent release is just to always show them, and always allow them to be set. Effectively undoes some changes from aa663b7e89d3d02248d37ee9f68b52770b247018
2023-04-11Merge pull request #8200 from edolstra/release-notesEelco Dolstra
2.15 release notes
2023-04-11Release notesEelco Dolstra
2023-04-11Merge pull request #8170 from tweag/fix-aarch64-buildEelco Dolstra
Explicitely define `LockFile::operator!=`
2023-04-11Revert "Add script to reproduce issue by inducing heavy load."Ben Radford
This reverts commit 213b838f9cfb820d2bc76d7c6edc468b27029945.
2023-04-11Warn after a second of being busy instead of immediately.Ben Radford
Getting the occasional SQLITE_BUSY is expected when the database is being accessed concurrently. The retry will likely succeed so it is pointless to warn immediately. Instead we track how long each retrySQLite block has been running, and only begin warning after a second has elapsed (and then every 10 seconds subsequently).
2023-04-11Add script to reproduce issue by inducing heavy load.Ben Radford
2023-04-11Merge pull request #8158 from tweag/harden-profiles-testEelco Dolstra
Fix the flaky `nix-profile` test
2023-04-11Merge pull request #8153 from obsidiansystems/more-labelerEelco Dolstra
Try auto-labeling a few more things
2023-04-11Merge pull request #7798 from peeley/list-experimental-featuresEelco Dolstra
Documentation: list experimental features in manual
2023-04-11NitpicksEelco Dolstra
2023-04-10Merge pull request #8190 from NaN-git/configure_acRobert Hensing
add check for librapidcheck
2023-04-09Single page for experimental feature descriptionsJohn Ericson
As requested by @fricklerhandwerk.
2023-04-09fix failing configure in nix-testsPhilipp Otterbein
2023-04-08add check for librapidcheckPhilipp Otterbein
declare RAPIDCHECK_HEADERS as variable
2023-04-08Merge pull request #8180 from obsidiansystems/factor-out-daemon-cmd-helpersRobert Hensing
Tidy up and comment daemon CLI
2023-04-07Tidy up and comment daemon CLIJohn Ericson
Some of the factoring out was taken from #7912 by @mupdt. Thanks! No behavior should be changed in this commit. Co-Authored-By: mupdt <25388474+mupdt@users.noreply.github.com> Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-04-07Merge pull request #8179 from tweag/disable-gc-on-coroutineRobert Hensing
disable gc on coroutine
2023-04-07Finish converting existing comments for internal API docs (#8146)John Ericson
* Finish converting existing comments for internal API docs 99% of this was just reformatting existing comments. Only two exceptions: - Expanded upon `BuildResult::status` compat note - Split up file-level `symbol-table.hh` doc comments to get per-definition docs Also fixed a few whitespace goofs, turning leading tabs to spaces and removing trailing spaces. Picking up from #8133 * Fix two things from comments * Use triple-backtick not indent for `dumpPath` * Convert GNU-style `\`..'` quotes to markdown style in API docs This will render correctly.
2023-04-07Merge pull request #7887 from obsidiansystems/add-derivationRobert Hensing
`nix derivation add`, `show-derivation` -> `derivation show`
2023-04-07Add talkative msg for coro gc debugYorick van Pelt
2023-04-07Always disable GC in a coroutine unless the patch is appliedYorick van Pelt
2023-04-07DisableGC: replace by CoroutineContext, std::shared_ptr<void>Yorick van Pelt
2023-04-07Disable GC inside coroutines on mac OSYorick van Pelt
2023-04-07Add release notes for `nix derivation {add,show}`John Ericson
2023-04-07Create `nix derivation add` commandJohn Ericson
Also refine `nix derivation show`'s docs very slightly.
2023-04-07Rename files to reflect new `nix derivation show` nameJohn Ericson
This will match the files we added for `nix add derivation` in the rest of this PR.
2023-04-07`nix show-derivation` -> `nix derivation show`John Ericson
2023-04-07Liberate `checkDerivationOutputs` from `LocalStore`John Ericson
Make it instead a method on `Derivation` that can work with any store. We will need this for a CLI command to create a derivation.
2023-04-07Include the name in the JSON for derivationsJohn Ericson
This is non-breaking change in the to-JSON direction. This *is* a breaking change in the from-JSON direction, but we don't care, as that is brand new in this PR. `nix show-derivation --help` currently has the sole public documentation of this format, it is updated accordingly.
2023-04-07Create `Derivation::fromJSON`John Ericson
And test, of course
2023-04-07Merge pull request #7515 from MatthewCroughan/mc/check-trusted-userThéophane Hufschmitt
Add Store::isTrustedClient()
2023-04-07TypoEelco Dolstra
2023-04-07Rename and protect `BufferedSink::write`Théophane Hufschmitt
The `write` name is ambiguous and could lead to some funny bugs like https://github.com/NixOS/nix/pull/8173#issuecomment-1500009480. So rename it to the more explicit `writeUnbuffered`. Besides, this method shouldn't be (and isn't) used outside of the class implementation, so mark it `protected`. This makes it more symetrical to `BufferedSource` which uses a `protected readUnbuffered` method.
2023-04-06Add `Store::isTrustedClient()`matthewcroughan
This function returns true or false depending on whether the Nix client is trusted or not. Mostly relevant when speaking to a remote store with a daemon. We include this information in `nix ping store` and `nix doctor` Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2023-04-06Describe active experimental features in the contributing guideJohn Ericson
They are put in the manual separate pages under the new overarching description of experimental features. The settings page just lists the valid experimental feature names (so people know what a valid setting entry looks like), with links to those pages. It doesn't attempt to describe each experimental feature as that is too much information for the configuration settings section.