README.md
1# libxdg-basedir
2
3This is my fork of **libxdg-basedir**, by Mark Nevill. The original appears to be unmaintained.
4
5I have fixed an obvious bug and performed minor cleanup up the code. More importantly, I
6intend to issue new releases when fixes are made. I cannot attest as to the quality but
7will accept pull requests containing bug fixes.
8
9## The XDG Base Directory specification
10
11**libxdg-basedir** is "An implementation of the XDG Base Directory specifications".
12[These specifications](https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html)
13set a standard for where applications should find/store preferences, cache files, and other
14run-time files/data, mostly based on the values of certain environment variables.
15
16I'm not a huge fan of the specifications: the arbitrary requirement that timestamps on files be
17updated periodically to avoid cleanup places an unnecessary burden on applications, and the
18workaround of setting the sticky bit is an abuse of a defunct feature. However, having a way of
19specifying where certain kinds of files should be placed is useful, and applications do make
20use of the specification (and this library).
21
22## Library documentation
23
24There appears to be doxygen-based comments, but I have not attempted to build documentation.
25
26## Building
27
28The library uses autotools so can usually be built and installed via an invocation similar to:
29
30 ./configure --prefix=/usr
31 make
32 make install
33
34You can install to an alternate root location (for creation of packages etc) using
35`make DESTDIR=/some/directory install`. Use `./configure --help` for available configuration
36options.
37