1. SourceForge
  2. Summary
  3. Files
  4. Support
  5. Report Spam
  6. Create account
  7. Log in

Context Navigation

  • Start Page
  • Index
  • History
  • Last Change

GAR Wiki

GAR is the build and packaging system used by OpenCSW. GAR is based on the GARNOME project and follows a similar approach as other build systems: For each software to build it takes a high-level build-description (in form of a Makefile) and automates the process of downloading, building, and packaging the software. It spares you most of the nitty-gritty details that you used to take care of when you were building software manually like setting CFLAGS and LDFLAGS to sane values or calling ./configure with its manifold of --*dir options ... while it still leaves you the flexibility to do a lot of custom things if you want to. This is GAR's documentation hub.

  • For the impatient:
    svn co gar.svn.sourceforge.net/svnroot/gar/csw/mgar
    
  • GAR Repository Browser (Trac, mod_dav_svn)
  • Which packages are in GAR (GAR Status, GAR Package Browser)
  • Sometimes it is good to seek inspiration from other packaging projects.
    • OpenSolaris SFW Packages
    • PkgBuild SFE Packages

Documentation

When you are new to GAR it might seem hard to know where to start. A couple of suggestions for when you have set up your build environment: 1) First go through the build process with an already submitted build description. Once you have seen how a GAR build works, it will be easier to work on your own builds. 2) Find someone who already knows GAR and let him jumpstart you. Having a chat with someone will address your questions faster than any documentation. In particular, don't infinitly bang your head on issues .. ask for help. As a maintainer, ask on the maintainers list. As a user, ask on the users list. Or pop by on the IRC channel (directly or via webchat.freenode.net). That being said, once you get the hang of it, GAR will make your life a lot easier. Let's dive in ...

Learning the basics

  • GAR Setup Setting up the build enviroment
  • Packaging Tutorial Getting to know GAR with annotated build descriptions
  • Creating Patches Easily How to easily create patches using GAR
  • Working with the GAR repository Dealing with the GAR repository (checking out/in, adding things, update to a new gar version)
  • GAR Variable Reference GAR Makefile variables explained
  • GAR Build Targets Reference GAR Makefile build targets explained
  • GAR Coding Style
  • Build System FAQ

Learning the details

Make sure to read the basics above first.

  • Advanced GAR topics

Important changes to GAR

Some bugfixes to the GAR system may break compatibility with old build recipes which rely on the "feature". These important changes are listed here together with the revision number the fix was introduced, so if a recipe is older than the revision here the Makefile may be need to be adjusted.

  • r9383: Add options -norunpath and -xnorunpath
  • r8433: Reorder library pathes so the most specific ones are in front of the more generic ones (especially EXTRA_LIB before /opt/csw/lib) (Announcement)
  • r8335: Renamed REQUIRED_PKGS to RUNTIME_DEP_PKGS and PREREQUISITE_PKGS to BUILD_DEP_PKGS and NO_ISAEXEC to NOISAEXEC (Announcement)
  • r7514: Do not pass include flags to the C/C++ compiler, but only to the preprocessor (Announcement)
  • r10012: Initial integration of git support for the makepatch target. (Announcement)
  • r11888: Variable name change GARNAME -> NAME, GARVERSION -> VERSION. (Announcement)
  • r13727: Take out -norunpath and -xnorunpath introduced in r9383 (Announcement)
  • r14023: Updated GAR defaults MERGE_SCRIPTS_isa-extra, MERGE_DIRS_isa-extra, CONFIGURE_ARGS, TEST_TARGET, NOISAEXEC, sysconfdir, localstatedir (Description and Announcement)
  • r17763: Reordering of linker search pathes to prefer EXTRA_* flags and special prefix before /opt/csw


Feedback

Do you think we can improve this page? Please tell us (Sourceforge login required).

© 2012 Geeknet, Inc.   Terms of Use - Privacy Policy - Cookies/Opt Out

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.