summaryrefslogtreecommitdiff
path: root/bash
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2018-02-23 12:46:32 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2018-02-26 19:06:59 +0000
commit7f88fddcd41f0fb12333eba145c99d2499b7767f (patch)
treee7d94073c4356c4cff20c4919883f4b197777362 /bash
parentc40a47e965d139cf6e72192bd582098a635b72f4 (diff)
downloadostree-7f88fddcd41f0fb12333eba145c99d2499b7767f.tar.gz
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
Diffstat (limited to 'bash')
-rw-r--r--bash/ostree31
1 files changed, 31 insertions, 0 deletions
diff --git a/bash/ostree b/bash/ostree
index fe8e3d2c..edef6cff 100644
--- a/bash/ostree
+++ b/bash/ostree
@@ -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