[PATCH v2 11/14] Makefile.inc, README.md: fix docs for prefix in split-usr case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Martin Wilck <mwilck@xxxxxxxx>

systemd with "split-usr=true" uses rootprefixdir as prefix for
units and for udev libraries and rules ("udevlibexecdir" in
systemd). Fix the documentation for this case. Also, slightly
improve the paragraph about SCSI module loading.

Signed-off-by: Martin Wilck <mwilck@xxxxxxxx>
Cc: Xose Vazquez Perez <xose.vazquez@xxxxxxxxx>
---
 Makefile.inc |  6 ++++--
 README.md    | 25 ++++++++++++++++++-------
 2 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/Makefile.inc b/Makefile.inc
index 8655cba..a20e2ce 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -40,8 +40,10 @@ usr_prefix	:= $(prefix)
 # Prefix for configfuration files (multipath.conf)
 etc_prefix	:= $(prefix)
 # Where to install systemd-related files. systemd is usually installed under /usr
-# Note: some systemd installations use separate "prefix" and "rootprefix".
-# In this case, override only unitdir to use systemd's "rootprefix" instead of $(systemd_prefix)
+# Note: systemd installations with "split-usr=true" use separate "prefixdir" and
+# "rootprefixdir". Our systemd_prefix corresponds to "prefixdir".
+# In this case, override only unitdir and libudevdir below to use
+# systemd's "rootprefixdir" instead of $(systemd_prefix)
 systemd_prefix  := /usr
 
 # Make sure all prefix variables end in "/"
diff --git a/README.md b/README.md
index 524c9fb..25ce963 100644
--- a/README.md
+++ b/README.md
@@ -111,6 +111,13 @@ The following variables can be passed to the `make` command line:
    polling API. For use with pre-5.0 kernels that don't support dmevent polling
    (but even if you don't use this option, multipath-tools will work with
    these kernels).
+ * `SYSTEMD`: The version number of systemd (e.g. "244") to compile the code for.
+   The default is autodetected, assuming that the systemd version in the build
+   environment is the same as on the target system. Override the value to
+   build for a different systemd version, or set it to `""` to build for a
+   system without systemd.
+   **Caution:** multipathd without systemd has been largely untested by the
+   upstream maintainers since at least 2020.
  * `SCSI_DH_MODULES_PRELOAD="(list)"`: specify a space-separated list of SCSI
    device handler kernel modules to load early during boot. Some
    multipath-tools functionality depends on these modules being loaded
@@ -122,7 +129,9 @@ The following variables can be passed to the `make` command line:
    It's especially useful if `scsi_mod` is builtin but `scsi_dh_alua` and
    other device handler modules are built as modules. If `scsi_mod` itself is compiled
    as a module, it might make more sense to use a module softdep for the same
-   purpose.
+   purpose by creating a `modprobe.d` file like this:
+       
+        softdep scsi_mod post: scsi_dh_alua scsi_dh_rdac
 
 ### Installation Paths
 
@@ -133,9 +142,9 @@ The following variables can be passed to the `make` command line:
    for booting. Non-usr-merged distributions[^systemd] may want to set this to
    `/usr`. The default is `$(prefix)`.
  * `systemd_prefix`: Prefix for systemd-related files[^systemd]. The default is `/usr`.
- * `etc_prefix`: The prefix for configuration files. "Usr-merged"
+ * `etc_prefix`: The prefix for configuration files. "usr-merged"
    distributions with immutable `/usr`[^systemd] may want to set this to
-   `/etc`. The default is `$(prefix)`.
+   `""`. The default is `$(prefix)`.
  * `LIB`: the subdirectory under `prefix` where shared libraries will be
    installed. By default, the makefile uses `/lib64` if this directory is
    found on the build system, and `/lib` otherwise.
@@ -144,10 +153,12 @@ The options `configdir`, `plugindir`, `configfile`, and `statedir` above can
 be used for setting individual paths where the `prefix` variables don't provide
 sufficient control. See `Makefile.inc` for even more fine-grained control.
 
-[^systemd]: Some systemd installations use separate `prefix` and `rootprefix`. 
-	On such a distribution, set `prefix`, and override `unitdir` to use systemd's
-   `rootprefix`. Recent systemd releases generally require everything to be
-	installed under `/usr` (so-called "usr-merged" distribution). On "usr-
+[^systemd]: systemd installations up to v254 which have been built with
+    `split-usr=true` may use separate `prefixdir` and `rootprefixdir`
+    directories, where `prefixdir` is a subdirectory of `rootprefixdir`.
+	multipath-tools' `systemd_prefix` corresponds to systemd's `prefixdir`.
+	On such distributions, override `unitdir` and `libudevdir` to use systemd's
+   `rootprefix`: `make libudevdir=/lib/udev unitdir=/lib/systemd/system`
 
 ### Compiler Options
 
-- 
2.42.0





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux