Advertisement
Guest User

Untitled

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