/[gentoo-x86]/eclass/bzr.eclass
Gentoo

Diff of /eclass/bzr.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.4 Revision 1.19
1# Copyright 1999-2009 Gentoo Foundation 1# Copyright 1999-2012 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/bzr.eclass,v 1.4 2009/09/24 07:19:41 fauli Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/bzr.eclass,v 1.19 2012/09/18 06:41:45 ulm Exp $
4# 4#
5# @ECLASS: bzr.eclass 5# @ECLASS: bzr.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Emacs team <emacs@gentoo.org>
8# Bazaar team <bazaar@gentoo.org>
9# @AUTHOR:
7# Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>, 10# Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
11# Mark Lee <bzr-gentoo-overlay@lazymalevolence.com>
8# Ulrich Mueller <ulm@gentoo.org>, 12# Ulrich MΓΌller <ulm@gentoo.org>
9# Christian Faulhammer <fauli@gentoo.org> 13# Christian Faulhammer <fauli@gentoo.org>
10# Mark Lee <bzr-gentoo-overlay@lazymalevolence.com>, 14# @BLURB: generic fetching functions for the Bazaar VCS
11# and anyone who wants to help
12# @BLURB: This eclass provides support to use the Bazaar DSCM
13# @DESCRIPTION: 15# @DESCRIPTION:
14# The bzr.eclass provides support for apps using the bazaar DSCM 16# The bzr.eclass provides functions to fetch, unpack, patch, and
15# (distributed source control management system). 17# bootstrap sources from repositories of the Bazaar distributed version
16# The eclass was originally derived from the git eclass. 18# control system. The eclass was originally derived from git.eclass.
17# 19#
18# Note: Just set EBZR_REPO_URI to the URI of the branch and the src_unpack() 20# Note: Just set EBZR_REPO_URI to the URI of the branch and src_unpack()
19# of this eclass will put an export of the branch in ${WORKDIR}/${PN}. 21# of this eclass will export the branch to ${WORKDIR}/${P}.
20 22
21inherit eutils 23inherit eutils
22 24
23EBZR="bzr.eclass" 25EBZR="bzr.eclass"
24 26
25case "${EAPI:-0}" in 27case "${EAPI:-0}" in
26 0|1) EXPORT_FUNCTIONS src_unpack ;; 28 0|1) EXPORT_FUNCTIONS src_unpack ;;
27 *) EXPORT_FUNCTIONS src_unpack src_prepare ;; 29 *) EXPORT_FUNCTIONS src_unpack src_prepare ;;
28esac 30esac
29 31
30HOMEPAGE="http://bazaar-vcs.org/"
31DESCRIPTION="Based on the ${EBZR} eclass"
32
33DEPEND=">=dev-util/bzr-1.5" 32DEPEND=">=dev-vcs/bzr-2.0.1"
33case "${EAPI:-0}" in
34 0|1) ;;
35 *) [[ ${EBZR_REPO_URI%%:*} = sftp ]] \
36 && DEPEND=">=dev-vcs/bzr-2.0.1[sftp]" ;;
37esac
34 38
35# @ECLASS-VARIABLE: EBZR_STORE_DIR 39# @ECLASS-VARIABLE: EBZR_STORE_DIR
36# @DESCRIPTION: 40# @DESCRIPTION:
37# The directory to store all fetched Bazaar live sources. 41# The directory to store all fetched Bazaar live sources.
38[[ -z ${EBZR_STORE_DIR} ]] && \
39 EBZR_STORE_DIR="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/bzr-src" 42: ${EBZR_STORE_DIR:=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/bzr-src}
43
44# @ECLASS-VARIABLE: EBZR_INIT_REPO_CMD
45# @DESCRIPTION:
46# The Bazaar command to initialise a shared repository.
47: ${EBZR_INIT_REPO_CMD:="bzr init-repository --no-trees"}
40 48
41# @ECLASS-VARIABLE: EBZR_FETCH_CMD 49# @ECLASS-VARIABLE: EBZR_FETCH_CMD
42# @DESCRIPTION: 50# @DESCRIPTION:
43# The Bazaar command to fetch the sources. 51# The Bazaar command to fetch the sources.
44EBZR_FETCH_CMD="bzr checkout --lightweight" 52: ${EBZR_FETCH_CMD:="bzr branch --no-tree"}
45 53
46# @ECLASS-VARIABLE: EBZR_UPDATE_CMD 54# @ECLASS-VARIABLE: EBZR_UPDATE_CMD
47# @DESCRIPTION: 55# @DESCRIPTION:
48# The Bazaar command to update the sources. 56# The Bazaar command to update the sources.
49EBZR_UPDATE_CMD="bzr update" 57: ${EBZR_UPDATE_CMD:="bzr pull"}
50
51# @ECLASS-VARIABLE: EBZR_DIFF_CMD
52# @DESCRIPTION:
53# The Bazaar command to get the diff output.
54EBZR_DIFF_CMD="bzr diff"
55 58
56# @ECLASS-VARIABLE: EBZR_EXPORT_CMD 59# @ECLASS-VARIABLE: EBZR_EXPORT_CMD
57# @DESCRIPTION: 60# @DESCRIPTION:
58# The Bazaar command to export a branch. 61# The Bazaar command to export a branch.
59EBZR_EXPORT_CMD="bzr export" 62: ${EBZR_EXPORT_CMD:="bzr export"}
63
64# @ECLASS-VARIABLE: EBZR_CHECKOUT_CMD
65# @DESCRIPTION:
66# The Bazaar command to checkout a branch.
67: ${EBZR_CHECKOUT_CMD:="bzr checkout --lightweight -q"}
60 68
61# @ECLASS-VARIABLE: EBZR_REVNO_CMD 69# @ECLASS-VARIABLE: EBZR_REVNO_CMD
62# @DESCRIPTION: 70# @DESCRIPTION:
63# The Bazaar command to list a revision number of the branch. 71# The Bazaar command to list a revision number of the branch.
64EBZR_REVNO_CMD="bzr revno" 72: ${EBZR_REVNO_CMD:="bzr revno"}
65 73
66# @ECLASS-VARIABLE: EBZR_OPTIONS 74# @ECLASS-VARIABLE: EBZR_OPTIONS
75# @DEFAULT_UNSET
67# @DESCRIPTION: 76# @DESCRIPTION:
68# The options passed to the fetch and update commands. 77# The options passed to the fetch and update commands.
69EBZR_OPTIONS="${EBZR_OPTIONS:-}"
70 78
71# @ECLASS-VARIABLE: EBZR_REPO_URI 79# @ECLASS-VARIABLE: EBZR_REPO_URI
80# @DEFAULT_UNSET
81# @REQUIRED
72# @DESCRIPTION: 82# @DESCRIPTION:
73# The repository URI for the source package. 83# The repository URI for the source package.
74# 84#
75# @CODE 85# Note: If the ebuild uses an sftp:// URI, then in EAPI 0 or 1 it must
76# Supported protocols: 86# make sure that dev-vcs/bzr was built with USE="sftp". In EAPI 2 or
77# - http:// 87# later, the eclass will depend on dev-vcs/bzr[sftp].
78# - https:// 88
79# - sftp:// 89# @ECLASS-VARIABLE: EBZR_INITIAL_URI
80# - rsync:// 90# @DEFAULT_UNSET
81# - lp: 91# @DESCRIPTION:
82# @CODE 92# The URI used for initial branching of the source repository. If this
93# variable is set, the initial branch will be cloned from the location
94# specified, followed by a pull from ${EBZR_REPO_URI}. This is intended
95# for special cases, e.g. when download from the original repository is
96# slow, but a fast mirror exists but may be out of date.
83# 97#
84# Note: lp: seems to be an alias for https://launchpad.net 98# Normally, this variable needs not be set.
85EBZR_REPO_URI="${EBZR_REPO_URI:-}"
86 99
87# @ECLASS-VARIABLE: EBZR_BOOTSTRAP 100# @ECLASS-VARIABLE: EBZR_BOOTSTRAP
101# @DEFAULT_UNSET
88# @DESCRIPTION: 102# @DESCRIPTION:
89# Bootstrap script or command like autogen.sh or etc. 103# Bootstrap script or command like autogen.sh or etc.
90EBZR_BOOTSTRAP="${EBZR_BOOTSTRAP:-}"
91 104
92# @ECLASS-VARIABLE: EBZR_PATCHES 105# @ECLASS-VARIABLE: EBZR_PATCHES
106# @DEFAULT_UNSET
93# @DESCRIPTION: 107# @DESCRIPTION:
94# bzr eclass can apply patches in bzr_bootstrap(). 108# bzr.eclass can apply patches in bzr_bootstrap(). You can use regular
95# You can use regular expressions in this variable like *.diff or 109# expressions in this variable like *.diff or *.patch and the like.
96# *.patch and the like.
97# NOTE: These patches will bei applied before EBZR_BOOTSTRAP is processed. 110# Note: These patches will be applied before EBZR_BOOTSTRAP is processed.
98# 111#
99# Patches are searched both in ${PWD} and ${FILESDIR}, if not found in either 112# Patches are searched both in ${PWD} and ${FILESDIR}. If not found in
100# location, the installation dies. 113# either location, the installation dies.
101EBZR_PATCHES="${EBZR_PATCHES:-}" 114
115# @ECLASS-VARIABLE: EBZR_PROJECT
116# @DESCRIPTION:
117# The project name of your ebuild. Normally, the branch will be stored
118# in the ${EBZR_STORE_DIR}/${EBZR_PROJECT} directory.
119#
120# If EBZR_BRANCH is set (see below), then a shared repository will be
121# created in that directory, and the branch will be located in
122# ${EBZR_STORE_DIR}/${EBZR_PROJECT}/${EBZR_BRANCH}.
123: ${EBZR_PROJECT:=${PN}}
124
125# @ECLASS-VARIABLE: EBZR_BRANCH
126# @DEFAULT_UNSET
127# @DESCRIPTION:
128# The directory where to store the branch within a shared repository,
129# relative to ${EBZR_STORE_DIR}/${EBZR_PROJECT}.
130#
131# This variable should be set if there are several live ebuilds for
132# different branches of the same upstream project. The branches can
133# then share the same repository in EBZR_PROJECT, which will save both
134# data traffic volume and disk space.
135#
136# If there is only a live ebuild for one single branch, EBZR_BRANCH
137# needs not be set. In this case, the branch will be stored in a
138# stand-alone repository directly in EBZR_PROJECT.
102 139
103# @ECLASS-VARIABLE: EBZR_REVISION 140# @ECLASS-VARIABLE: EBZR_REVISION
141# @DEFAULT_UNSET
104# @DESCRIPTION: 142# @DESCRIPTION:
105# Revision to fetch, defaults to the latest (see 143# Revision to fetch, defaults to the latest
106# http://bazaar-vcs.org/BzrRevisionSpec or bzr help revisionspec) 144# (see http://bazaar-vcs.org/BzrRevisionSpec or bzr help revisionspec).
107EBZR_REVISION="${EBZR_REVISION:-}"
108
109# @ECLASS-VARIABLE: EBZR_CACHE_DIR
110# @DESCRIPTION:
111# The directory to store the source for the package, relative to
112# EBZR_STORE_DIR.
113#
114# default: ${PN}
115EBZR_CACHE_DIR="${EBZR_CACHE_DIR:-${PN}}"
116 145
117# @ECLASS-VARIABLE: EBZR_OFFLINE 146# @ECLASS-VARIABLE: EBZR_OFFLINE
118# @DESCRIPTION: 147# @DESCRIPTION:
119# Set this variable to a non-empty value to disable the automatic updating of 148# Set this variable to a non-empty value to disable automatic updating
120# a bzr source tree. This is intended to be set outside the ebuild by users. 149# of a bzr source tree. This is intended to be set outside the ebuild
121EBZR_OFFLINE="${EBZR_OFFLINE:-${ESCM_OFFLINE}}" 150# by users.
151: ${EBZR_OFFLINE=${EVCS_OFFLINE}}
152
153# @ECLASS-VARIABLE: EBZR_WORKDIR_CHECKOUT
154# @DEFAULT_UNSET
155# @DESCRIPTION:
156# If this variable is set to a non-empty value, EBZR_CHECKOUT_CMD will
157# be used instead of EBZR_EXPORT_CMD to copy the sources to WORKDIR.
122 158
123# @FUNCTION: bzr_initial_fetch 159# @FUNCTION: bzr_initial_fetch
160# @USAGE: <repository URI> <branch directory>
124# @DESCRIPTION: 161# @DESCRIPTION:
125# Retrieves the source code from a repository for the first time, via 162# Internal function, retrieves the source code from a repository for the
126# ${EBZR_FETCH_CMD}. 163# first time, using ${EBZR_FETCH_CMD}.
127bzr_initial_fetch() { 164bzr_initial_fetch() {
128 local repository="${1}"; 165 local repo_uri=$1 branch_dir=$2
129 local branch_dir="${2}"; 166
167 if [[ -n "${EBZR_OFFLINE}" ]]; then
168 ewarn "EBZR_OFFLINE cannot be used when there is no local branch yet."
169 fi
130 170
131 # fetch branch 171 # fetch branch
132 einfo "bzr fetch start -->" 172 einfo "bzr branch start -->"
133 einfo " repository: ${repository} => ${branch_dir}" 173 einfo " repository: ${repo_uri} => ${branch_dir}"
134 174
135 ${EBZR_FETCH_CMD} ${EBZR_OPTIONS} "${repository}" "${branch_dir}" \ 175 ${EBZR_FETCH_CMD} ${EBZR_OPTIONS} "${repo_uri}" "${branch_dir}" \
136 || die "${EBZR}: can't branch from ${repository}." 176 || die "${EBZR}: can't branch from ${repo_uri}"
137} 177}
138 178
139# @FUNCTION: bzr_update 179# @FUNCTION: bzr_update
180# @USAGE: <repository URI> <branch directory>
140# @DESCRIPTION: 181# @DESCRIPTION:
141# Updates the source code from a repository, via ${EBZR_UPDATE_CMD}. 182# Internal function, updates the source code from a repository, using
183# ${EBZR_UPDATE_CMD}.
142bzr_update() { 184bzr_update() {
143 local repository="${1}"; 185 local repo_uri=$1 branch_dir=$2
144 186
145 if [[ -n "${EBZR_OFFLINE"} ]]; then 187 if [[ -n "${EBZR_OFFLINE}" ]]; then
146 einfo "skipping bzr update -->" 188 einfo "skipping bzr pull -->"
147 einfo " repository: ${repository}" 189 einfo " repository: ${repo_uri}"
148 else 190 else
149 # update branch 191 # update branch
150 einfo "bzr update start -->" 192 einfo "bzr pull start -->"
151 einfo " repository: ${repository}" 193 einfo " repository: ${repo_uri}"
152 194
153 pushd "${EBZR_BRANCH_DIR}" > /dev/null 195 pushd "${branch_dir}" > /dev/null \
196 || die "${EBZR}: can't chdir to ${branch_dir}"
154 ${EBZR_UPDATE_CMD} ${EBZR_OPTIONS} \ 197 ${EBZR_UPDATE_CMD} ${EBZR_OPTIONS} "${repo_uri}" \
155 || die "${EBZR}: can't update from ${repository}." 198 || die "${EBZR}: can't pull from ${repo_uri}"
156 popd > /dev/null 199 popd > /dev/null
157 fi 200 fi
158} 201}
159 202
160
161# @FUNCTION: bzr_fetch 203# @FUNCTION: bzr_fetch
162# @DESCRIPTION: 204# @DESCRIPTION:
163# Wrapper function to fetch sources from a Bazaar repository via bzr 205# Wrapper function to fetch sources from a Bazaar repository with
164# fetch or bzr update, depending on whether there is an existing 206# bzr branch or bzr pull, depending on whether there is an existing
165# working copy in ${EBZR_BRANCH_DIR}. 207# working copy.
166bzr_fetch() { 208bzr_fetch() {
167 local EBZR_BRANCH_DIR 209 local repo_dir branch_dir
210 local save_sandbox_write=${SANDBOX_WRITE}
168 211
169 # EBZR_REPO_URI is empty.
170 [[ ${EBZR_REPO_URI} ]] || die "${EBZR}: EBZR_REPO_URI is empty." 212 [[ -n ${EBZR_REPO_URI} ]] || die "${EBZR}: EBZR_REPO_URI is empty"
171
172 # check for the protocol or pull from a local repo.
173 if [[ -z ${EBZR_REPO_URI%%:*} ]] ; then
174 case ${EBZR_REPO_URI%%:*} in
175 # lp: seems to be an alias to https://launchpad.net
176 http|https|rsync|lp)
177 ;;
178 sftp)
179 if ! built_with_use --missing true dev-util/bzr sftp; then
180 eerror "To fetch sources from ${EBZR_REPO_URI} you need SFTP"
181 eerror "support in dev-util/bzr."
182 die "Please, rebuild dev-util/bzr with the sftp USE flag enabled."
183 fi
184 ;;
185 *)
186 die "${EBZR}: fetch from ${EBZR_REPO_URI%:*} is not yet implemented."
187 ;;
188 esac
189 fi
190 213
191 if [[ ! -d ${EBZR_STORE_DIR} ]] ; then 214 if [[ ! -d ${EBZR_STORE_DIR} ]] ; then
192 debug-print "${FUNCNAME}: initial branch. Creating bzr directory"
193 addwrite / 215 addwrite /
194 mkdir -p "${EBZR_STORE_DIR}" \ 216 mkdir -p "${EBZR_STORE_DIR}" \
195 || die "${EBZR}: can't mkdir ${EBZR_STORE_DIR}." 217 || die "${EBZR}: can't mkdir ${EBZR_STORE_DIR}"
196 export SANDBOX_WRITE="${SANDBOX_WRITE%%:/}" 218 SANDBOX_WRITE=${save_sandbox_write}
197 fi 219 fi
198 220
199 pushd "${EBZR_STORE_DIR}" > /dev/null || die "${EBZR}: can't chdir to ${EBZR_STORE_DIR}" 221 pushd "${EBZR_STORE_DIR}" > /dev/null \
222 || die "${EBZR}: can't chdir to ${EBZR_STORE_DIR}"
200 223
201 EBZR_BRANCH_DIR="${EBZR_STORE_DIR}/${EBZR_CACHE_DIR}" 224 repo_dir=${EBZR_STORE_DIR}/${EBZR_PROJECT}
225 branch_dir=${repo_dir}${EBZR_BRANCH:+/${EBZR_BRANCH}}
202 226
203 addwrite "${EBZR_STORE_DIR}" 227 addwrite "${EBZR_STORE_DIR}"
204 addwrite "${EBZR_BRANCH_DIR}"
205 228
206 debug-print "${FUNCNAME}: EBZR_OPTIONS = ${EBZR_OPTIONS}" 229 if [[ ! -d ${branch_dir}/.bzr ]]; then
230 if [[ ${repo_dir} != "${branch_dir}" && ! -d ${repo_dir}/.bzr ]]; then
231 einfo "creating shared bzr repository: ${repo_dir}"
232 ${EBZR_INIT_REPO_CMD} "${repo_dir}" \
233 || die "${EBZR}: can't create shared repository"
234 fi
207 235
208 # Run bzr_initial_fetch() only if the branch has not been pulled 236 if [[ -z ${EBZR_INITIAL_URI} ]]; then
209 # before or if the existing local copy is a full checkout (as did
210 # an older version of bzr.eclass)
211 if [[ ! -d ${EBZR_BRANCH_DIR} ]] ; then
212 bzr_initial_fetch "${EBZR_REPO_URI}" "${EBZR_BRANCH_DIR}" 237 bzr_initial_fetch "${EBZR_REPO_URI}" "${branch_dir}"
213 elif [[ -d "${EBZR_BRANCH_DIR}"/.bzr/repository/ ]]; then 238 else
214 einfo "Re-fetching the branch to save space..." 239 # Workaround for faster initial download. This clones the
215 rm -rf "${EBZR_BRANCH_DIR}" 240 # branch from a fast server (which may be out of date), and
216 bzr_initial_fetch "${EBZR_REPO_URI}" "${EBZR_BRANCH_DIR}" 241 # subsequently pulls from the slow original repository.
242 bzr_initial_fetch "${EBZR_INITIAL_URI}" "${branch_dir}"
243 if [[ ${EBZR_REPO_URI} != "${EBZR_INITIAL_URI}" ]]; then
244 EBZR_UPDATE_CMD="${EBZR_UPDATE_CMD} --remember --overwrite" \
245 EBZR_OFFLINE="" \
246 bzr_update "${EBZR_REPO_URI}" "${branch_dir}"
247 fi
248 fi
217 else 249 else
218 bzr_update "${EBZR_REPO_URI}" "${EBZR_BRANCH_DIR}" 250 bzr_update "${EBZR_REPO_URI}" "${branch_dir}"
219 fi 251 fi
220 252
221 cd "${EBZR_BRANCH_DIR}" 253 # Restore sandbox environment
254 SANDBOX_WRITE=${save_sandbox_write}
222 255
223 einfo "exporting ..." 256 cd "${branch_dir}" || die "${EBZR}: can't chdir to ${branch_dir}"
257
258 # Save revision number in environment. #311101
259 export EBZR_REVNO=$(${EBZR_REVNO_CMD})
260
261 if [[ -n ${EBZR_WORKDIR_CHECKOUT} ]]; then
262 einfo "checking out ..."
224 ${EBZR_EXPORT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} "${WORKDIR}/${P}" \ 263 ${EBZR_CHECKOUT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \
225 || die "${EBZR}: export failed" 264 . "${WORKDIR}/${P}" || die "${EBZR}: checkout failed"
226
227 local revision
228 if [[ -n "${EBZR_REVISION}" ]]; then
229 revision="${EBZR_REVISION}"
230 else 265 else
231 revision=$(${EBZR_REVNO_CMD} "${EBZR_BRANCH_DIR}") 266 einfo "exporting ..."
267 ${EBZR_EXPORT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \
268 "${WORKDIR}/${P}" . || die "${EBZR}: export failed"
232 fi 269 fi
233 270 einfo "revision ${EBZR_REVISION:-${EBZR_REVNO}} is now in ${WORKDIR}/${P}"
234 einfo "Revision ${revision} is now in ${WORKDIR}/${P}"
235 271
236 popd > /dev/null 272 popd > /dev/null
237} 273}
238 274
239# @FUNCTION: bzr_bootstrap 275# @FUNCTION: bzr_bootstrap
240# @DESCRIPTION: 276# @DESCRIPTION:
241# Apply patches in ${EBZR_PATCHES} and run ${EBZR_BOOTSTRAP} if specified. 277# Apply patches in ${EBZR_PATCHES} and run ${EBZR_BOOTSTRAP} if specified.
242bzr_bootstrap() { 278bzr_bootstrap() {
243 local patch lpatch 279 local patch lpatch
244 280
245 pushd "${S}" > /dev/null 281 pushd "${S}" > /dev/null || die "${EBZR}: can't chdir to ${S}"
246 282
247 if [[ -n ${EBZR_PATCHES} ]] ; then 283 if [[ -n ${EBZR_PATCHES} ]] ; then
248 einfo "apply patches -->" 284 einfo "apply patches -->"
249 285
250 for patch in ${EBZR_PATCHES} ; do 286 for patch in ${EBZR_PATCHES} ; do
268 einfo "begin bootstrap -->" 304 einfo "begin bootstrap -->"
269 305
270 if [[ -f ${EBZR_BOOTSTRAP} ]] && [[ -x ${EBZR_BOOTSTRAP} ]] ; then 306 if [[ -f ${EBZR_BOOTSTRAP} ]] && [[ -x ${EBZR_BOOTSTRAP} ]] ; then
271 einfo " bootstrap with a file: ${EBZR_BOOTSTRAP}" 307 einfo " bootstrap with a file: ${EBZR_BOOTSTRAP}"
272 "./${EBZR_BOOTSTRAP}" \ 308 "./${EBZR_BOOTSTRAP}" \
273 || die "${EBZR}: can't execute EBZR_BOOTSTRAP." 309 || die "${EBZR}: can't execute EBZR_BOOTSTRAP"
274 else 310 else
275 einfo " bootstrap with commands: ${EBZR_BOOTSTRAP}" 311 einfo " bootstrap with commands: ${EBZR_BOOTSTRAP}"
276 "${EBZR_BOOTSTRAP}" \ 312 "${EBZR_BOOTSTRAP}" \
277 || die "${EBZR}: can't eval EBZR_BOOTSTRAP." 313 || die "${EBZR}: can't eval EBZR_BOOTSTRAP"
278 fi 314 fi
279 fi 315 fi
280 316
281 popd > /dev/null 317 popd > /dev/null
282} 318}
283 319
284# @FUNCTION: bzr_src_unpack 320# @FUNCTION: bzr_src_unpack
285# @DESCRIPTION: 321# @DESCRIPTION:
286# Default src_unpack(). Includes bzr_fetch() and bootstrap(). 322# Default src_unpack(), calls bzr_fetch. For EAPIs 0 and 1, also calls
323# bzr_src_prepare.
287bzr_src_unpack() { 324bzr_src_unpack() {
288 if ! [ -z ${EBZR_BRANCH} ]; then 325 bzr_fetch
289 # This test will go away on 01 Jul 2010
290 eerror "This ebuild uses EBZR_BRANCH which is not supported anymore"
291 eerror "by the bzr.eclass. Please report this to the ebuild's maintainer."
292 die "EBZR_BRANCH still defined"
293 fi
294 bzr_fetch || die "${EBZR}: unknown problem in bzr_fetch()."
295 case "${EAPI:-0}" in 326 case "${EAPI:-0}" in
296 0|1) bzr_src_prepare ;; 327 0|1) bzr_src_prepare ;;
297 esac 328 esac
298} 329}
299 330
300# @FUNCTION: bzr_src_prepare 331# @FUNCTION: bzr_src_prepare
301# @DESCRIPTION: 332# @DESCRIPTION:
302# Default src_prepare(). Executes bzr_bootstrap() for patch 333# Default src_prepare(), calls bzr_bootstrap.
303# application and Make file generation (if needed).
304bzr_src_prepare() { 334bzr_src_prepare() {
305 bzr_bootstrap || die "${EBZR}: unknown problem in bzr_bootstrap()." 335 bzr_bootstrap
306} 336}

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.19

  ViewVC Help
Powered by ViewVC 1.1.20