Advertisement
Guest User

Untitled

a guest
Sep 25th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.31 KB | None | 0 0
  1. function brew-list-with {
  2.   for package in $(brew list)
  3.   do
  4.     brew info "$package"
  5.   done | grep -B 1 -E '^  Built.*with:'
  6. }
  7.  
  8. function brew-leaves {
  9.     comm -13 \
  10.     <(
  11.         for package in $(brew list)
  12.         do
  13.             brew deps --include-build "$package"
  14.         done | sort -u
  15.     ) \
  16.     <(brew list | sort)
  17. }
  18.  
  19. function brew-trim {
  20.     dirty='0'
  21.     for package in $(brew-leaves)
  22.     do
  23.         read -r -p "Uninstall $package [y/N]" uninstall
  24.         if [ "$uninstall" == 'y' ]
  25.         then
  26.             dirty='1'
  27.             brew uninstall "$package"
  28.         fi
  29.     done
  30.  
  31.     if [ "$dirty" != '0' ]
  32.     then
  33.         echo 'Redoing with the (potentially) new leaves!'
  34.         brew-trim
  35.     fi
  36. }
  37.  
  38. function brew-reinstall-order {
  39.     for package in $(brew list)
  40.         do
  41.             for dependency in $(brew deps --include-build $package)
  42.             do
  43.                 echo "$dependency" "$(brew deps --include-build $dependency | tr '\r\n' ' ')"
  44.             done
  45.         done \
  46.         | awk 'NF == 1 {print $1, $1} NF > 1 {for (n=1; n<=NF; n++) print $1, $n}' \
  47.         | tsort \
  48.         | tail -r
  49. }
  50.  
  51. function brew-dist-upgrade {
  52.   (
  53.     set +e
  54.     for reinstallable in $(brew-reinstall-order)
  55.     do
  56.       brew reinstall "$reinstallable"
  57.     done
  58.   )
  59. }
  60.  
  61. function brew-upgrade {
  62.     brew update
  63.     brew outdated
  64.     read -r -p 'Enter to go, ^C to not go'
  65.     (
  66.         set +e
  67.         brew upgrade
  68.         brew cleanup -s
  69.         brew prune
  70.         brew tap --repair
  71.     )
  72.     brew doctor
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement