GAR Architecture

The GAR system is a similar system to the BSD ports collection. It's a mechanism for automating the compilation and installation of third-party source code. It appears in the form of a tree of directories containing Makefiles and other ancillary bookkeeping files (such as installation manifests and checksum lists).

GAR is currently used by The LNX-BBC project, as well as the GARNOME distribution of GNOME.

Of interest to people wishing to learn the GAR system is this overview of the ports collection.

  1. User's Perspective
    1. Building packages with the system
    2. Configuring the GAR system
  2. Maintainer's Perspective
    1. Basics
      1. An Example
      2. Dependencies
      3. Checksum file
    2. When defaults aren't enough
      1. Overriding Variables
      2. pre- and post- rules
      3. Overriding default behavior
      4. Putting the two together
      5. Patching
      6. Providing nonexistent behavior
      7. Manifest-based installs
  3. Building Your Own Package
    1. The Template
    2. Fetch
    3. Checksum
    4. Extract
    5. Patch
    6. Configure
    7. Build
    8. Install
    9. Our final Makefile
  4. Hacker's Perspective
    1. gar.conf.mk
    2. gar.mk
    3. gar.lib.mk