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 metastore.txt file, which is plain-text version of 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) DOCDIR = ${DATAROOTDIR}/doc/metastore (/usr/local/share/doc/metastore) 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.