Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function brew-list-with {
- brew list \
- | xargs -P "$(getconf _NPROCESSORS_ONLN)" -I {} brew info {} \
- | grep -B 1 -E '^ Built.*with:'
- }
- function brew-deps {
- (
- brew deps --include-build "$1"
- brew deps --installed "$1"
- ) | sort -u
- }
- export -f brew-deps
- function brew-leaves {
- comm -13 \
- <(
- brew list \
- | xargs -P "$(getconf _NPROCESSORS_ONLN)" -I {} bash -c "brew-deps {}" \
- | sort -u
- ) \
- <(brew list | sort)
- }
- function brew-trim {
- dirty='0'
- for package in $(brew-leaves)
- do
- read -r -p "Uninstall $package [y/N]" uninstall
- if [ "$uninstall" == 'y' ]
- then
- dirty='1'
- brew uninstall "$package"
- fi
- done
- if [ "$dirty" != '0' ]
- then
- echo 'Redoing with the (potentially) new leaves!'
- brew-trim
- fi
- }
- function brew-reinstall-order {
- brew list \
- | xargs -P "$(getconf _NPROCESSORS_ONLN)" -I {} bash -a -c 'echo {} $(brew-deps {} | tr "\r\n" " ")' \
- | awk 'NF == 1 {print $1, $1} NF > 1 {for (i = 1; i <= NF; i++) print $1, $i}' \
- | tsort \
- | tail -r
- }
- function brew-dist-upgrade {
- (
- set +e
- for reinstallable in $(brew-reinstall-order)
- do
- brew reinstall "$reinstallable"
- done
- )
- }
- function brew-upgrade {
- brew update
- brew outdated
- read -r -p 'Enter to go, ^C to not go'
- (
- set +e
- brew upgrade
- brew cleanup -s
- brew prune
- brew tap --repair
- )
- brew doctor
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement