Commit Graph

83 Commits

Author SHA1 Message Date
Yuxuan Shui
6c359f48f3 fuse: move env vars to env.*
See #217206

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-11-08 00:59:23 +00:00
oxalica
32ddebd1e3
fuse: split outputs and clean up
`fuse` consists of the library and SUID binaries. They serve different
scenarios. Packages depending on libfuse don't want to pull in binaries
which shadow SUID ones like `fusermount` and cause troubles.

With outputs splitted, we can use `fuse.dev` in development environment
without risking shadowing SUID binaries.

The `common` output and top-level `fuse-common` are removed because they
are not useful since a long time ago.
2024-09-30 15:26:38 -04:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
6t8k
dec8dd47cf
fuse3: 3.16.1 -> 3.16.2
https://github.com/libfuse/libfuse/blob/fuse-3.16.2/ChangeLog.rst#libfuse-3162-2023-10-10
https://github.com/libfuse/libfuse/compare/fuse-3.16.1...fuse-3.16.2
2023-10-22 19:44:51 +02:00
6t8k
dd4f12ef27
fuse3: 3.11.0 -> 3.16.1
https://github.com/libfuse/libfuse/blob/fuse-3.16.1/ChangeLog.rst#libfuse-3161-2023-08-08

One change can be expected to break some setups:

- Unsupported mount options are no longer silently accepted [1]

For example, sshfs built against the present libfuse 3.11.0,

`$ sshfs 127.0.0.1:/home/test/testdir /home/test/sshfs_mnt -o atime`

terminates successfully (with the mount point established), while when
built against 3.16.1, it outputs the error message `fuse: unknown
option(s): `-o atime'` and terminates with exit status 1.
2023-10-22 19:44:51 +02:00
Weijia Wang
0db685d18a fuse: patch against loongarch64-linux 2023-04-27 20:06:21 +03:00
Guillaume Girol
33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00
Michael Weiss
8e73fa1587
fuse3: 3.10.5 -> 3.11.0 2022-06-11 11:57:56 +02:00
Martin Weinelt
d0bfb3ccbb Merge remote-tracking branch 'origin/master' into staging-next 2022-03-31 03:49:37 +02:00
Sandro Jäckel
1c0f4cb809
fuse: fix nix-update/nix-prefetch crashing
error: attribute 'homepage' missing

       at ~/src/nixpkgs/pkgs/os-specific/linux/fuse/common.nix:91:21:

           90|
           91|   meta = with lib; {
             |                     ^
           92|     description = "Library that allows filesystems to be implemented in user space";
2022-03-30 00:17:03 +02:00
Maximilian Bosch
8631ba18ee
fuse: fix build w/glibc-2.34
`closefrom` is now a part of `glibc-2.34`[1]:

> * The function closefrom has been added.  It closes all file descriptors
>   greater than or equal to a given integer.  This function is a GNU extension,
>   although it is also present in other systems.

Failing Hydra build: https://hydra.nixos.org/build/152456339

[1] https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html
2022-02-27 10:25:36 +01:00
Michael Weiss
f5a0c96b9a
fuse3: 3.10.4 -> 3.10.5 2021-09-06 23:01:58 +02:00
Michael Weiss
6bae461af8
fuse3: 3.10.3 -> 3.10.4 2021-06-09 16:19:49 +02:00
Alyssa Ross
917218e8e2 fusePackages: don't manually enableParallelBuilding
This is automatic for Meson builds.
2021-05-12 11:57:35 +00:00
Guillaume Girol
0c9ed22e64
Merge pull request #119562 from symphorien/fusermountsetuid
fuse: fix mount.fuse -o setuid=...
2021-04-30 14:26:39 +00:00
Symphorien Gibol
fbb8dbdac6 fuse: fix mount.fuse -o setuid=...
when mounting a fuse fs by fstab on can write:
/nix/store/sdlflj/bin/somefuseexe#argument /mountpoint fuse setuid=someuser

mount is run by root, and setuid is a way to tell mount.fuse to run
somefuseexe as someuser instead. Under the hood, mount.fuse uses su.
The problem is that mount is run by systemd in a seemingly very empty
environment not containing /run/current-system/sw/bin nor
/run/wrappers/bin in $PATH, so mount fails with "su command not found".

We now patch the command to run su with an absolute path.

man mount.fuse3 indicates that this option is reserved to root (or with
enough capabilities) so not using
/run/wrappers/bin/su is thus correct. It has the very small advantage of
possibly working on non nixos.
2021-04-17 21:51:40 +02:00
Michael Weiss
4e90ff6e61
fuse3: 3.10.2 -> 3.10.3 2021-04-12 13:45:51 +02:00
Michael Weiss
df9dac5e77
fuse3: 3.10.1 -> 3.10.2 (#112016) 2021-02-06 11:52:09 +01:00
Ben Siraphob
16d91ee628 pkgs/os-specific: stdenv.lib -> lib 2021-01-17 23:26:08 +07:00
Profpatsch
4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
Michael Weiss
101c5a96ad
fuse3: 3.10.0 -> 3.10.1 (#106162) 2020-12-07 16:37:19 +01:00
Graham Christensen
bc49a0815a
utillinux: rename to util-linux 2020-11-24 12:42:06 -05:00
Michael Weiss
33473c422c
fuse3: 3.9.4 -> 3.10.0 (#100075) 2020-10-10 12:51:49 +02:00
Michael Weiss
a3c71c3e5d
fuse3: 3.9.2 -> 3.9.4 (#95072)
Note: Version 3.9.3 and 3.9.4 are equivalent:
"This was an "accidental" release, it is equivalent to 3.9.3."
2020-08-10 16:04:55 +02:00
Michael Weiss
82a0240bb0
fuse3: 3.9.1 -> 3.9.2 (#90232) 2020-06-13 12:23:42 +02:00
Michael Weiss
68e9ddacc2
fuse3: 3.9.0 -> 3.9.1 (#82999) 2020-03-21 21:41:37 +01:00
Michael Weiss
e6b29634d2
fuse3: 3.8.0 -> 3.9.0 (#75655)
Changelog: https://github.com/libfuse/libfuse/blob/fuse-3.9.0/ChangeLog.rst
2019-12-14 20:16:36 +01:00
Michael Weiss
828061351c
fuse3: 3.7.0 -> 3.8.0 2019-11-03 14:21:43 +01:00
Michael Weiss
262b17a375
fuse3: 3.6.2 -> 3.7.0 2019-09-28 21:08:47 +02:00
volth
c814d72b51 treewide: name -> pname 2019-08-17 10:54:38 +00:00
Michael Weiss
50464716e3
fuse3: 3.6.1 -> 3.6.2 2019-07-10 13:29:00 +02:00
Michael Weiss
f2cfc158b2
fuse,fuse3: Avoid unnecessary build warnings
Do not set FUSERMOUNT_DIR since we already set it though
NIX_CFLAGS_COMPILE.

Setting it twice results in a lot of warnings like this one:

<command-line>:0:0: warning: "FUSERMOUNT_DIR" redefined

which makes the build look potentially broken.
This doesn't affect the result but fuse3 will now build without any
warnings and building fuse yields less warnings.
2019-06-14 22:09:15 +02:00
Michael Weiss
b8c827c266
fuse3: 3.5.0 -> 3.6.1 2019-06-14 13:38:22 +02:00
Michael Weiss
b3bcdf8cf5
fuse3: 3.4.2 -> 3.5.0 2019-04-16 23:40:41 +02:00
Matthew Bauer
5541559635 fuse3: use /etc/fuse.conf for configuration (#59043)
We don’t want the config file to be read only and in the Nix store.
2019-04-07 23:00:51 +02:00
Michael Weiss
c1c13e4115
fuse3: 3.4.1 -> 3.4.2 2019-03-10 00:03:25 +01:00
Michael Weiss
e7e18206dd
fuse: 2.9.8 -> 2.9.9 2019-01-05 02:26:02 +01:00
Michael Weiss
1259a24c05 fuse3: 3.3.0 -> 3.4.1 2018-12-22 17:56:42 +01:00
Michael Weiss
fee991333d fuse3: 3.2.6 -> 3.3.0 2018-11-07 14:45:27 +01:00
Michael Weiss
bf0f63090b fuse3: 3.2.5 -> 3.2.6 2018-08-31 21:42:03 +02:00
Vladimír Čunát
765d695b89
Merge branch 'staging-next'
Security fixes for a few packages are included.
2018-08-21 15:36:02 +02:00
Markus Kowalewski
da7a32ef17
fuse: add license 2018-08-20 00:47:52 +02:00
Jan Malakhovski
662756bb6d fuse: make tests run, but disable 2018-08-11 09:35:31 +00:00
Michael Weiss
ec1082c58f fuse: 2.9.7 -> 2.9.8 (security, CVE-2018-10906)
Upstream changelog:
- SECURITY UPDATE: In previous versions of libfuse it was possible to
  for unprivileged users to specify the allow_other option even when
  this was forbidden in /etc/fuse.conf. The vulnerability is present
  only on systems where SELinux is active (including in permissive
  mode).
- libfuse no longer segfaults when fuse_interrupted() is called outside
  the event loop.
- The fusermount binary has been hardened in several ways to reduce
  potential attack surface. Most importantly, mountpoints and mount
  options must now match a hard-coded whitelist. It is expected that
  this whitelist covers all regular use-cases.
- Fixed rename deadlock on FreeBSD.
2018-07-25 23:53:40 +02:00
Michael Weiss
46cd782b43 fuse3: 3.2.4 -> 3.2.5 (security, CVE-2018-10906)
Upstream changelog:
- SECURITY UPDATE: In previous versions of libfuse it was possible to
  for unprivileged users to specify the allow_other option even when
  this was forbidden in /etc/fuse.conf. The vulnerability is present
  only on systems where SELinux is active (including in permissive
  mode).
- The fusermount binary has been hardened in several ways to reduce
  potential attack surface. Most importantly, mountpoints and mount
  options must now match a hard-coded whitelist. It is expected that
  this whitelist covers all regular use-cases.
- Added a test of seekdir to test_syscalls.
- Fixed readdir bug when non-zero offsets are given to filler and the
  filesystem client, after reading a whole directory, re-reads it from a
  non-zero offset e. g. by calling seekdir followed by readdir.
2018-07-25 23:53:40 +02:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Michael Weiss
fa6941f108 fuse3: 3.2.3 -> 3.2.4 2018-07-13 16:43:21 +02:00
Michael Weiss
d3e3e131f5 fuse3: 3.2.2 -> 3.2.3 2018-05-11 22:12:53 +02:00
Michael Raskin
085eab7ef6 fuse3: install fuse.conf without execute bit 2018-04-01 23:02:25 +02:00
Michael Weiss
c00b5bf6a2 fuse3: 3.2.1 -> 3.2.2
Stop using bin/mount.fuse from fuse3 for fuse2 (mount.fuse from fuse3
isn't guaranteed to remain backwards compatible).
2018-04-01 01:55:14 +02:00