sysroot: Add concept of deployment "pinning" 📌

Example user story: Jane rebases her OS to a new major version N, and wants to
keep around N-1 even after a few upgrades for a while so she can easily roll
back. I plan to add `rpm-ostree rebase --pin` to opt-in to this for example.

Builds on the new `libostree-transient` group to store pinning state there.

Closes: https://github.com/ostreedev/ostree/issues/1460

Closes: #1464
Approved by: jlebon
This commit is contained in:
Colin Walters authored and Atomic Bot committed 2018-02-26 19:06:59 +00:00
1 parent c40a47e965
commit 7f88fddcd4
15 files changed
+323 -1

No files matched your search

+31
View File
@@ -399,6 +399,37 @@ _ostree_admin_os_init() {
return 0
}
_ostree_admin_pin() {
local boolean_options="
$main_boolean_options
"
local options_with_args="
--sysroot
"
local options_with_args_glob=$( __ostree_to_extglob "$options_with_args" )
case "$prev" in
--sysroot)
__ostree_compreply_dirs_only
return 0
;;
$options_with_args_glob )
return 0
;;
esac
case "$cur" in
-*)
local all_options="$boolean_options $options_with_args"
__ostree_compreply_all_options
;;
esac
return 0
}
_ostree_admin_set_origin() {
local boolean_options="
$main_boolean_options