all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* The tricky case of "--localstatedir=/var"
@ 2016-02-16 13:57 Jookia
  2016-02-16 14:29 ` Ricardo Wurmus
                   ` (5 more replies)
  0 siblings, 6 replies; 25+ messages in thread
From: Jookia @ 2016-02-16 13:57 UTC (permalink / raw)
  To: guix-devel

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.

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2016-03-19 14:11 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-16 13:57 The tricky case of "--localstatedir=/var" Jookia
2016-02-16 14:29 ` Ricardo Wurmus
2016-02-16 14:52   ` Jookia
2016-02-16 16:41   ` Andreas Enge
2016-02-16 17:12     ` Jookia
2016-02-16 17:16       ` Andreas Enge
2016-02-16 16:04 ` Tobias Geerinckx-Rice
2016-02-16 16:08   ` Tobias Geerinckx-Rice
2016-02-16 19:11 ` Christopher Allan Webber
2016-02-16 19:59 ` Danny Milosavljevic
2016-02-16 22:42   ` Mark H Weaver
2016-02-17  9:29     ` Ricardo Wurmus
2016-02-17  8:06 ` Chris Marusich
2016-02-17  8:38   ` Jookia
2016-02-17  9:15     ` Chris Marusich
2016-02-17 10:08       ` Jookia
2016-02-17 17:50         ` Chris Marusich
2016-02-17 18:00           ` Jookia
2016-02-17 18:23           ` Andreas Enge
2016-03-17 22:11 ` Ludovic Courtès
2016-03-17 22:19   ` Mathieu Lirzin
2016-03-18  1:12   ` Jookia
2016-03-18 18:45     ` Ludovic Courtès
2016-03-19  3:27       ` Jookia
2016-03-19 14:11   ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.