Gentoo Development Guide

BZR.ECLASS

Section: portage (5)
Updated: Apr 2014
Index Return to Main Contents
 

NAME

bzr.eclass - generic fetching functions for the Bazaar VCS  

DESCRIPTION

The bzr.eclass provides functions to fetch, unpack, patch, and bootstrap sources from repositories of the Bazaar distributed version control system. The eclass was originally derived from git.eclass.

Note: Just set EBZR_REPO_URI to the URI of the branch and src_unpack() of this eclass will export the branch to ${WORKDIR}/${P}.  

FUNCTIONS

bzr_initial_fetch <repository URI> <branch directory>
Internal function, retrieves the source code from a repository for the first time, using ${EBZR_FETCH_CMD}.
bzr_update <repository URI> <branch directory>
Internal function, updates the source code from a repository, using ${EBZR_UPDATE_CMD}.
bzr_fetch
Wrapper function to fetch sources from a Bazaar repository with bzr branch or bzr pull, depending on whether there is an existing working copy.
bzr_bootstrap
Apply patches in ${EBZR_PATCHES} and run ${EBZR_BOOTSTRAP} if specified.
bzr_src_unpack
Default src_unpack(), calls bzr_fetch. For EAPIs 0 and 1, also calls bzr_src_prepare.
bzr_src_prepare
Default src_prepare(), calls bzr_bootstrap.
 

ECLASS VARIABLES

EBZR_STORE_DIR ?= ${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/bzr-src
The directory to store all fetched Bazaar live sources.
EBZR_UNPACK_DIR ?= ${WORKDIR}/${P}
The working directory where the sources are copied to.
EBZR_INIT_REPO_CMD ?= "bzr init-repository --no-trees"
The Bazaar command to initialise a shared repository.
EBZR_FETCH_CMD ?= "bzr branch --no-tree"
The Bazaar command to fetch the sources.
EBZR_UPDATE_CMD ?= "bzr pull"
The Bazaar command to update the sources.
EBZR_EXPORT_CMD ?= "bzr export"
The Bazaar command to export a branch.
EBZR_CHECKOUT_CMD ?= "bzr checkout --lightweight -q"
The Bazaar command to checkout a branch.
EBZR_REVNO_CMD ?= "bzr revno"
The Bazaar command to list a revision number of the branch.
EBZR_OPTIONS
The options passed to the fetch and update commands.
EBZR_REPO_URI (REQUIRED)
The repository URI for the source package.

Note: If the ebuild uses an sftp:// URI, then in EAPI 0 or 1 it must make sure that dev-vcs/bzr was built with USE="sftp". In EAPI 2 or later, the eclass will depend on dev-vcs/bzr[sftp].

EBZR_INITIAL_URI
The URI used for initial branching of the source repository. If this variable is set, the initial branch will be cloned from the location specified, followed by a pull from ${EBZR_REPO_URI}. This is intended for special cases, e.g. when download from the original repository is slow, but a fast mirror exists but may be out of date.

Normally, this variable needs not be set.

EBZR_BOOTSTRAP
Bootstrap script or command like autogen.sh or etc.
EBZR_PATCHES
bzr.eclass can apply patches in bzr_bootstrap(). You can use regular expressions in this variable like *.diff or *.patch and the like. Note: These patches will be applied before EBZR_BOOTSTRAP is processed.

Patches are searched both in ${PWD} and ${FILESDIR}. If not found in either location, the installation dies.

EBZR_PROJECT ?= ${PN}
The project name of your ebuild. Normally, the branch will be stored in the ${EBZR_STORE_DIR}/${EBZR_PROJECT} directory.

If EBZR_BRANCH is set (see below), then a shared repository will be created in that directory, and the branch will be located in ${EBZR_STORE_DIR}/${EBZR_PROJECT}/${EBZR_BRANCH}.

EBZR_BRANCH
The directory where to store the branch within a shared repository, relative to ${EBZR_STORE_DIR}/${EBZR_PROJECT}.

This variable should be set if there are several live ebuilds for different branches of the same upstream project. The branches can then share the same repository in EBZR_PROJECT, which will save both data traffic volume and disk space.

If there is only a live ebuild for one single branch, EBZR_BRANCH needs not be set. In this case, the branch will be stored in a stand-alone repository directly in EBZR_PROJECT.

EBZR_REVISION
Revision to fetch, defaults to the latest (see http://bazaar-vcs.org/BzrRevisionSpec or bzr help revisionspec).
EBZR_OFFLINE = ${EVCS_OFFLINE}}
Set this variable to a non-empty value to disable automatic updating of a bzr source tree. This is intended to be set outside the ebuild by users.
EBZR_WORKDIR_CHECKOUT
If this variable is set to a non-empty value, EBZR_CHECKOUT_CMD will be used instead of EBZR_EXPORT_CMD to copy the sources to WORKDIR.
 

AUTHORS

Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
Mark Lee <bzr-gentoo-overlay@lazymalevolence.com>
Ulrich Müller <ulm@gentoo.org>
Christian Faulhammer <fauli@gentoo.org>
 

MAINTAINERS

Emacs team <emacs@gentoo.org>
Bazaar team <bazaar@gentoo.org>
 

REPORTING BUGS

Please report bugs via http://bugs.gentoo.org/  

FILES

/usr/portage/eclass/bzr.eclass  

SEE ALSO

ebuild(5)
http://sources.gentoo.org/eclass/bzr.eclass?view=log


 

Index

NAME
DESCRIPTION
FUNCTIONS
ECLASS VARIABLES
AUTHORS
MAINTAINERS
REPORTING BUGS
FILES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 03:25:08 GMT, April 17, 2014