ec4387afba
This is part of taking over from librpm. The most important high level goal is fully unprivilged operation. Right now we're basically starting to do what http://libguestfs.org/supermin.1.html does, except in C, and faster. There's no reason that `compose tree` should require privileges. However right now, things like `%post` scripts will want to run in the target root - so we'd have to require `linux-user-chroot`. Regardless of unprivileged operation though, another major thing we can do is use our control over the unpacking process to do a lot more sophisticated caching. We can build up a precise mapping of (rpm ENVR, file path, selinux label) -> object and avoid rechecksumming each time. And even for files that aren't known, we can parallelize commit with unpacking, etc. (Ok assuming treecompose-post won't mutate anything). |
||
---|---|---|
.. | ||
main.c | ||
rpmostree-builtin-compose.c | ||
rpmostree-builtin-db.c | ||
rpmostree-builtin-deploy.c | ||
rpmostree-builtin-internals.c | ||
rpmostree-builtin-rebase.c | ||
rpmostree-builtin-rollback.c | ||
rpmostree-builtin-status.c | ||
rpmostree-builtin-upgrade.c | ||
rpmostree-builtins.h | ||
rpmostree-compose-builtin-sign.c | ||
rpmostree-compose-builtin-tree.c | ||
rpmostree-compose-builtins.h | ||
rpmostree-db-builtin-diff.c | ||
rpmostree-db-builtin-list.c | ||
rpmostree-db-builtin-version.c | ||
rpmostree-db-builtins.h | ||
rpmostree-dbus-helpers.c | ||
rpmostree-dbus-helpers.h | ||
rpmostree-internals-builtin-unpack.c | ||
rpmostree-internals-builtins.h | ||
rpmostree-libbuiltin.c | ||
rpmostree-libbuiltin.h | ||
tmpfiles-ostree-integration.conf |