Being a Periodic Record of Interesting Software ChrisSiebenmann Has Found And Now Presents For The Amusements Of His Colleagues.
Links to Vim tips, techniques, unusual commands, and so on
I'm collecting these for my own use and memory, since I don't necessarily want to throw all of them into the blog's links category.
mach: building Linux programs for other distributions
Mock and mach are both ways of building Linux programs for other distributions. So why do you care? Simple: they're the easiest way of building x86 binaries on an x86_64 system.
(You would think that 'cross' compiling would be the easiest way, since it's just building for a different ABI. Tragically, it's not, at least not in Fedora Core 5.)
Both work by installing a complete (although usually minimal) copy of the distribution you want to work in and
chroot()'ing into it to do work. Mock is very specific to building RPMs in a guaranteed clean environment; mach is more general, and so is useful for building arbitrary programs from source. Both are part of Fedora Extras.
Pca (Patch Check Advanced) is a lovely program for dealing with Solaris patches. To quote its site:
Patch Check Advanced (pca) generates lists of installed and missing patches for Sun Solaris systems and optionally downloads patches. It resolves dependencies between patches and installs them in correct order.
It is miles better than any of the alternatives I've seen (including Sun's own stuff) and looks like it's going to be pretty much the only tool I need to manage Solaris patches. Highly recommended.
Every now and then I need to write some string processing code in C, because the Python (or awk/sed/etc, or even perl) alternatives just aren't running fast enough. However, life is too short to write raw string manipulation code in C. What I want to do is to write Python-in-C, using some library to handle all of the low-level string manipulation so that I just write high-level stuff.
Quilt is a system for managing changes to source code. To quote from the RPM package:
These scripts allow one to manage a series of patches by keeping track of the changes each patch makes. Patches can be applied, un-applied, refreshed, etc.
I've played with quilt and it worked out nicely. Notably, it has very useful support for easily adding more patches to an RPM (which is already a base program version plus a stack of patches).