cargo-updateall 498 B

12345678910111213141516171819202122232425262728
  1. #!/bin/sh
  2. if ! which cargo >/dev/null 2>&1; then
  3. echo "Error: cargo not found." >&2
  4. exit 1
  5. fi
  6. for pkg in $(cargo install --list | grep '^[^[:space:]]' | awk '{print $1}'); do
  7. printf '\nUpdating %s\n' "$pkg"
  8. if [ "$pkg" = "atdf2svd" -o \
  9. "$pkg" = "svd2rust" -o \
  10. "$pkg" = "svdtools" ]; then
  11. echo "Skipped."
  12. continue
  13. fi
  14. locked=
  15. if [ "$pkg" = "bacon" -o \
  16. "$pkg" = "cargo-vet" ]; then
  17. locked="--locked"
  18. fi
  19. cargo install $locked "$@" "$pkg" || exit 1
  20. done
  21. exit 0