psupdsh


psupdsh (as in "portsnap update then show) is a free open source utility that addresses an important but often forgotten issue, namely to have a good look at /usr/ports/UPDATING for any new entries.

FreeBSD provides an excellent tool to update ones ports tree and it also provides some fine tools (like portupgrade and portmaster) to rebuild any updated ports. Unfortunately, though, FreeBSD provides relevant information about updated ports in a somewhat uncomfortable way (the famous UPDATING file) which makes it easy, to avoid saying tempting, to simply ignore that - sometimes important - information.

That's where psupdsh enters the scene. psupdsh runs "portsnap fetch update" and then automagically shows you any and all new UPDATING entries.

Of course, there is more to it if you want that. You can, for instance, have psupdsh draw a line after every entry and/or have it present those entries one by one. While psupdsh is strongly focussed on the "normal" (most frequent) use case, it also offers you to specify a certain date and to the show you all entries since (and including) that date and/or to search for entries for specific ports. Of course again in one full run or as single entries etc.
For those of you with special needs or setups psupdsh also allows to specify and pass through commandline switches and commands for portsnap. Finally, psupdsh offers you to run your favourite upgrader (like portmaster) right after the ports tree updating and viewing new entries in one run. While you should know what you're doing this allows you to use psupdsh as a all-in-one ports update tool.

You can download either the program here and/or the man page for psupdsh here separately or a tar.gz with both here. Finally you might want to have a detailed look at recent changes in the changelog.

psupdsh is written in standard Python, should run with any Python > 2.5 standard installation and needs no extras or dependencies. Calling it with '-h' will help you out with info on how to use it.