dotfiles/bin/§software
2024-02-19 20:37:09 +01:00

72 lines
2.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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\`)"