72 lines
2.1 KiB
Bash
Executable File
72 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
||
this="${0##*/}"
|
||
this_version="2021-12-01"
|
||
err() { printf >&2 "Error: $*\n"; exit 1; }
|
||
log() { printf ":: $* ::\n"; }
|
||
|
||
if [ ! -t 0 ]; then
|
||
exo-open --launch TerminalEmulator -- -e "$this $*"
|
||
exit
|
||
fi
|
||
action="${1:---help}"
|
||
if [[ "$action" = "--help" ]]; then
|
||
while read; do printf '%s\n' "$REPLY"
|
||
done <<-EOF
|
||
$this ($this_version) <andrle.jan@centrum.cz>
|
||
Utility for updating my packages managers such as \`npm\`, \`apt\`, \`github-releases\` …
|
||
|
||
Usage: $this --[help|check|update] [basic|dangerous]
|
||
[default] --help: show this text
|
||
--check: check updates
|
||
--update: update all
|
||
--list: list of packages managers
|
||
|
||
modificators:
|
||
[default] basic: checks/updates regular packages managers
|
||
dangerous: ↘+also \`pip\`
|
||
EOF
|
||
exit 0
|
||
fi
|
||
|
||
if [[ "$action" = "--list" ]]; then
|
||
echo npm
|
||
echo github-releases.js
|
||
echo _vim_plugins – updates only
|
||
echo snap – updates only
|
||
echo flatpak – updates only
|
||
echo pip [dangerous]
|
||
exit 0
|
||
fi
|
||
modificator="${2:-basic}"
|
||
if [[ "$action" = "--check" ]]; then
|
||
log "npm outdated --global (for update use: \`npm update --global\`)"
|
||
npm outdated --global
|
||
[[ "${?}" = "0" ]] && echo "> all up-to.date"
|
||
log "github-releases.js --check (for update use for example: \`github-releases.js --update all\`)"
|
||
github-releases.js --check
|
||
if [[ ! "$modificator" = "basic" ]]; then
|
||
log "pip list --outdated"
|
||
pip list --outdated
|
||
fi
|
||
exit 0
|
||
fi
|
||
if [[ "$action" = "--update" ]]; then
|
||
log "npm update --global"
|
||
npm update --global
|
||
log "github-releases.js --update all"
|
||
github-releases.js --update all
|
||
log "_vim_plugins --update"
|
||
_vim_plugins --update
|
||
log "snap refresh --list"
|
||
snap refresh --list
|
||
log "flatpak update"
|
||
flatpak update
|
||
if [[ ! "$modificator" = "basic" ]]; then
|
||
log "pip list --outdated --format=freeze | grep -v '^\\-e' | cut -d = -f 1 | xargs -n1 pip install -U --user"
|
||
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U --user
|
||
fi
|
||
exit 0
|
||
fi
|
||
|
||
err "Wrong arguments (use \`--help\`)"
|