Skip to content
Snippets Groups Projects
Commit 1bdf777d authored by Simon McVittie's avatar Simon McVittie
Browse files

pressure-vessel: Add code to parse and apply a mtree(5) manifest


This can be used to create directories, symlinks and zero-byte files,
create files as a clone (hard-link or copy) of files in a reference
directory, assert that files exist, set executable/non-executable
permissions, and set files' modification times.

When cloning files from a reference directory, the default is to use
the same filename as the destination, but that can be overridden
(for example to deal with inconvenient/non-Windows-friendly filenames).
This is also actually slightly faster than pv_cheap_tree_copy(),
presumably because the manifest is contiguous on-disk and the
directories are not necessarily.

Setting directories' modification times is implemented, but probably
won't work in practice, because any files we create in the directory
will alter its mtime.

Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
parent 658ed7ce
No related branches found
No related tags found
1 merge request!295pressure-vessel: Use a mtree(5) manifest to set up the runtime
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment