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.

Because prefix is normally /usr, and it was/is common to use /usr/var
for exactly that purpose.  Where as runstatedir was in /var/run and
not /usr.

   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.

Yes, and no.  On GNU/Linux, it was meant to be /usr/var (prefix =
"/usr"), on GNU systems it was meant to be /var (prefix = "")

If you want to do this on other systems, the best way is to setup a file where you specify the locations explisltly.

   The bug is also present in the GNU Make documentation, which seems to be 
   just a copy of the GNU coding standards.

This isn't a bug, it works as intended.

Reply via email to