Skip to content

Commit

Permalink
WIP: split compose tree into compose install and compose commit
Browse files Browse the repository at this point in the history
Right now `rpm-ostree compose tree` is very prescriptive about how
things work.  Trying to add anything that isn't an RPM is absolutely
fighting the system.  Our postprocessing system *enforces* no
network access (good for reproducibilty, but still prescriptive).

There's really a logical split between three phases:

 - "build a rootfs that installs packages"
 - "run postprocessing"
 - "commit result"

Our primary job is the first two - and we can do *either*. If for example
someone wants to use `rpm-ostree compose install`, and then tar up the result as
a Docker/OCI image, that becomes a bit easier. Or on the flip side, if someone
wants to do a `Dockerfile` style build system, we can make it easier to extract
the result of that and commit it into ostree.

Related issues/PRs:

 - coreos#96
 - coreos#471
  • Loading branch information
cgwalters committed Oct 5, 2017
1 parent 33cb342 commit 87f8e80
Show file tree
Hide file tree
Showing 3 changed files with 295 additions and 169 deletions.
6 changes: 6 additions & 0 deletions src/app/rpmostree-builtin-compose.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ static RpmOstreeCommand compose_subcommands[] = {
{ "tree", RPM_OSTREE_BUILTIN_FLAG_LOCAL_CMD | RPM_OSTREE_BUILTIN_FLAG_REQUIRES_ROOT,
"Install packages and commit the result to an OSTree repository",
rpmostree_compose_builtin_tree },
{ "install-root", RPM_OSTREE_BUILTIN_FLAG_LOCAL_CMD | RPM_OSTREE_BUILTIN_FLAG_REQUIRES_ROOT,
"Install packages into a target path",
rpmostree_compose_builtin_install_root },
{ "commit-root", RPM_OSTREE_BUILTIN_FLAG_LOCAL_CMD | RPM_OSTREE_BUILTIN_FLAG_REQUIRES_ROOT,
"Commit a target path",
rpmostree_compose_builtin_commit_root },
{ NULL, 0, NULL, NULL }
};

Expand Down
Loading

0 comments on commit 87f8e80

Please sign in to comment.