ostree/src/ostree
Colin Walters 16d3359bf8 lib/sysroot: Move staged into deployment list, rework handling
Followup to: https://github.com/ostreedev/ostree/pull/1503
After starting some more work on on this in rpm-ostree, it is
actually simpler if the staged deployment just shows up in the list.

It's effectively opt-in today; down the line we may make it the default,
but I worry about breaking things that e.g. assume they can mutate
the deployment before rebooting and have `/etc` already merged.

There's not that many things in libostree that iterate over the deployment
list.  The biggest change here is around the
`ostree_sysroot_write_deployments_with_options` API.  I initially
tried hard to support a use case like "push a rollback" while retaining
the staged deployment, but everything gets very messy because that
function truly is operating on the bootloader list.

For now what I settled on is to just discard the staged deployment;
down the line we can enhance things.

Where we then have some new gymnastics is around implementing
the finalization; we need to go to some effort to pull the staged
deployment out of the list and mark it as unstaged, and then pass
it down to `write_deployments()`.

Closes: #1539
Approved by: jlebon
2018-04-18 18:59:15 +00:00
..
main.c main, status: Factor out deployment printing into helper 2018-03-19 17:15:27 +00:00
ostree-trivial-httpd.c main, status: Factor out deployment printing into helper 2018-03-19 17:15:27 +00:00
ot-admin-builtin-cleanup.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-deploy.c Add concept of "staged" deployment 2018-04-12 14:55:12 +00:00
ot-admin-builtin-diff.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-finalize-staged.c Add concept of "staged" deployment 2018-04-12 14:55:12 +00:00
ot-admin-builtin-init-fs.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-instutil.c bin: Hide `admin instutil` command 2018-04-11 19:11:07 +00:00
ot-admin-builtin-os-init.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-pin.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-set-origin.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-status.c lib/sysroot: Move staged into deployment list, rework handling 2018-04-18 18:59:15 +00:00
ot-admin-builtin-switch.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-undeploy.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-unlock.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtin-upgrade.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-builtins.h Add concept of "staged" deployment 2018-04-12 14:55:12 +00:00
ot-admin-functions.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-admin-functions.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-admin-instutil-builtin-grub2-generate.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-instutil-builtin-selinux-ensure-labeled.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-instutil-builtin-set-kargs.c bash-completion: Remove `admin` completions 2018-02-27 13:56:11 +00:00
ot-admin-instutil-builtins.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-admin.c Add concept of "staged" deployment 2018-04-12 14:55:12 +00:00
ot-builtin-cat.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-checkout.c lib/checkout: add filter API to skip over files 2018-02-06 15:38:20 +00:00
ot-builtin-checksum.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-commit.c libotutil: factor out utility to parse file by line 2018-02-02 22:36:49 +00:00
ot-builtin-config.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-create-usb.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-diff.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-export.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-find-remotes.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-fsck.c fsck: Mark commits with missing or deleted object partial 2018-04-14 15:36:21 +00:00
ot-builtin-gpg-sign.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-init.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-log.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-ls.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-prune.c prune: Error if --static-deltas-only without --delete-commit 2018-03-05 17:39:35 +00:00
ot-builtin-pull-local.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-pull.c lib/fetcher: Allow clients to append to User-Agent 2018-03-16 19:21:31 +00:00
ot-builtin-refs.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-remote.c bin: Hide `admin instutil` command 2018-04-11 19:11:07 +00:00
ot-builtin-reset.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-rev-parse.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-show.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-static-delta.c bin: Hide `admin instutil` command 2018-04-11 19:11:07 +00:00
ot-builtin-summary.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtin-trivial-httpd.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-builtins.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-dump.c core: Add API (and standard concept for) content checksum 2018-02-12 19:03:18 +00:00
ot-dump.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-editor.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-editor.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-main.c bin: Hide `admin instutil` command 2018-04-11 19:11:07 +00:00
ot-main.h bin: Hide `admin instutil` command 2018-04-11 19:11:07 +00:00
ot-remote-builtin-add-cookie.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-add.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-delete-cookie.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-delete.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-gpg-import.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-list-cookies.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-list.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-refs.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-show-url.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtin-summary.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-builtins.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-cookie-util.c Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
ot-remote-cookie-util.h Add SPDX-License-Identifier to source files 2018-01-30 20:03:42 +00:00
parse-datetime.h parse-datetime: use the module from gnulib 2015-12-04 11:10:46 -05:00
parse-datetime.y build: Add -Werror=undef by default, fix fallout 2017-11-06 15:30:14 +00:00