diff options
Diffstat (limited to 'docs/markdown')
-rw-r--r-- | docs/markdown/Installing.md | 14 | ||||
-rw-r--r-- | docs/markdown/snippets/meson_install_elevate.md | 9 |
2 files changed, 23 insertions, 0 deletions
diff --git a/docs/markdown/Installing.md b/docs/markdown/Installing.md index a692afe..0bc9a47 100644 --- a/docs/markdown/Installing.md +++ b/docs/markdown/Installing.md @@ -102,6 +102,20 @@ Telling Meson to run this script at install time is a one-liner. The argument is the name of the script file relative to the current subdirectory. +## Installing as the superuser + +When building as a non-root user, but installing to root-owned locations via +e.g. `sudo ninja install`, ninja will attempt to rebuild any out of date +targets as root. This results in various bad behaviors due to build outputs and +ninja internal files being owned by root. + +Running `meson install` is preferred for several reasons. It can rebuild out of +date targets and then re-invoke itself as root. + +*(since 1.1.0)* Re-invoking as root will try to guess the user's preferred method for +re-running commands as root. The order of precedence is: sudo, doas, pkexec +(polkit). An elevation tool can be forced by setting `$MESON_ROOT_CMD`. + ## DESTDIR support Sometimes you need to install to a different directory than the diff --git a/docs/markdown/snippets/meson_install_elevate.md b/docs/markdown/snippets/meson_install_elevate.md new file mode 100644 index 0000000..2ba92e6 --- /dev/null +++ b/docs/markdown/snippets/meson_install_elevate.md @@ -0,0 +1,9 @@ +## `meson install` now supports user-preferred root elevation tools + +Previously, when installing a project, if any files could not be installed due +to insufficient permissions the install process was automatically re-run using +polkit. Now it prompts to ask whether that is desirable, and checks for +CLI-based tools such as sudo or opendoas or `$MESON_ROOT_CMD`, first. + +Meson will no longer attempt privilege elevation at all, when not running +interactively. |