The process of adding and removing a package involves updating the
GDBM files and
HashDir
objects that represent the various
subdirectories in the system repository.
All of these HashDir
objects obediently record the
contents of the updated files.
The system repository's commit
function receives a
FileInstall object, which is passed to
each HashDir
object's own commit
function.
In this manner, the contents of the system repository are atomatically updated,
as described in Chapter 15, Installing files and packages.