[Bug 1908814] [NEW] systemd : inconsistencies in man pages

Sergey Ivanov 1908814 at bugs.launchpad.net
Sun Dec 20 10:22:11 UTC 2020


Public bug reported:

>From "man systemd-system.conf":

When packages need to customize the configuration, they can install
configuration snippets in /usr/lib/systemd/*.conf.d/ or
/usr/local/lib/systemd/*.conf.d/. The main configuration file is read
before any of the configuration directories, and has the lowest
precedence; entries in a file in any configuration directory override
entries in the single configuration file. Files in the *.conf.d/
configuration subdirectories are sorted by their filename in
lexicographic order, regardless of in which of the subdirectories they
reside. When multiple files specify the same option, for options which
accept just a single value, the entry in the file with the
lexicographically latest name takes precedence. For options which accept
a list of values, entries are collected as they occur in files sorted
lexicographically.


However from "man SYSTEMD":

DIRECTORIES
       System unit directories
           The systemd system manager reads unit configuration from various directories. Packages that want to install unit files shall place them in the directory returned by pkg-config systemd
           --variable=systemdsystemunitdir. Other directories checked are /usr/local/lib/systemd/system and /lib/systemd/system. User configuration always takes precedence.  pkg-config systemd
           --variable=systemdsystemconfdir returns the path of the system configuration directory. Packages should alter the content of these directories only with the enable and disable commands of
           the systemctl(1) tool. Full list of directories is provided in systemd.unit(5).

       User unit directories
           Similar rules apply for the user unit directories. However, here the XDG Base Directory specification[6] is followed to find units. Applications should place their unit files in the
           directory returned by pkg-config systemd --variable=systemduserunitdir. Global configuration is done in the directory reported by pkg-config systemd --variable=systemduserconfdir. The
           enable and disable commands of the systemctl(1) tool can handle both global (i.e. for all users) and private (for one user) enabling/disabling of units. Full list of directories is provided
           in systemd.unit(5).


Obviously, the 2nd one is more precise about directories for
configuration files and therefore should be used in all cases. 1st
paragraph of doc should link there

** Affects: openssh (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/1908814

Title:
  systemd : inconsistencies in man pages

Status in openssh package in Ubuntu:
  New

Bug description:
  From "man systemd-system.conf":

  When packages need to customize the configuration, they can install
  configuration snippets in /usr/lib/systemd/*.conf.d/ or
  /usr/local/lib/systemd/*.conf.d/. The main configuration file is read
  before any of the configuration directories, and has the lowest
  precedence; entries in a file in any configuration directory override
  entries in the single configuration file. Files in the *.conf.d/
  configuration subdirectories are sorted by their filename in
  lexicographic order, regardless of in which of the subdirectories they
  reside. When multiple files specify the same option, for options which
  accept just a single value, the entry in the file with the
  lexicographically latest name takes precedence. For options which
  accept a list of values, entries are collected as they occur in files
  sorted lexicographically.

  
  However from "man SYSTEMD":

  DIRECTORIES
         System unit directories
             The systemd system manager reads unit configuration from various directories. Packages that want to install unit files shall place them in the directory returned by pkg-config systemd
             --variable=systemdsystemunitdir. Other directories checked are /usr/local/lib/systemd/system and /lib/systemd/system. User configuration always takes precedence.  pkg-config systemd
             --variable=systemdsystemconfdir returns the path of the system configuration directory. Packages should alter the content of these directories only with the enable and disable commands of
             the systemctl(1) tool. Full list of directories is provided in systemd.unit(5).

         User unit directories
             Similar rules apply for the user unit directories. However, here the XDG Base Directory specification[6] is followed to find units. Applications should place their unit files in the
             directory returned by pkg-config systemd --variable=systemduserunitdir. Global configuration is done in the directory reported by pkg-config systemd --variable=systemduserconfdir. The
             enable and disable commands of the systemctl(1) tool can handle both global (i.e. for all users) and private (for one user) enabling/disabling of units. Full list of directories is provided
             in systemd.unit(5).


  Obviously, the 2nd one is more precise about directories for
  configuration files and therefore should be used in all cases. 1st
  paragraph of doc should link there

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1908814/+subscriptions



More information about the foundations-bugs mailing list