Some of the tools

Buttermere Star TrailsHere are some of the tools that ship in the tools directory of Metacity:

announce-wrangler.py
is the script that produces release announcements in both text form (for gnome-announce-list) and HTML (for posts like this one).  It needs some polishing.

commit-wrangler.py
puts up an editor for a ChangeLog entry, then commits current changes.  It used to be far more complicated, but now it’s merely a wrapper around a couple of calls to moap.  Stable.

patch-wrangler.py
given an attachment number on GNOME Bugzilla, checks out Metacity trunk, downloads the given patch, applies it, and compiles.  Stable, but it would be nice if it could pick up the author’s name and email address for the ChangeLog too.  That will probably have to wait for a scriptable GNOME Bugzilla.

ppa-magic.py
is supposed to build personal package archives for Launchpad with nightly builds in.  It doesn’t work at present.

release-wrangler.py
is our release script; it helps prepare the NEWS update from the ChangeLog, distchecks, builds, and uploads, but doesn’t actually run the update script on the server.  I did think of replacing this with ShipIt at some point, but their model is too different from ours.  Stable.

There’s also blog-wrangler.py which isn’t shipped, and produces the Metacity Journal, and is being gradually replaced by a more general version in Perl called ProjectJournal. Also, the Perl module Flickr::Embed grew out of the same project, though it isn’t yet in use.

Photo © Horrgakx, cc-by-nc-nd.