# gbp.conf

## Name

`gbp.conf` -- Gbp configuration file

## Synopsis

/etc/git-buildpackage/gbp.conf | system wide
~/.gbp.conf | per user
.gbp.conf | per branch, can be published with the repository (deprecated)
debian/gbp.conf | per branch, can be published with the repository
.git/gbp.conf | per repository

## DESCRIPTION

The `gbp.conf` provides default global options and specific options for gbp commands. All have the same format and are parsed in the above order. The file consists of several sections, one for each command. Comments start with a hash sign (`#`). The generic file syntax is:

        [DEFAULT]
        # This is section for global settings. Affects all commands
        key = value

        [<command>]
        # Specific sections for each command, like gbp buildpackage
        key = value

        [remote-config <name>]
        # Specific sections for a remote configuration. This can be used several
        # times to set up remote configuration for gbp-create-remote-repo
        key = value

For backwards compatibility sections starting with `git-` or `gbp-` are still supported.

`key=value` pairs of the command sections reflect the command line options and their settings. For example gbp-buildpackage(1) manualpage contains the `--git-export-dir`=`diirectory` option which can be turned into configuration file setting by dropping the `--git` prefix with:

        [buildpackage]
        export-dir = directory

Notice that some option are actually repeatable, or take Python lists. For example the gbp-import-orig(1) commmand has the `--filter`=`pattern` option which can be truned into a configuration file option like this:

        [import-orig]
        filter = .svn
        filter = .hg

An alternative way is to write it using Python list syntax:

        [import-orig]
        filter = [ '.svn', '.hg' ]

Boolean options can be either `True` or `False`. For example gbp-import-orig(1); has the `--pristine-tar` and `--no-pristine-tar` options which translate to:

        [import-orig]
        pristine-tar = True

and

        [import-orig]
        pristine-tar = False

respectively.

> Note: To see the current set of values that would be applied after parsing the configuration files run the command with `--help` and check it's output.

> Note: gbp import-dscs and git-pbuilder can't be configured via gbp.conf.

gbp-create-remote-repo(1) can additionally parse remote site configurations from `gbp.conf`. For example a configration like:

    [remote-config pkg-libvirt]
    # Location of the repository
    remote-url-pattern = ssh://git.debian.org/git/pkg-libvirt/%(pkg)s
    # Template dir to passed to git-init
    template-dir = /srv/alioth.debian.org/chroot/home/groups/pkg-libvirt/git-template

Can be used to create remote repositories for the pkg-libvirt project using:

    gbp-create-remote-repo --remote-config=pkg-libvirt

This can be useful if you're often creating new remote repositores for different projects.

## EXAMPLES

An example set up for packaging work:

     # $HOME/gbp.conf

     [DEFAULT]
     pristine-tar = True
     cleaner = fakeroot debian/rules clean

     [buildpackage]
     export-dir  = ../build-area/

     [import-orig]
     dch = False
     filter = .svn
     filter = .hg
     filter = .bzr
     filter = CVS
     filter = debian/*
     filter = */debian/*
     filter-pristine-tar = True

     [import-dsc]
     filter = [
            'CVS',
            '.cvsignore',
            '.hg',
            '.hgignore'
            '.bzr',
            '.bzrignore',
            '.gitignore'
            ]

     # End of file

## ENVIRONMENT

GBP_CONF_FILES | Colon separated list of files to parse. The default is the above list of configuration files.

## FILES

See See `/etc/git-buildpackage/gbp.conf` for an example.

## SEE ALSO

gbp-clone(1), gbp-create-remote-repo(1), gbp-pq(1) gbp-pull(1), gbp-dch(1), gbp-import-dsc(1), gbp-import-orig(1), gbp-buildpackage(1), The Git-Buildpackage Manual

## AUTHORS

Guido Guenther `<agx@sigxcpu.org>`

This manual page is based on a POD version by Jari Aalto `<jari.aalto@cante.net>`. Released under license GNU GPL version 2 or (at your option) any later. version.