debian-forge/osbuild/util
David Rheinsberg 8a9efa89fc util/fscache: provide store_tree() helper
Add a helper that copies an entire directory tree including all metadata
into the cache. Use it in the ObjectStore to commit entries.

Unlike FsCache.store() this does not require entering the context from
the call-site. Instead, all data is directly passed to the cache and the
operation is under full control of the cache.

The ObjectStore is adjusted to make use of this. This requires exposing
the root-path (rather than the tree-path) to be accessible for
individual objects, hence a `path`-@property is added alongside the
`tree`-@property. Note that `__fspath__` still refers to the tree-path,
since this is the only path really required for outside access other
than from the object-manager itself.

Signed-off-by: David Rheinsberg <david.rheinsberg@gmail.com>
2022-12-20 16:56:32 +01:00
..
__init__.py util: mark as module 2020-04-21 17:00:04 +02:00
checksum.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
ctx.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
fscache.py util/fscache: provide store_tree() helper 2022-12-20 16:56:32 +01:00
jsoncomm.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
linux.py linux: add Libc accessor with renameat2(2) 2022-12-06 09:48:38 +01:00
lorax.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
lvm2.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
mnt.py objectstore, move {u,}mount methods to util.mnt 2022-08-13 19:21:52 +01:00
osrelease.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
ostree.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
parsing.py util: add helper to parse size strings 2022-12-09 12:03:40 +01:00
path.py util/path: new clamp mtime function 2022-12-15 13:10:35 +00:00
pe32p.py util: add module to parse PE32+ files 2022-11-14 20:10:59 +01:00
rhsm.py util: fix typo in get_consumer_secrets 2022-12-09 21:46:43 +01:00
rmrf.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
selinux.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
term.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
types.py osbuild: fix optional-types 2022-07-13 17:31:37 +02:00
udev.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00