How to be a good cache manager
Here are some suggestions for new Pacman developers:
- Make each package resolve all of it's dependencies, both in terms of other Pacman packages and
environmental and system requirements. If you need a certain linux kernel, you should express this
in Pacman syntax. It is possible to write packages which only accidentally install
depending on favorable circumstances. If, on the other hand, you make each package so that it can be
correctly installed on it's own, then users of your cache are in a nice flexible position.
- Avoid shell commands whenever practical.
- Check that your packages uninstall without leaving debris behind. Pacman should always "undo"
everything it does, but if you have executed shell commands, this property may be violated.
- Make useful comments at the top of each package.
- Use packageName and the versions/releases/tags mechanisms to make new versions of your Packages. If, instead, you
just make new files each time without using packageName, Pacman treats these as separate
packages and your users will not be able to update from one version to another automatically.
- If you have advertised a cache to the outside world, keep in mind that whenever you modify it,
update notices will appear at all installations containing your packages if the remote installers do
-update-check.
If something in your use of Pacman seems peculiar or awkward, I would be
interested in hearing about it youssef@bu.edu.