Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not hard-code fusermount, add option or auto-detect instead #5695

Merged
merged 1 commit into from
Feb 19, 2024

Conversation

pabloyoyoista
Copy link
Contributor

The hard-coding is not appropriate. According to libfuse 3.0.0 release notes: "The fusermount and mount.fuse binaries have been renamed to fusermount3 and mount.fuse3 to allow co-installation of libfuse 2.x and 3.x". Some distributions seem to install a symlink, but this is not upstream's default behavior.

In addition, fusermount might be provided from non-distro sources. So a build-time option takes precedence over auto-detection logic.

Fixes #5104

Fixes #5694

executable.path() is deprecated in meson, but full_path was only available in 0.55, and the minimum version is 0.53. So I guess this introduces a bit of technical debt...

@smcv as promised

@TingPing
Copy link
Member

This all looks good for meson but flatpak still supports autotools also.

meson.build Outdated Show resolved Hide resolved
meson.build Outdated Show resolved Hide resolved
meson.build Outdated Show resolved Hide resolved
tests/meson.build Outdated Show resolved Hide resolved
@smcv
Copy link
Collaborator

smcv commented Feb 16, 2024

This all looks good for meson but flatpak still supports autotools also.

Honestly, I'm tempted to resolve that by removing Autotools from the main branch...

For 1.14.x (or Autotools in 1.15.x if we're keeping it), an AC_ARG_VAR([FUSERMOUNT]) wouldn't be difficult. Something like this (again untested):

AS_IF(["$FUSE_USE_VERSION" -ge 30],
  [default_fusermount=fusermount3],
  [default_fusermount=fusermount])
AC_ARG_VAR([FUSERMOUNT])
AC_PATH_PROG([FUSERMOUNT], [$default_fusermount])

@TingPing
Copy link
Member

Honestly, I'm tempted to resolve that by removing Autotools from the main branch...

👍 🎆 🥳 🎉

@pabloyoyoista
Copy link
Contributor Author

I have to admit, I'd rather wait some months (while continue carrying a downstream patch) than even try fix autotools (more if it's on its way out). I certainly have the patience for that :)

smcv added a commit to smcv/flatpak that referenced this pull request Feb 16, 2024
As discussed in flatpak#5695, I think we're reaching a point where removing
Autotools is preferable to fixing it.

1.14.x continues to use Autotools, so platforms whose Meson version is
too old can stay on that branch until it becomes unsupported. We have
a very conservative Meson dependency (Ubuntu 20.04).

Signed-off-by: Simon McVittie <smcv@collabora.com>
@smcv smcv mentioned this pull request Feb 16, 2024
smcv added a commit to smcv/flatpak that referenced this pull request Feb 16, 2024
As discussed in flatpak#5695, I think we're reaching a point where removing
Autotools is preferable to fixing it.

1.14.x continues to use Autotools, so platforms whose Meson version is
too old can stay on that branch until it becomes unsupported. We have
a very conservative Meson dependency (Ubuntu 20.04).

Signed-off-by: Simon McVittie <smcv@collabora.com>
smcv added a commit to smcv/flatpak that referenced this pull request Feb 16, 2024
As discussed in flatpak#5695, I think we're reaching a point where removing
Autotools is preferable to fixing it.

1.14.x continues to use Autotools, so platforms whose Meson version is
too old can stay on that branch until it becomes unsupported. We have
a very conservative Meson dependency (Ubuntu 20.04).

Signed-off-by: Simon McVittie <smcv@collabora.com>
smcv added a commit to smcv/flatpak that referenced this pull request Feb 16, 2024
As discussed in flatpak#5695, I think we're reaching a point where removing
Autotools is preferable to fixing it.

1.14.x continues to use Autotools, so platforms whose Meson version is
too old can stay on that branch until it becomes unsupported. We have
a very conservative Meson dependency (Ubuntu 20.04).

Signed-off-by: Simon McVittie <smcv@collabora.com>
smcv added a commit to smcv/flatpak that referenced this pull request Feb 16, 2024
As discussed in flatpak#5695, I think we're reaching a point where removing
Autotools is preferable to fixing it.

1.14.x continues to use Autotools, so platforms whose Meson version is
too old can stay on that branch until it becomes unsupported. We have
a very conservative Meson dependency (Ubuntu 20.04).

Signed-off-by: Simon McVittie <smcv@collabora.com>
smcv added a commit to smcv/flatpak that referenced this pull request Feb 16, 2024
As discussed in flatpak#5695, I think we're reaching a point where removing
Autotools is preferable to fixing it.

1.14.x continues to use Autotools, so platforms whose Meson version is
too old can stay on that branch until it becomes unsupported. We have
a very conservative Meson dependency (Ubuntu 20.04).

Signed-off-by: Simon McVittie <smcv@collabora.com>
smcv added a commit that referenced this pull request Feb 16, 2024
As discussed in #5695, I think we're reaching a point where removing
Autotools is preferable to fixing it.

1.14.x continues to use Autotools, so platforms whose Meson version is
too old can stay on that branch until it becomes unsupported. We have
a very conservative Meson dependency (Ubuntu 20.04).

Signed-off-by: Simon McVittie <smcv@collabora.com>
@smcv
Copy link
Collaborator

smcv commented Feb 16, 2024

@pabloyoyoista: Please rebase on git main when convenient, now that it's Meson-only. The Meson build will now be tested on Ubuntu 20.04, which might reveal some lurking backwards-compatibility issues if we didn't spot them during review.

tests/libtest.sh Outdated Show resolved Hide resolved
tests/libtest.sh Outdated Show resolved Hide resolved
The hard-coding is not appropriate. According to libfuse 3.0.0 release
notes: "The fusermount and mount.fuse binaries have been renamed to
fusermount3 and mount.fuse3 to allow co-installation of libfuse 2.x
and 3.x". Some distributions seem to install a symlink, but this is
not upstream's default behavior.

In addition, fusermount might be provided from non-distro sources. So
a build-time option takes precedence over auto-detection logic.

Fixes flatpak#5104

Fixes flatpak#5694
@pabloyoyoista
Copy link
Contributor Author

Rebased, seems like tests are running, so hopefully the meson part worked out as expected 🎉 Thanks a lot for doing this!!

@smcv smcv merged commit 2cb17b4 into flatpak:main Feb 19, 2024
9 checks passed
@pabloyoyoista pabloyoyoista deleted the fusermount3 branch March 1, 2024 13:45
GeorgesStavracas pushed a commit to GeorgesStavracas/flatpak that referenced this pull request Apr 26, 2024
As discussed in flatpak#5695, I think we're reaching a point where removing
Autotools is preferable to fixing it.

1.14.x continues to use Autotools, so platforms whose Meson version is
too old can stay on that branch until it becomes unsupported. We have
a very conservative Meson dependency (Ubuntu 20.04).

Signed-off-by: Simon McVittie <smcv@collabora.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants