diff options
author | merakor <cem@ckyln.com> | 2020-07-24 14:11:03 +0000 |
---|---|---|
committer | merakor <cem@ckyln.com> | 2020-07-24 14:11:03 +0000 |
commit | 3bbb028b00fafc5c0d5e47c96e21a61ef5e842ac (patch) | |
tree | bef990822c87175e2eb074ae3961863a5b175c98 /src/cpt-alternatives | |
parent | 0d634aa1f1710d949a5498cd3803a17c5426ca6a (diff) | |
download | cpt-3bbb028b00fafc5c0d5e47c96e21a61ef5e842ac.tar.gz |
tools: move to src
FossilOrigin-Name: e320e235b6dd6b0d4b0d04df12c1c5e481c524412d286dc6375b6cd4231eed8b
Diffstat (limited to 'src/cpt-alternatives')
-rwxr-xr-x | src/cpt-alternatives | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/cpt-alternatives b/src/cpt-alternatives new file mode 100755 index 0000000..f0d2be0 --- /dev/null +++ b/src/cpt-alternatives @@ -0,0 +1,33 @@ +#!/bin/sh -ef +# List and swap to alternatives + +# shellcheck disable=1091 +if command -v cpt-lib >/dev/null; then . cpt-lib; else . ./cpt-lib; fi + +case "$1" in --version|--help|-v|-h|'') ;; *) + [ -w "$CPT_ROOT/" ] || [ "$uid" = 0 ] || { + as_root "$0" "$@" + exit $? + } +esac + +case "$1" in + --help|-h) + out "usage: ${0##*/} [-] [pkg file]" + exit 1 + ;; + --version|-v) version ;; + -) + while read -r pkg path; do + pkg_swap "$pkg" "$path" + done + ;; + '') + # Go over each alternative and format the file name for listing. + # (pkg_name>usr>bin>ls) + set +f; for pkg in "$sys_db/../choices/"*; do + printf '%s\n' "${pkg##*/}" + done | sed 's|>| /|; s|>|/|g; /\*/d' + ;; + *) pkg_swap "$@" ;; +esac |