Russ's Scripts

"My people have, of old, divided the world into two kinds of people: hedgehogs and foxes. Hedgehogs know one big thing. Foxes know lots of little things."

— Neil Gaiman, Sandman: World's End

These are mostly short scripts that don't warrant their own software pages. Some of them are quite short, just setting up some environment or handling some common task. Many will need some customization when used by other people. Major releases of these scripts will be announced similar to other software, but minor releases may just show up here.


distribrc 1.0 (2013-01-19)

Given a configuration file that defines hosts, commands to do the copying, and sets of files to copy, push a set of files from the current system to one or more remote hosts. I use this to keep my dot-files (like shell initialization files or standard Git configuration files) in sync across all the hosts I use.

DownloadDocumentationChange Log

nan-archive 1.15 (2009-01-02)

This is the script that maintains the archive of news.announce.newgroups on It takes a feed from a news server, verifies PGPMoose signatures, and saves articles as guided by an Archive-Name header. It would require modifications to use for any other purpose, but may be interesting as a starting point for maintaining an archive of other groups.

DownloadDocumentationChange Log

release 1.50 (2016-01-25)

The script that generates releases of my software. It understands how to generate a release tarball from many different version control systems and different build systems, sign it and put it into a distribution area, and update a spin .versions file. It can also discover the version of a stand-alone script and take simpler actions for a release of it. It also has code for merging a debian directory with a release tarball and build Debian packages, but I now use git-buildpackage and no longer use that code.

DownloadDocumentationChange Log


backport 1.32 (2015-08-17)

backport automates some of the tedium of backporting a Debian package. It doesn't do anything particularly exciting, but it can handle adding the basic changelog entry, calling pbuilder with the right options, and setting the version number appropriately. It understands several backport targets and corresponding different conventions for distribution and version numbers. It also encoded some of the fixes for backports that I need frequently, although any significant work will require manual assistance.

I no longer regularly backport Debian packages and have stopped maintaining this script.

DownloadDocumentationChange Log

check-dist 1.6 (2015-04-27)

Automake's make dist target requires specifying all of the files that should be included in the distribution that aren't part of the build process and aren't installed. I've found it too easy to miss portions of the test suite or documentation files, so I wrote this script. It checks the contents of a tarball against the contents of a source tree and reports on any files in the source tree not found in the tarball.

This functionality has now been included in DocKnot as part of the dist command, and I therefore no longer update this script.

DownloadDocumentationChange Log

git-pbuilder 1.48 (2017-04-30)

This is a glue script between git-buildpackage and pbuilder, used to do git-buildpackage builds via cowbuilder. It also handles switching chroots for the build via an environment variable and selectively adding the flag for the etch cowbuilder workaround. It's based on a short script that used to be in the git-buildpackage documentation.

This script is now included in the git-buildpackage Debian package and the canonical version is maintained there.

DownloadDocumentationChange Log

weekly 1.5 (2009-07-11)

I used variations of this script for about 15 years to mail my weekly status report to my manager or working group or both. It's a fairly simple script that uses News::Article to include a text file of accomplishments and future plans into a template and send mail, archiving the accomplishments from last week.

For various reasons, I started writing and sending the mail by hand instead of using this script, and no longer maintain it.

DownloadDocumentationChange Log

Last modified and spun 2020-01-09