summaryrefslogtreecommitdiff
path: root/README
blob: 6c9e8810e6f2552fc42a7c9358202bce43e17387 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
metastore
=========

metastore is a tool to store the metadata of files/directories/links in
a file tree to a separate file and to later compare and apply the stored
metadata to said file tree.

It was written as a supplement to git which does not store all metadata,
making it unsuitable for e.g. storing /etc in a repository.

metastore can also be helpful if you want to create a tarball of a file
tree and make sure that "everything" (e.g. xattrs, mtime, owner, group)
is stored along with the files.


Stored metadata
---------------

metastore stores following metadata in its files:

- owner,
- group,
- permissions,
- xattrs,
- mtime - optionally.


Usage
-----

See man1/metastore.1 file, which is the manual page.


File format
-----------

See FILEFORMAT file, which describes internals of metastore file.


Requirements
------------

- Linux
- GNU make
- C99 compiler, like gcc or clang
- libbsd


Building
--------

Simply run `make` from project's root directory.

Building out-of-tree is supported out-of-the-box. Go to your chosen
build directory and run there:

    $ make -f path/to/metastore/Makefile


Installation
------------

Run `make install`.  Default settings for installation are:

     PREFIX      = /usr/local
     EXECPREFIX  = ${PREFIX}           (/usr/local)
     BINDIR      = ${EXECPREFIX}/bin   (/usr/local/bin)
     DATAROOTDIR = ${PREFIX}/share     (/usr/local/share)
     MANDIR      = ${DATAROOTDIR}/man  (/usr/local/share/man)

You can always change them, e.g.:

    $ make install PREFIX=/usr

DESTDIR is also supported.


Reporing issues
---------------

Please use the issue tracker provided by GitHub to send bug reports
or feature requests.

https://github.com/przemoc/metastore/issues


License
-------

The project is licensed under the terms of the GNU GPL v2 only license.
See LICENSE.GPLv2 file for the full license text.