Hi Paul,

On 7/14/22 18:11, Paul Smith wrote:
On Thu, 2022-07-14 at 14:16 +0200, Alejandro Colomar wrote:
How can $localstatedir be $prefix/var and at the same time
$runstatedir be /var/run (notice no prefix) if it is defined as
$localstatedir/run.

This I don't know about: it might be a problem in the description.

Since the FHS doesn't define /usr/local/var, and my Debian system
lacks it, and I don't think people are going to start symlinking
/usr/local/var to /var, I guess the coding standard really intended
to define $localstatedir as /var.

No, I don't think this is the case.  The GNU standards assume that all
software is installed into /usr/local by default, and that would assume
/usr/local/var.

If you want your software installed into "system" directories such as
/usr/bin, /var, /lib, etc. instead of /usr/local then you're expected
to reset these values yourself to what you want them to be when you
configure the software.

I want to use /usr/local. Not "system directories". I was just trying to use the correct paths, and found some broken docs about it, and had a guess :)


The runstatedir is a special case because it's a system-managed
directory (in that the system will clean it), which is usually shared
by all services regardless of where they're installed.  Unless the
system is supposed to also manage /usr/local/run or similar?  I hadn't
heard that but I've not checked.

Hmm, it makes sense. /usr/local/var is persistent stuff, so should be in /usr/local for sure.

/var/run isn't, and so it can live there.

So, either the description should be fixed so that $runstatedir doesn't depend on $localstatedir, or so that it is /usr/local/var/run. I don't know which one should be preferred. Maybe using /usr/local/var/run is better, because it allows symlinking to /var/run/local or /var/run depending on preferences.

Cheers,

Alex

--
Alejandro Colomar
Linux man-pages comaintainer; http://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/

Reply via email to