Skip to content
A script to speed up reviewing homebrew packages for updates.
Python Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE
README.md
_batch.sh
hydrometer.py

README.md

Hydrometer

Want to submit package updates to homebrew?

Don't want to find packages that need updating by hand?

This is a script to help automate the review process for over a thousand packages!

Installation

This is python3 code. Install python3 (and pip3) from brew like so:

brew install python3

Now you can install BeautifulSoup, a python3 html parser the scripts rely on:

pip3 install beautifulsoup4

Goto the terminal and type 'python3' to start a new shell. Then type 'import bs4'.

If this looks like what you see (no angry messages about errors), you're good to go!

$ python3
Python 3.3.0 (default, Nov  3 2012, 09:45:08) 
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import bs4
>>> 

Basic usage

Currently hydrometer supports the following options:

-s, --sourceforge:  scan for sourceforge updates (~600 packages)
-g, --github:  scan for github tag updates (~750 packages)
-c, --googlecode:  scan for googlecode updates (~150 packages)
-n, --gnuftp:  scan for gnu ftpmirror updates (~80 packages sans aspell)

You're more than welcome to run the script interactively, but you'll probably want something like:

./hydrometer.py -s > sourceforge_updates.txt

The end result will be a file that contains:

1) a line from sourceforge packages
2) hydrometer's best guess for the corresponding package's latest version/downloads
3) some spacing to keep things sane

Now, you just need to look through sourceforge_updates.txt for packages that need updating.

Final step

Update the package. Submit a patch. Have a beer to celebrate. :3

Future improvements

The googlecode/github parsers could be made less verbose. More error checking, perhaps. Things are hardcoded to /usr/local.

Something went wrong with that request. Please try again.