Age | Commit message (Collapse) | Author |
|
preloadNSS: fixup nss_dns load
|
|
preloadNSS is not thread-safe, this commit moves it before we start the
first thread.
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
|
|
|
|
Add missing include in util.cc
|
|
|
|
Fix use-registries logic in builtins.getFlake
|
|
libfetchers/git: fetch submodules by default
|
|
Before this commit, the dns lookup in preloadNSS would still go through
nscd. This did not have the effect of loading the nss_dns.so as expected
(nss_dns.so being out of reach from within the sandbox).
Should LOCALDOMAIN environment variable be defined, nss will completely
avoid nscd and will do its dns resolution on its own.
By temporarly setting LOCALDOMAIN variable before calling in NSS, we can
force NSS to load the shared libraries as expected.
Fixes #5089
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
|
|
|
|
|
|
In dry run mode, new derivations can't be create, so running the command on anything that has not been evaluated before results in an error message of the form `don't know how to build these paths (may be caused by read-only store access)`.
For comparison, the classical `nix-build --dry-run` doesn't use read-only mode.
Closes #1795
(cherry picked from commit 54525682df707742e58311c32e9c9cb18de1e31f)
|
|
If the store path contains a flake, this means that a command like
"nix path-info /path" will show info about /path, not about the
default output of the flake in /path. If you want the latter, you can
explicitly ask for it by doing "nix path-info path:/path".
Fixes #4568.
|
|
|
|
Don’t create lockfiles with an invalid path name
|
|
Docs: Fix syntax error in json example in man page
|
|
|
|
Store paths are only allowed to contain a limited subset of the
alphabet, which doesn’t include `!`. So don’t create lockfiles that
contain this `!` character as that would otherwise confuse (and break)
the gc.
Fix #5176
|
|
fix CI for users with no install-tests cachix
|
|
installer: fix addVolume perm issue for some users
|
|
As reported in #5198, volume creation can fail with a permission error
for some macOS users (probably secondary user accounts?) Sudo appears
to be sufficient to avoid this.
While I'm here, I also updated the sudo invocation added in 079bde2ae
to use the _sudo explanation wrapper.
|
|
Closes #5173
|
|
|
|
|
|
add antiquotations to paths
|
|
I don't think this changes the way any program would behave, but it's a
cleaner internal representation.
|
|
|
|
|
|
tests/fetchurl.sh: Be verbose to help debug darwin eof bug #2794
|
|
|
|
Don’t send the experimental-features to the daemon
|
|
|
|
Issues #4499.
|
|
Remove curl deps in install script
|
|
Revert "Use /etc/zshenv instead of /etc/zshrc for profile"
|
|
Set enableOwnership in macOS install
|
|
doc/manual/local.mk: fix 'make install DESTDIR=...'
|
|
Don't overwrite user provided `lib*_LDFLAGS`
|
|
mk: prefert inplace library paths to system ones
|
|
EvalState lifetime hygiene
|
|
Force all Pos* to be non-null
|
|
If the client sends an “experimental features” setting, just ignore it
|
|
|
|
|
|
This fixes a use-after-free bug:
1. s = new EvalState();
2. callFlake()
3. static vCallFlake now references s
4. delete s;
5. s2 = new EvalState();
6. callFlake()
7. static vCallFlake still references s
8. crash
Nix 2.3 did not have a problem with recreating EvalState.
|
|
This fixes a class of crashes and introduces ptr<T> to make the
code robust against this failure mode going forward.
Thanks regnat for the idea of a ref<T> without overhead!
Closes #4895
Closes #4893
Closes #5127
Closes #5113
|
|
The link failure happens on a system with stable nix-2.3.15
installed in /usr/lib64 (it's libutil.so API differs from master):
```
LANG=C make V=1
g++ -o /home/slyfox/dev/git/nix/src/libstore/libnixstore.so \
-shared -L/usr/lib64 -Wl,--no-copy-dt-needed-entries \
src/libstore/binary-cache-store.o ... src/libstore/uds-remote-store.o \
-lsqlite3 -lcurl -lsodium -pthread -ldl -lseccomp -Wl,-z,defs -Wl,-soname=libnixstore.so
-Wl,-rpath,/home/slyfox/dev/git/nix/src/libutil -Lsrc/libutil -lnixutil
ld: src/libstore/binary-cache-store.o: in function `nix::BinaryCacheStore::BinaryCacheStore(
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, ...
nix/src/libstore/binary-cache-store.cc:30: undefined reference to `nix::readFile(
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ...
...
```
This happens due to `-L/usr/lib64 -Lsrc/libutil` search path ordering.
The change turns it into `-Lsrc/libutil -L/usr/lib64`.
Closes: https://github.com/NixOS/nix/issues/3087
|
|
Install failure is observed when we try to install
into inplace location as non-root:
```
$ LANG=C make install DESTDIR=$PWD/__i__ V=1
RUST_LOG=warn mdbook build doc/manual -d /usr/share/doc/nix/manual
2021-08-28 13:29:58 [ERROR] (mdbook::utils): Error: Rendering failed
2021-08-28 13:29:58 [ERROR] (mdbook::utils): Caused By: Unexpected error when constructing destination path
2021-08-28 13:29:58 [ERROR] (mdbook::utils): Caused By: Permission denied (os error 13)
make: *** [doc/manual/local.mk:98: /usr/share/doc/nix/manual/index.html] Error 101
```
The change is to prefix paths with `$(DESTDIR)`.
|
|
This reverts commit 909d8cb2934869c945ac1cc20dfb71df513042eb.
This messes up PATH priority since /etc/profile gets sourced AFTER
/etc/zshenv and it sets the system paths so
$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin is behind
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin. See discussion in
https://github.com/NixOS/nix/issues/4169.
|
|
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
|
|
For external hard disks where ownership is not enabled by default.
|