1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-24 22:11:15 +02:00
Commit graph

19304 commits

Author SHA1 Message Date
Eelco Dolstra
24fbae7755 Bump version 2025-06-24 19:26:27 +02:00
Eelco Dolstra
380cefacf0 Update the release script
(cherry picked from commit f472be29ab)
2025-06-24 19:19:15 +02:00
Eelco Dolstra
844ad565a8 Remove meta.maintainers
Some of the maintainer attribute names got changed in nixos-unstable
(e.g. "edolstra" is now "eelco") but we want this flake to work on
nixos-24.11. So just get rid of them.

(cherry picked from commit 93d8f62057)
(cherry picked from commit b3b4fc21da)
2025-06-24 18:00:01 +02:00
Eelco Dolstra
39b60f2e60 Merge remote-tracking branch 'cve/fod-cves-2.26' into 2.26-maintenance 2025-06-24 16:07:50 +02:00
mergify[bot]
bbe7ffd4ca
Merge pull request #13390 from NixOS/mergify/bp/2.26-maintenance/pr-13348
Make the repl test more robust (backport #13348)
2025-06-22 19:30:30 +00:00
Eelco Dolstra
0f1a5c519e Make the repl test more robust
Seen in 4390954027:

  nix-functional-tests> grep: repl_output: No such file or directory
  nix-functional-tests> +(repl.sh:174) cat repl_output

This is because there is a small possibility that the `nix repl` child
process hasn't created `repl_output` yet. So make sure it exists.

(cherry picked from commit 9eb46e9cc0)
2025-06-22 19:08:37 +00:00
Eelco Dolstra
0da3b18520 Fixes for GHSA-g948-229j-48j3
Squashed commit of the following:

commit 04fff3a637d455cbb1d75937a235950e43008db9
Author: Eelco Dolstra <edolstra@gmail.com>
Date:   Thu Jun 12 12:30:32 2025 +0200

    Chown structured attr files safely

commit 5417ad445e414c649d0cfc71a05661c7bf8f3ef5
Author: Eelco Dolstra <edolstra@gmail.com>
Date:   Thu Jun 12 12:14:04 2025 +0200

    Replace 'bool sync' with an enum for clarity

    And drop writeFileAndSync().

commit 7ae0141f328d8e8e1094be24665789c05f974ba6
Author: Eelco Dolstra <edolstra@gmail.com>
Date:   Thu Jun 12 11:35:28 2025 +0200

    Drop guessOrInventPathFromFD()

    No need to do hacky stuff like that when we already know the original path.

commit 45b05098bd019da7c57cd4227a89bfd0fa65bb08
Author: Eelco Dolstra <edolstra@gmail.com>
Date:   Thu Jun 12 11:15:58 2025 +0200

    Tweak comment

commit 0af15b31209d1b7ec8addfae9a1a6b60d8f35848
Author: Raito Bezarius <raito@lix.systems>
Date:   Thu Mar 27 12:22:26 2025 +0100

    libstore: ensure that temporary directory is always 0o000 before deletion

    In the case the deletion fails, we should ensure that the temporary
    directory cannot be used for nefarious purposes.

    Change-Id: I498a2dd0999a74195d13642f44a5de1e69d46120
    Signed-off-by: Raito Bezarius <raito@lix.systems>

commit 2c20fa37b15cfa03ac6a1a6a47cdb2ed66c0827e
Author: Raito Bezarius <raito@lix.systems>
Date:   Wed Mar 26 12:42:55 2025 +0100

    libutil: ensure that `_deletePath` does NOT use absolute paths with dirfds

    When calling `_deletePath` with a parent file descriptor, `openat` is
    made effective by using relative paths to the directory file descriptor.

    To avoid the problem, the signature is changed to resist misuse with an
    assert in the prologue of the function.

    Change-Id: I6b3fc766bad2afe54dc27d47d1df3873e188de96
    Signed-off-by: Raito Bezarius <raito@lix.systems>

commit d3c370bbcae48bb825ce19fd0f73bb4eefd2c9ea
Author: Raito Bezarius <raito@lix.systems>
Date:   Wed Mar 26 01:07:47 2025 +0100

    libstore: ensure that `passAsFile` is created in the original temp dir

    This ensures that `passAsFile` data is created inside the expected
    temporary build directory by `openat()` from the parent directory file
    descriptor.

    This avoids a TOCTOU which is part of the attack chain of CVE-????.

    Change-Id: Ie5273446c4a19403088d0389ae8e3f473af8879a
    Signed-off-by: Raito Bezarius <raito@lix.systems>

commit 45d3598724f932d024ef6bc2ffb00c1bb90e6018
Author: Raito Bezarius <raito@lix.systems>
Date:   Wed Mar 26 01:06:03 2025 +0100

    libutil: writeFile variant for file descriptors

    `writeFile` lose its `sync` boolean flag to make things simpler.

    A new `writeFileAndSync` function is created and all call sites are
    converted to it.

    Change-Id: Ib871a5283a9c047db1e4fe48a241506e4aab9192
    Signed-off-by: Raito Bezarius <raito@lix.systems>

commit 732bd9b98cabf4aaf95a01fd318923de303f9996
Author: Raito Bezarius <raito@lix.systems>
Date:   Wed Mar 26 01:05:34 2025 +0100

    libstore: chown to builder variant for file descriptors

    We use it immediately for the build temporary directory.

    Change-Id: I180193c63a2b98721f5fb8e542c4e39c099bb947
    Signed-off-by: Raito Bezarius <raito@lix.systems>

commit 962c65f8dcd5570dd92c72370a862c7b38942e0d
Author: Raito Bezarius <raito@lix.systems>
Date:   Wed Mar 26 01:04:59 2025 +0100

    libstore: open build directory as a dirfd as well

    We now keep around a proper AutoCloseFD around the temporary directory
    which we plan to use for openat operations and avoiding the build
    directory being swapped out while we are doing something else.

    Change-Id: I18d387b0f123ebf2d20c6405cd47ebadc5505f2a
    Signed-off-by: Raito Bezarius <raito@lix.systems>

commit c9b42462b75b5a37ee6564c2b53cff186c8323da
Author: Raito Bezarius <raito@lix.systems>
Date:   Wed Mar 26 01:04:12 2025 +0100

    libutil: guess or invent a path from file descriptors

    This is useful for certain error recovery paths (no pun intended) that
    does not thread through the original path name.

    Change-Id: I2d800740cb4f9912e64c923120d3f977c58ccb7e
    Signed-off-by: Raito Bezarius <raito@lix.systems>
2025-06-19 16:41:46 +02:00
mergify[bot]
0bf8d076f5
Merge pull request #12980 from NixOS/mergify/bp/2.26-maintenance/pr-12979
Actually ignore system/user registries during locking (backport #12979)
2025-04-09 16:50:18 +00:00
Eelco Dolstra
43a3f55cda Actually ignore system/user registries during locking
Something went wrong in #12068 so this didn't work. Also added a test.

(cherry picked from commit 77d4316353)
2025-04-09 16:33:37 +00:00
mergify[bot]
ec00ce9fbd
Merge pull request #12953 from NixOS/mergify/bp/2.26-maintenance/pr-12951
tests/functional/repl: fix race condition (backport #12951)
2025-04-07 12:41:17 +00:00
Jörg Thalheim
6ce0e32766 tests/functional/repl: fix race condition
the sleep 1 is not enough in some circumstances. Switching to a fifo
helps.

(cherry picked from commit 1de951d31d)
2025-04-07 12:19:16 +00:00
mergify[bot]
f8620b451b
Merge pull request #12947 from NixOS/mergify/bp/2.26-maintenance/pr-12944
maintainers/release-notes: Let it fail (backport #12944)
2025-04-07 09:11:17 +00:00
Robert Hensing
4edcfa21f1 maintainers/release-notes: Let it fail
Fail when a command fails.

Basic error handling was missing, which would lead to errors getting
obscured a bit by subsequent successful logging.

(cherry picked from commit da36c34db7)
2025-04-07 08:52:33 +00:00
Jörg Thalheim
2244aad4c0
Merge pull request #12927 from NixOS/mergify/bp/2.26-maintenance/pr-12911
create cache entry for paths already in the nix store (backport #12911)
2025-04-04 16:33:30 +02:00
Jörg Thalheim
720cdd59b9 create cache entry for paths already in the nix store
This allows path:/nix/store/* paths to not be copied twice to the nix
store.

(cherry picked from commit 61c6210dbf)
2025-04-04 16:15:12 +02:00
mergify[bot]
8e65d53de8
Merge pull request #12904 from NixOS/mergify/bp/2.26-maintenance/pr-12886
symlink_exists: wrap exceptions into nix exception (backport #12886)
2025-04-02 23:35:39 +00:00
Jörg Thalheim
f17f3a22c6 symlink_exists: wrap exceptions into nix exception
(cherry picked from commit 779687854f)
2025-04-02 23:13:57 +00:00
mergify[bot]
06add7e551
Merge pull request #12864 from NixOS/mergify/bp/2.26-maintenance/pr-12810
Packaging improvements from Nixpkgs (backport #12810)
2025-04-01 18:19:38 +00:00
Robert Hensing
6b40d83ec9 packaging: finalAttrs.doCheck -> finalAttrs.finalPackage.doCheck
This includes the logic that disables checks on cross appropriately.

Co-authored-by: Peder Bergebakken Sundt <pbsds@hotmail.com>
(cherry picked from commit 27d71b21fc)
2025-04-01 17:49:43 +00:00
Robert Hensing
4767974d4f packaging: Various improvements
Co-authored-by: Mic92 <Mic92@users.noreply.github.com>
(cherry picked from commit 1172e49a3a)
2025-04-01 17:49:43 +00:00
mergify[bot]
4f85ceebbd
Merge pull request #12855 from NixOS/mergify/bp/2.26-maintenance/pr-12765
Add various clang tidy fixes (backport #12765)
2025-04-01 14:17:26 +00:00
Jörg Thalheim
c4e5df400d libstore/daemon: make sure monitor is not considered "unused"
(cherry picked from commit 5c3682d7a1)
2025-04-01 13:37:39 +00:00
Jörg Thalheim
11e7d82fc8 test/ca-fd-leak: fix clang-tidy lints
(cherry picked from commit b050db951b)
2025-04-01 13:37:39 +00:00
Jörg Thalheim
ab7a1df6ed git/getStringUntil: fix uninitialized stack variable
at least clang-tidy is not convinced that this initialized.
If this is not the case, the impact should be small and hopefully also
more robust if changed.

(cherry picked from commit 7e540059a3)
2025-04-01 13:37:39 +00:00
Jörg Thalheim
0178975340 libstore/local-store: fix linting warning about unused variable
(cherry picked from commit 05082ea1c5)
2025-04-01 13:37:39 +00:00
mergify[bot]
91349c465e
Merge pull request #12842 from NixOS/mergify/bp/2.26-maintenance/pr-12805
nix-daemon: source nix-profile-daemon.sh only once (backport #12805)
2025-04-01 07:49:05 +00:00
Thomas Miedema
318929dfa9 nix-daemon: source nix-profile-daemon.sh only once
On my system (Ubuntu 24.04 with nix installed using
https://zero-to-nix.com/), I noticed that my PATH
contained multiple times the following entries:

  /home/thomas/.nix-profile/bin
  /nix/var/nix/profiles/default/bin

Fix it by inserting a missing `export`, to make
sure `nix-daemon.sh` is really only executed once.

(cherry picked from commit 2b4e3fa144)
2025-04-01 06:47:30 +00:00
John Ericson
14203d1e78
Merge pull request #12813 from NixOS/revert-12779-mergify/bp/2.26-maintenance/pr-12773
Revert "Unexpose config headers (low hanging fruit only) (backport #1…
2025-03-31 12:25:56 -04:00
John Ericson
ce209f1cd7
Revert "Unexpose config headers (low hanging fruit only) (backport #12773)" 2025-03-31 11:57:46 -04:00
John Ericson
3e59cc0552
Merge pull request #12796 from NixOS/mergify/bp/2.26-maintenance/pr-12794
Fix windows build (backport #12794)
2025-03-28 21:48:14 -04:00
John Ericson
003584e59e Fix windows build
PR #12767 accidentally broke it.

(cherry picked from commit 99041b4d84)
2025-03-29 01:05:21 +00:00
mergify[bot]
004187e8cd
Merge pull request #12792 from NixOS/mergify/bp/2.26-maintenance/pr-12789
nix daemon: Don't open the store (backport #12789)
2025-03-29 00:16:51 +00:00
Eelco Dolstra
e6aad00570 nix daemon: Don't open the store
This makes it behave the same as nix-daemon. Opening the store in the
parent can cause a SIGBUS in libsqlite in the child:

  #0  0x00007f141cf6f789 in __memset_avx2_unaligned_erms () from /nix/store/wn7v2vhyyyi6clcyn0s9ixvl7d4d87ic-glibc-2.40-36/lib/libc.so.6
  #1  0x00007f141c322fe8 in walIndexAppend () from /nix/store/bbd59cqw259149r2ddk4w1q0lr2fch8c-sqlite-3.46.1/lib/libsqlite3.so.0
  #2  0x00007f141c3711a2 in pagerWalFrames () from /nix/store/bbd59cqw259149r2ddk4w1q0lr2fch8c-sqlite-3.46.1/lib/libsqlite3.so.0
  #3  0x00007f141c38317e in sqlite3PagerCommitPhaseOne.part.0 () from /nix/store/bbd59cqw259149r2ddk4w1q0lr2fch8c-sqlite-3.46.1/lib/libsqlite3.so.0
  #4  0x00007f141c383555 in sqlite3BtreeCommitPhaseOne.part.0 () from /nix/store/bbd59cqw259149r2ddk4w1q0lr2fch8c-sqlite-3.46.1/lib/libsqlite3.so.0
  #5  0x00007f141c384797 in sqlite3VdbeHalt () from /nix/store/bbd59cqw259149r2ddk4w1q0lr2fch8c-sqlite-3.46.1/lib/libsqlite3.so.0
  #6  0x00007f141c3b8f60 in sqlite3VdbeExec () from /nix/store/bbd59cqw259149r2ddk4w1q0lr2fch8c-sqlite-3.46.1/lib/libsqlite3.so.0
  #7  0x00007f141c3bbfef in sqlite3_step () from /nix/store/bbd59cqw259149r2ddk4w1q0lr2fch8c-sqlite-3.46.1/lib/libsqlite3.so.0
  #8  0x00007f141c3bd0e5 in sqlite3_exec () from /nix/store/bbd59cqw259149r2ddk4w1q0lr2fch8c-sqlite-3.46.1/lib/libsqlite3.so.0
  #9  0x00007f141da140e0 in nix::SQLiteTxn::commit() () from /nix/store/1m4r8s7s1v54zq9isncvjgia02bffxlz-determinate-nix-store-3.1.0/lib/libnixstore.so
  #10 0x00007f141d9ce69c in nix::LocalStore::registerValidPaths(std::map<nix::StorePath, nix::ValidPathInfo, std::less<nix::StorePath>, std::allocator<std::pair<nix::StorePath const, nix::ValidPathInfo> > > const&)::{lambda()#1}::operator()() const () from /nix/store/1m4r8s7s1v54zq9isncvjgia02bffxlz-determinate-nix-store-3.1.0/lib/libnixstore.so

(cherry picked from commit 9590167290)
2025-03-29 00:02:39 +00:00
mergify[bot]
20e67b8bb6
Merge pull request #12784 from NixOS/mergify/bp/2.26-maintenance/pr-12758
libutil: Fix error message (backport #12758)
2025-03-28 19:18:47 +00:00
mergify[bot]
e393b2c844
Merge pull request #12779 from NixOS/mergify/bp/2.26-maintenance/pr-12773
Unexpose config headers (low hanging fruit only) (backport #12773)
2025-03-28 18:43:43 +00:00
mergify[bot]
352e27772f
Merge pull request #12777 from NixOS/mergify/bp/2.26-maintenance/pr-12767
use createDirs consistently everywhere (backport #12767)
2025-03-28 18:04:06 +00:00
Robert Hensing
33580356fb libutil: Fix error message
I encountered this with a misconfigured libutil. I doubt that a
non-lutimes config is viable, because tests were failing.

(cherry picked from commit 1cffcd91a9)
2025-03-28 17:08:19 +00:00
Robert Hensing
8f6392b777 Unexpose config headers (low hanging fruit only)
- Some headers were completely redundant and have been removed.
- Other headers have been turned private.
- Unnecessary meson.build code has been removed.
- libutil-tests now has a private config header, where previously
  it had none. This removes the need to expose a package version
  macro publicly.

(cherry picked from commit b86a76044e)
2025-03-28 16:44:26 +00:00
mergify[bot]
75710a809d
Merge pull request #12775 from NixOS/mergify/bp/2.26-maintenance/pr-12772
Light packaging cleanups (backport #12772)
2025-03-28 16:43:09 +00:00
Jörg Thalheim
d1fe15f43f use createDirs consistently everywhere
(cherry picked from commit a8217f2642)
2025-03-28 15:56:02 +00:00
John Ericson
f6f89041c0 Add a withAWS flag to libstore
Nixpkgs wants this, at least.

(cherry picked from commit e4c571c2f1)
2025-03-28 15:54:57 +00:00
John Ericson
384415ddc0 Link the right issue about the bad AWS pkg-config
It is https://github.com/aws/aws-sdk-cpp/issues/2673

(cherry picked from commit fb9c9ee35a)
2025-03-28 15:54:57 +00:00
John Ericson
3d3b99e596 Remove boost env vars
https://github.com/NixOS/nixpkgs/issues/86131 is now fixed!
(cherry picked from commit 459fb59493)
2025-03-28 15:54:57 +00:00
John Ericson
45ff01a2d5 Fix a bunch of missing meson boilerplate
These other libraries need this too

(cherry picked from commit ffdce51cd5)
2025-03-28 15:54:56 +00:00
mergify[bot]
ceec04f1e2
Merge pull request #12754 from NixOS/mergify/bp/2.26-maintenance/pr-12105
local-derivation-goal: improve "illegal reference" error (backport #12105)
2025-03-25 16:12:27 +00:00
Sergei Trofimovich
fa33df1e76 tests/functional/check-refs.nix: format newly added test
(cherry picked from commit 4d72e0f73b)
2025-03-25 15:48:25 +00:00
Sergei Trofimovich
2fbebb6574 tests/functional/check-refs.sh: guard test12 against too old nix daemon
Otherwise without the change the test fails on nix-2.26 as:

    error: derivation contains an illegal reference specifier 'dev'

Note: the error message does not match intended change.
(cherry picked from commit 1e7c7244cf)
2025-03-25 15:48:25 +00:00
Robert Hensing
6e93311426 test illegal reference specifier error message
(cherry picked from commit f4def47c89)
2025-03-25 15:48:25 +00:00
Robert Hensing
7b3a78dbab checkRefs: use concatMapStringsSep
(cherry picked from commit 2b4d461c14)
2025-03-25 15:48:24 +00:00
Robert Hensing
0ddb8e21fe nix-util: Use small_vector in concatMapStringsSep
(cherry picked from commit 32898dc46a)
2025-03-25 15:48:24 +00:00