February 2010: Now with more tuning.
Pacmatic is a small wrapper for Arch Linux's package manager, pacman. It takes care of a few menial tasks you should do every time before updating your system. These tasks are so menial so that many Archers always forget them, until they are surprised by a horrible problem. However, menial tasks are easy to automate, and that is where pacmatic comes in.
Using it is pretty simple. Just type
pacmatic instead of
pacman. It will perform some introspection on the calling arguments,
pacman.log and the Arch news feed. If you do something foolish, it will tell you.
It helps you avoid three common mistakes. First, it adds a tiny RSS reader. The Arch Devs will routinely announce major compatibility breaks on the Arch feed, and it is stuff you really should see before updating. Disseminating information rapidly and effectively will be an essential role for the next generation of package managers, and I for one would prefer pacman to stay ahead of the curve. Information These information updates are trickier than application updates (How do you checksum the integrity of someone's thoughts?), but are just as critical. A record of Arch News is maintained in
Second, Arch is an aggressive rolling release distro and if improperly synchronised can blow your leg off when libraries are updated in a backwards incompatible manner. It won't stop pacman from trashing your system, but it will print a warning warn you if the local repositories get ahead of what's actually installed.
Third, it will pester pesters you to stay on top of configuration updates. Pacman will tell you that there are has always reported new configuration files, but pacmatic is a little more in your face about actually taking care of them. For actually merging the files, vimdiff is used. Honestly, I had never used it for editing diffs, just viewing them. Full details are found in
:help vimdiff. Here is the shortest primer to make vimdiff useful:
Ctrl w (twice) Toggle windows
do Short for "diff obtain", but I think of "other", because it pulls the change under the cursor from other window into the focused window.
dp Short for "diff put", but I think of "push", because it pushes changes from the focused window to non-focused window.
]c Jump forward to the next change.
[c Jump bacwards to the previous change.
The latest version makes tuning Pacmatic's configuration. There are several environment variables which when exported allow tweaking of everything from the news feed to the diff program. Run
pacmatic without any arguments to see the current configuration.
Dependencies are pretty light. Just wget, pacman and pacman-contrib.