[basedir-spec] XDG_DATA_HOME and reboot-preserved read-write state?
piegames
piegames at darmstadt.ccc.de
Mon Feb 8 20:12:48 UTC 2021
Hi
> by write-once I mean the same write-once that applies to /usr/share
> from a user point of view
I agree with most of what John Bollinger said there.
However, I'd like to add one point about user-local installations,
because you are talking a lot about it. I am conviced that installing
an application with a prefix pointing somewhere into home is an
absolute niche case. Most systems are single-user anyway, so if you
simply want to get around your package manager, /usr/local probably is
a better place. Most software installed in HOME actually comes from
third-party package managers. Asking where they should which data where
is a good question, especially because the specification is a bit weak
on their use cases. That's part of the reason so few of them adhere to
it.
> > Only relevant data shall be put into XDG_DATA_HOME.
> I'm not sure what "relevant" means.
Basically everything that's worth space on my backup. If I have some
software installtions in XDG_DATA_HOME I won't be angry, but the better
way IMO is to put that data into XDG_CACHE_HOME and only store the
registry database in XDG_DATA_HOME.
> No comment about my concern about "portable" and "important" in the
> current text about XDG_STATE_HOME ?
With "portable", I was meaning "bound to the specific
machine/installation" in the broadest sense. Regarding "important", see
"relevant" above.
> What do you think about dropping the bit about importance and making
> "portable" more precise, i.e. that two machines should have their own
> copy or so?
I won't stop you. But I'm fine with the current wording and I'm simply
happy that the XDG_STATE_HOME got merged. If I've learned one thing
from that contribution: this spec isn't a "I have a nice idea let's
formalize it". It's more a "let's look at how people do things and
write down the common ground of things that worked well". So my
suggestion is to wait a few years until some applications actually use
XDG_STATE_HOME, and then have a look at them before making any
adjustments to the spec.
piegames
On Sun, 2021-02-07 at 20:47 +0100, Sebastian Pipping wrote:
> Hi piegames,
>
>
> On 07.02.21 19:02, piegames wrote:
> > > I don't see that in the spec, I just re-checked. What makes you
> > > think
> > > it's read-write, more than write-once? what part/sentences of
> > > the
> > > spec are your source on that?
> >
> > Well, the spec states "There is a single base directory relative to
> > which user-specific data files should be written. This directory is
> > defined by the environment variable $XDG_DATA_HOME." I've never
> > heard
> > of something being write-once in this context. What would that be
> > and
> > what for?
>
> by write-once I mean the same write-once that applies to /usr/share
> from
> a user point of view: The package manager puts things there through
> packages, that's the first write for any file involved. After that,
> nothing but the package manager is supposed to replace or even change
> files in /usr/share, right? (I'm ignoring at cases without a package
> manager and/or a technically immutable /usr/share here.) That's what
> I
> mean by "write-once".
>
> Now the question is whether ~/.local/share has the same semantics or
> not
> and if not, why it's called "share" then.
>
>
> > Either you have the write permission or you don't and if you
> > have it's up to you what and how often you write.
>
> The root user often has write permissions to /usr/share but they are
> still not supposed to write to /usr/share directly, as explained
> above.
> So "can" and "should" are two different pairs of shoes, no?
>
>
> > > e.g. when XDG_DATA_HOME just contains regular /usr/share
> > > like content that is shipped by the upstream application
> >
> > I think you are misunderstanding the specification. Why should
> > XDG_DATA_HOME contain this data?
>
> For instance, because someone installed an application just to its
> own
> user space because they cannot get root permissions or do not want to
> install for every single user.
>
>
> > Everything that is shipped by the
> > distribution is already available in the XDG_DATA_DIRS, that's what
> > they are for.
>
> As I said: user-specific installation when system-wide installation
> is
> not or not a good option.
>
>
> > Only relevant data shall be put into XDG_DATA_HOME.
>
> I'm not sure what "relevant" means.
>
>
> > > What does it take to get a new version of basedir-spec released
> > > in
> > > general — is that documented somewhere?
> >
> > Great question. I've opened
> > https://gitlab.freedesktop.org/xdg/xdg-specs/-/issues/70
>
> Cool.
>
> Is commit a0d218ad7da9f01fc5d01867f361aecc5cd61342 considered to be
> the
> official version 0.7?
>
> No comment about my concern about "portable" and "important" in the
> current text about XDG_STATE_HOME ?
>
> Best
>
>
>
> Sebastian
> _______________________________________________
> xdg mailing list
> xdg at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/xdg
More information about the xdg
mailing list