ff4ff35918
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
79 lines
2.0 KiB
Plaintext
79 lines
2.0 KiB
Plaintext
#compdef beadm
|
|
|
|
local cmd expl args cmds
|
|
|
|
if (( CURRENT == 2 )); then
|
|
[[ $OSTYPE = solaris* ]] && cmds=( set-policy )
|
|
_wanted subcommands expl 'subcommand' compadd $cmds \
|
|
activate create destroy list mount rename unmount
|
|
return
|
|
fi
|
|
|
|
cmd="$words[2]"
|
|
curcontext="${curcontext%:*}-$cmd:"
|
|
shift words
|
|
(( CURRENT-- ))
|
|
|
|
case $cmd in
|
|
activate)
|
|
_wanted boot-environs expl 'boot environment' _be_name
|
|
;;
|
|
create)
|
|
[[ $OSTYPE = solaris* ]] && args=(
|
|
'-a[activate new BE]'
|
|
'-d[description]:description'
|
|
'*-o[property]:zfs property'
|
|
'-p[create new BE in specified zfs pool]:zfs pool:_zfs_pool'
|
|
)
|
|
_arguments -A "-*" -s $args \
|
|
'-e[base BE]:BE name or snapshot:_be_name -t all' \
|
|
':new BE name:'
|
|
;;
|
|
destroy)
|
|
[[ $OSTYPE = solaris* ]] && args=(
|
|
'-f[unmount BE if necessary]'
|
|
'(:)-O[destroy all orphaned boot environments]'
|
|
)
|
|
_arguments -A "-*" $args \
|
|
"-F[don't prompt for verification]" \
|
|
':BE or BE snapshot:_be_name'
|
|
;;
|
|
list)
|
|
if [[ $OSTYPE = solaris* ]]; then
|
|
args=( '-d[list subordinate filesystems]' )
|
|
elif [[ $OSTYPE = freebsd* ]]; then
|
|
args=( '-D[display space usage of boot environment]' )
|
|
fi
|
|
_arguments -A "-*" -s $args \
|
|
'-a[list subordinate filesystems and snapshots]' \
|
|
'-s[list snapshots]' \
|
|
'-H[parseable format]' \
|
|
':boot environment:_be_name'
|
|
;;
|
|
mount)
|
|
[[ $OSTYPE = solaris* ]] &&
|
|
args=( '-b[mount associated boot pool dataset]' )
|
|
_arguments -A "-*" $args \
|
|
':BE name:_be_name' \
|
|
':mountpoint:_path_files -/'
|
|
;;
|
|
rename)
|
|
_arguments -A "-*" \
|
|
':existing boot environment name:_be_name' \
|
|
':new boot environment:'
|
|
;;
|
|
set-policy)
|
|
_arguments -A "-*" \
|
|
'*-n[specify policy]:policy:(static -static noevict -noevict)' \
|
|
'*:BE name:_be_name'
|
|
;;
|
|
u(n|)mount)
|
|
_arguments -A "-*" \
|
|
'-f[force unmount]' \
|
|
':boot environment:_be_name'
|
|
;;
|
|
*)
|
|
_message "unknown beadm subcommand: $service"
|
|
;;
|
|
esac
|