guix-devel
[Top][All Lists]
Advanced

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

The tricky case of "--localstatedir=/var"


From: Jookia
Subject: The tricky case of "--localstatedir=/var"
Date: Wed, 17 Feb 2016 00:57:29 +1100
User-agent: Mutt/1.5.24 (2015-08-30)

Hey there,

Over the past month a few people (myself included) have been hit by the 'gotcha'
of not running ./configure with "--localstatedir=/var". It doesn't say this in
the documentation but I question whether not having it as /var is a sane
default. I'm sure this is somehow tied to the conventions of /usr/local.
Here's how this issue could be fixed, in order of usefulness:

* Change localstatedir to /var by default.

This makes a lot of sense considering that's where it's expected to be. Even
patches within Guix assume it's in /var , so installing and building Guix
without localstatedir in /var would not only be a weird idea, it will actually
*break* things. See avahi, xorg-server, findutils.

* Put the localstatedir in /gnu.

This is actually what Nix does, so I'm a little surprised as to why Guix has
deviated from this practice. This will require updating all the patches to use
/gnu/var as the localstatedir. What you get from this is the idea that the state
is linked with the store (which it is!) and more importantly, comes in to the
territory of GNU.

* Instruct people to always pass "--localstatedir=/var" to configure.

Sure, this could be done. But people are going to forget to do this and we'll
have to explain on IRC to read the manual, then have them need to redo their
entire Guix setup once they find something broken. Manually moving the state
directory around is fragile enough since it involves moving symlinks around for
profiles and isn't easily explained to people.

More importantly, people are going to come away from their Guix experience with
the feeling that something easily avoided has cost them a lot of their time, and
they'd be right.

The advantage this approach has is that localstatedir is configurable.
Unfortunately, packages will still be broken. Perhaps it's time to substitute
patch files too and introduce localstatedir as a build variable.

* Do nothing.

Software will still be confusing and debatedly broken. No doubt people will be
having this discussion again.

Cheers,
Jookia.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]