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

Diff of /eclass/subversion.eclass

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

Revision 1.63 Revision 1.67
1# Copyright 1999-2009 Gentoo Foundation 1# Copyright 1999-2009 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/subversion.eclass,v 1.63 2009/04/26 02:18:09 arfrever Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/subversion.eclass,v 1.67 2009/05/10 20:33:38 arfrever Exp $
4 4
5# @ECLASS: subversion.eclass 5# @ECLASS: subversion.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Akinori Hattori <hattya@gentoo.org> 7# Akinori Hattori <hattya@gentoo.org>
8# Bo ├śrsted Andresen <zlin@gentoo.org> 8# Bo ├śrsted Andresen <zlin@gentoo.org>
17 17
18inherit eutils 18inherit eutils
19 19
20ESVN="${ECLASS}" 20ESVN="${ECLASS}"
21 21
22case "${EAPI:-0}" in
23 0|1)
22EXPORT_FUNCTIONS src_unpack pkg_preinst 24 EXPORT_FUNCTIONS src_unpack pkg_preinst
25 ;;
26 *)
27 EXPORT_FUNCTIONS src_unpack src_prepare pkg_preinst
28 ;;
29esac
23 30
24DESCRIPTION="Based on the ${ECLASS} eclass" 31DESCRIPTION="Based on the ${ECLASS} eclass"
25 32
26DEPEND="dev-util/subversion 33SUBVERSION_DEPEND="dev-util/subversion
27 net-misc/rsync" 34 net-misc/rsync"
35
36if [[ -z "${ESVN_DISABLE_DEPENDENCIES}" ]]; then
37 DEPEND="${SUBVERSION_DEPEND}"
38fi
28 39
29# @ECLASS-VARIABLE: ESVN_STORE_DIR 40# @ECLASS-VARIABLE: ESVN_STORE_DIR
30# @DESCRIPTION: 41# @DESCRIPTION:
31# subversion sources store directory. Users may override this in /etc/make.conf 42# subversion sources store directory. Users may override this in /etc/make.conf
32[[ -z ${ESVN_STORE_DIR} ]] && ESVN_STORE_DIR="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/svn-src" 43[[ -z ${ESVN_STORE_DIR} ]] && ESVN_STORE_DIR="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/svn-src"
130# this should be a space delimited list of subversion eclass features to 141# this should be a space delimited list of subversion eclass features to
131# restrict. 142# restrict.
132# export) 143# export)
133# don't export the working copy to S. 144# don't export the working copy to S.
134ESVN_RESTRICT="${ESVN_RESTRICT:-}" 145ESVN_RESTRICT="${ESVN_RESTRICT:-}"
146
147# @ECLASS-VARIABLE: ESVN_DISABLE_DEPENDENCIES
148# @DESCRIPTION:
149# Set this variable to a non-empty value to disable the automatic inclusion of
150# Subversion in dependencies.
151ESVN_DISABLE_DEPENDENCIES="${ESVN_DISABLE_DEPENDENCIES:-}"
135 152
136# @ECLASS-VARIABLE: ESVN_OFFLINE 153# @ECLASS-VARIABLE: ESVN_OFFLINE
137# @DESCRIPTION: 154# @DESCRIPTION:
138# Set this variable to a non-empty value to disable the automatic updating of 155# Set this variable to a non-empty value to disable the automatic updating of
139# an svn source tree. This is intended to be set outside the subversion source 156# an svn source tree. This is intended to be set outside the subversion source
178 # check for the protocol 195 # check for the protocol
179 local protocol="${repo_uri%%:*}" 196 local protocol="${repo_uri%%:*}"
180 197
181 case "${protocol}" in 198 case "${protocol}" in
182 http|https) 199 http|https)
183 if ! built_with_use --missing true -o dev-util/subversion webdav-neon webdav-serf || \ 200 if ! built_with_use -o dev-util/subversion webdav-neon webdav-serf; then
184 built_with_use --missing false dev-util/subversion nowebdav; then
185 echo 201 echo
186 eerror "In order to emerge this package, you need to" 202 eerror "In order to emerge this package, you need to"
187 eerror "reinstall Subversion with support for WebDAV." 203 eerror "reinstall Subversion with support for WebDAV."
188 eerror "Subversion requires either Neon or Serf to support WebDAV." 204 eerror "Subversion requires either Neon or Serf to support WebDAV."
189 echo 205 echo
242 else 258 else
243 ${ESVN_FETCH_CMD} ${options} "${repo_uri}" || die "${ESVN}: can't fetch to ${wc_path} from ${repo_uri}." 259 ${ESVN_FETCH_CMD} ${options} "${repo_uri}" || die "${ESVN}: can't fetch to ${wc_path} from ${repo_uri}."
244 fi 260 fi
245 261
246 elif [[ -n ${ESVN_OFFLINE} ]]; then 262 elif [[ -n ${ESVN_OFFLINE} ]]; then
263 svn upgrade "${wc_path}" &>/dev/null
247 svn cleanup "${wc_path}" 264 svn cleanup "${wc_path}" &>/dev/null
248 subversion_wc_info "${repo_uri}" || die "${ESVN}: unknown problem occurred while accessing working copy." 265 subversion_wc_info "${repo_uri}" || die "${ESVN}: unknown problem occurred while accessing working copy."
249 if [[ -n ${ESVN_REVISION} && ${ESVN_REVISION} != ${ESVN_WC_REVISION} ]]; then 266 if [[ -n ${ESVN_REVISION} && ${ESVN_REVISION} != ${ESVN_WC_REVISION} ]]; then
250 die "${ESVN}: You requested off-line updating and revision ${ESVN_REVISION} but only revision ${ESVN_WC_REVISION} is available locally." 267 die "${ESVN}: You requested off-line updating and revision ${ESVN_REVISION} but only revision ${ESVN_WC_REVISION} is available locally."
251 fi 268 fi
252 einfo "Fetching disabled: Using existing repository copy at revision ${ESVN_WC_REVISION}." 269 einfo "Fetching disabled: Using existing repository copy at revision ${ESVN_WC_REVISION}."
253 else 270 else
271 svn upgrade "${wc_path}" &>/dev/null
254 svn cleanup "${wc_path}" 272 svn cleanup "${wc_path}" &>/dev/null
255 subversion_wc_info "${repo_uri}" || die "${ESVN}: unknown problem occurred while accessing working copy." 273 subversion_wc_info "${repo_uri}" || die "${ESVN}: unknown problem occurred while accessing working copy."
256 274
257 local esvn_up_freq= 275 local esvn_up_freq=
258 if [[ -n ${ESVN_UP_FREQ} ]]; then 276 if [[ -n ${ESVN_UP_FREQ} ]]; then
259 if [[ -n ${ESVN_UP_FREQ//[[:digit:]]} ]]; then 277 if [[ -n ${ESVN_UP_FREQ//[[:digit:]]} ]]; then
364 fi 382 fi
365} 383}
366 384
367# @FUNCTION: subversion_src_unpack 385# @FUNCTION: subversion_src_unpack
368# @DESCRIPTION: 386# @DESCRIPTION:
369# default src_unpack. fetch and bootstrap. 387# Default src_unpack. Fetch and, in older EAPIs, bootstrap.
370subversion_src_unpack() { 388subversion_src_unpack() {
371 subversion_fetch || die "${ESVN}: unknown problem occurred in subversion_fetch." 389 subversion_fetch || die "${ESVN}: unknown problem occurred in subversion_fetch."
390 if has "${EAPI:-0}" 0 1; then
391 subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap."
392 fi
393}
394
395# @FUNCTION: subversion_src_prepare
396# @DESCRIPTION:
397# Default src_prepare. Bootstrap.
398subversion_src_prepare() {
372 subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap." 399 subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap."
373} 400}
374 401
375# @FUNCTION: subversion_wc_info 402# @FUNCTION: subversion_wc_info
376# @USAGE: [repo_uri] 403# @USAGE: [repo_uri]

Legend:
Removed from v.1.63  
changed lines
  Added in v.1.67

  ViewVC Help
Powered by ViewVC 1.1.20