Re: Suggested changes to util-linux for FHS compliance.

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

 



On Fri, Feb 12, 2021 at 11:04:59AM -0600, Bruce Dubbs wrote:
> I don't recall if this has come up before, but I suggest a couple of changes
> to the default util-linux build configuuration:
> 
> 1. Change the default ADJTIME_PATH to be /var/lib/hwclock/adjtime

Good idea. I'll do that.

> 2. Change the references to /var/run to just /run or at least add a
> configure option --runstatedir=<path>.

The current default is /run if --localstatedir is NONE or /var, see
configure.ac:

 # default for old versions without $runstatedir
 AS_IF([test x"$runstatedir" = x], [runstatedir='${localstatedir}/run'])
 
 # our default if $localstatedir unchanged
 AS_CASE([$localstatedir:$runstatedir],
  [NONE:'${localstatedir}/run' | /var:'${localstatedir}/run' | NONE:'/run' ],
    [runstatedir=/run; AC_MSG_NOTICE([  --runstatedir defaults to /run])]
 )
 
 AC_SUBST([runstatedir])


Try it without an option:

        $ ./configure
        ...
        configure: Default --exec-prefix detected.
        configure:   --bindir defaults to /bin
        configure:   --sbindir defaults to /sbin
        configure:   --libdir defaults to /lib64
        configure:   --runstatedir defaults to /run

the @runstatedir@ should be available since autoconf 2.70
https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
but not sure about the option.

For example for Fedora we use:

        ./configure --build=x86_64-redhat-linux-gnu \
        --host=x86_64-redhat-linux-gnu --program-prefix= \
        --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr \
        --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc \
        --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 \
        --libexecdir=/usr/libexec --localstatedir=/var \
        --sharedstatedir=/var/lib --mandir=/usr/share/man \
        --infodir=/usr/share/info \
        --with-systemdsystemunitdir=/usr/lib/systemd/system \
        --disable-silent-rules --disable-bfs --disable-pg --enable-chfn-chsh  \
        --enable-usrdir-path --enable-write --enable-raw --enable-hardlink \
        --with-python=3 --with-systemd --with-udev --with-selinux --with-audit \
        --with-utempter --disable-makeinstall-chown


and it also defaults to /run because of --localstatedir=/var

> Currently this change can be manually made by setting an environment
> variable, runstatedir=/run when running configure, but is undocumented.

The current default should be already good enough for usual use-cases :-)

    Karel

-- 
 Karel Zak  <kzak@xxxxxxxxxx>
 http://karelzak.blogspot.com




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux