README: Reorder, add sections and extract stuff into FILEFORMAT file.
[metastore.git] / README
blob6c9e8810e6f2552fc42a7c9358202bce43e17387
1 metastore
2 =========
4 metastore is a tool to store the metadata of files/directories/links in
5 a file tree to a separate file and to later compare and apply the stored
6 metadata to said file tree.
8 It was written as a supplement to git which does not store all metadata,
9 making it unsuitable for e.g. storing /etc in a repository.
11 metastore can also be helpful if you want to create a tarball of a file
12 tree and make sure that "everything" (e.g. xattrs, mtime, owner, group)
13 is stored along with the files.
16 Stored metadata
17 ---------------
19 metastore stores following metadata in its files:
21 - owner,
22 - group,
23 - permissions,
24 - xattrs,
25 - mtime - optionally.
28 Usage
29 -----
31 See man1/metastore.1 file, which is the manual page.
34 File format
35 -----------
37 See FILEFORMAT file, which describes internals of metastore file.
40 Requirements
41 ------------
43 - Linux
44 - GNU make
45 - C99 compiler, like gcc or clang
46 - libbsd
49 Building
50 --------
52 Simply run `make` from project's root directory.
54 Building out-of-tree is supported out-of-the-box. Go to your chosen
55 build directory and run there:
57     $ make -f path/to/metastore/Makefile
60 Installation
61 ------------
63 Run `make install`.  Default settings for installation are:
65      PREFIX      = /usr/local
66      EXECPREFIX  = ${PREFIX}           (/usr/local)
67      BINDIR      = ${EXECPREFIX}/bin   (/usr/local/bin)
68      DATAROOTDIR = ${PREFIX}/share     (/usr/local/share)
69      MANDIR      = ${DATAROOTDIR}/man  (/usr/local/share/man)
71 You can always change them, e.g.:
73     $ make install PREFIX=/usr
75 DESTDIR is also supported.
78 Reporing issues
79 ---------------
81 Please use the issue tracker provided by GitHub to send bug reports
82 or feature requests.
84 https://github.com/przemoc/metastore/issues
87 License
88 -------
90 The project is licensed under the terms of the GNU GPL v2 only license.
91 See LICENSE.GPLv2 file for the full license text.