Add ability to skip updates in update-all-packages
parent
4e413f26f9
commit
642017d72b
|
@ -3,8 +3,55 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
UNAME=$(sh -c 'uname 2>/dev/null || echo Unknown')
|
UNAME=$(sh -c 'uname 2>/dev/null || echo Unknown')
|
||||||
|
declare -A SKIP=()
|
||||||
|
POSITIONAL=()
|
||||||
|
|
||||||
if type pacman > /dev/null 2>&1
|
while [[ $# -gt 0 ]]; do
|
||||||
|
key="$1"
|
||||||
|
|
||||||
|
case $key in
|
||||||
|
-s|--skip)
|
||||||
|
shift # past argument
|
||||||
|
SKIP["$1"]=1
|
||||||
|
shift # past value
|
||||||
|
;;
|
||||||
|
*) # unknown option
|
||||||
|
POSITIONAL+=("$1") # save it in an array for later
|
||||||
|
shift # past argument
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
declare -A RUN=()
|
||||||
|
|
||||||
|
for command in "pacman" "apt" "flatpak" "gem" "nvim" "asdf" "brew" "pacman";
|
||||||
|
do
|
||||||
|
echo $command
|
||||||
|
if type $command > /dev/null 2>&1
|
||||||
|
then
|
||||||
|
if [ "${SKIP[$command]}" = "1" ]; then
|
||||||
|
RUN[$command]=0
|
||||||
|
else
|
||||||
|
RUN[$command]=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
RUN[$command]=0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Special case for vim
|
||||||
|
if type -f vim > /dev/null 2>&1
|
||||||
|
then
|
||||||
|
if [ "${SKIP[vim]}" = "1" ]; then
|
||||||
|
RUN[vim]=0
|
||||||
|
else
|
||||||
|
RUN[vim]=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
RUN[vim]=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${RUN[pacman]}" = "1" ]
|
||||||
then
|
then
|
||||||
# Clear out orphans
|
# Clear out orphans
|
||||||
sudo pacman -Rns $(pacman -Qtdq)
|
sudo pacman -Rns $(pacman -Qtdq)
|
||||||
|
@ -16,7 +63,7 @@ then
|
||||||
aurfetch update-all -q
|
aurfetch update-all -q
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if type apt > /dev/null 2>&1
|
if [ "${RUN[apt]}" = "1" ]
|
||||||
then
|
then
|
||||||
# Clear out orphans
|
# Clear out orphans
|
||||||
sudo apt autoremove
|
sudo apt autoremove
|
||||||
|
@ -29,7 +76,7 @@ then
|
||||||
sudo apt autoremove
|
sudo apt autoremove
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if type flatpak > /dev/null 2>&1
|
if [ "${RUN[flatpak]}" = "1" ]
|
||||||
then
|
then
|
||||||
# Clear out unused flatpak apps
|
# Clear out unused flatpak apps
|
||||||
flatpak uninstall --unused
|
flatpak uninstall --unused
|
||||||
|
@ -41,24 +88,23 @@ then
|
||||||
flatpak uninstall --unused
|
flatpak uninstall --unused
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Update rubygems
|
if [ "${RUN[gem]}" = "1" ]
|
||||||
if type gem > /dev/null 2>&1
|
|
||||||
then
|
then
|
||||||
gem update --system
|
gem update --system
|
||||||
gem update
|
gem update
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if type nvim > /dev/null 2>&1
|
if [ "${RUN[nvim]}" = "1" ]
|
||||||
then
|
then
|
||||||
nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync'
|
nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if type -f vim > /dev/null 2>&1
|
if [ "${RUN[vim]}" = "1" ]
|
||||||
then
|
then
|
||||||
command vim +PlugUpdate +qall
|
command vim +PlugUpdate +qall
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if type asdf > /dev/null 2>&1
|
if [ "${RUN[asdf]}" = "1" ]
|
||||||
then
|
then
|
||||||
asdf update
|
asdf update
|
||||||
asdf plugin-update --all
|
asdf plugin-update --all
|
||||||
|
@ -77,7 +123,7 @@ then
|
||||||
echo "========== ASDF UPDATES =========="
|
echo "========== ASDF UPDATES =========="
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if type brew > /dev/null 2>&1
|
if [ "${RUN[brew]}" = "1" ]
|
||||||
then
|
then
|
||||||
brew update
|
brew update
|
||||||
brew upgrade
|
brew upgrade
|
||||||
|
@ -89,7 +135,7 @@ then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if type pacman > /dev/null 2>&1
|
if [ "${RUN[pacman]}" = "1" ]
|
||||||
then
|
then
|
||||||
# Clear out orphans once again
|
# Clear out orphans once again
|
||||||
sudo pacman -Rns $(pacman -Qtdq)
|
sudo pacman -Rns $(pacman -Qtdq)
|
||||||
|
|
Loading…
Reference in New Issue