SUBVERSION.ECLASS

章节:eclass-manpages (5)
更新时间:2024 年 11 月
索引 返回主内容

名称

subversion.eclass - 从 Subversion 仓库获取软件源代码

描述

Subversion eclass 提供了从 Subversion 仓库获取软件源代码的功能。

支持的 EAPI

7 8

函数

subversion_fetch [repo_uri] [destination]
包装函数,通过 svn checkout 或 svn update 从 Subversion 获取源代码,具体取决于 ${ESVN_STORE_DIR} 中是否存在现有的工作副本。

可以接受两个可选参数
  repo_uri    - 仓库 URI。默认为 ESVN_REPO_URI。
  destination - S 中的检出路径。

subversion_wc_info [repo_uri]
获取指定 repo_uri 的 svn 信息。默认的 repo_uri 为 ESVN_REPO_URI。

指定仓库 URI 上的工作副本信息将设置为 ESVN_WC_* 变量。

返回值:ESVN_WC_URL、ESVN_WC_ROOT、ESVN_WC_UUID、ESVN_WC_REVISION 和 ESVN_WC_PATH

subversion_src_unpack
默认的 src_unpack。获取。
subversion_pkg_preinst [repo_uri]
记录源代码的 svn 版本号。在 pkg_preinst 中执行此操作,因为我们希望在卸载软件包时日志仍然保留,而不会影响配置保护。

Eclass 变量

ESVN_STORE_DIR = "${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/svn-src" (用户变量)
Subversion 源代码存储目录。用户可以在 /etc/portage/make.conf 中覆盖此变量。
ESVN_FETCH_CMD = "svn checkout"
Subversion 检出命令
ESVN_UPDATE_CMD = "svn update"
Subversion 更新命令
ESVN_SWITCH_CMD = "svn switch"
Subversion 切换命令
ESVN_OPTIONS = "${ESVN_OPTIONS:-}"
传递给 checkout 或 update 的选项。如果您想要特定版本,请参阅 ESVN_REPO_URI,而不是使用 -rREV。
ESVN_REPO_URI = "${ESVN_REPO_URI:-}"
仓库 URI

例如:http://example.org/trunk, svn://example.org/branch/foo@1234

支持的 URI 方案
  http://
  https://
  svn://
  svn+ssh://
  file://

要固定到特定版本,请将 @REV 附加到仓库的 uri 后面

ESVN_REVISION = "${ESVN_REVISION:-}"
用户可配置的版本,从仓库检出或更新到此版本。

对于实时 svn 或 trunk svn ebuild 很有用,允许用户固定到特定版本。

注意:此变量绝不应该在 ebuild 中设置!

ESVN_USER = "${ESVN_USER:-}"
用户名
ESVN_PASSWORD = "${ESVN_PASSWORD:-}"
密码
ESVN_PROJECT = "${ESVN_PROJECT:-${PN/-svn}}"
ebuild 的项目名称(= 命名空间)

Subversion eclass 将检出 Subversion 仓库,如下所示:


  ${ESVN_STORE_DIR}/${ESVN_PROJECT}/${ESVN_REPO_URI##*/}

因此,如果您将 ESVN_REPO_URI 定义为 http://svn.collab.net/repo/svn/trunkhttp://svn.collab.net/repo/svn/trunk/. 并且 PN 为 subversion-svn。它将检出如下:


  ${ESVN_STORE_DIR}/subversion/trunk

这不用于声明上游项目的名称。您可以像这样声明它:


  # jakarta commons-loggin
  ESVN_PROJECT=commons/logging

默认值:${PN/-svn}。

ESVN_RESTRICT = "${ESVN_RESTRICT:-}"
这应该是一个空格分隔的 Subversion eclass 特性限制列表。
  导出)
    不要将工作副本导出到 S。
ESVN_OFFLINE = "${ESVN_OFFLINE:-${EVCS_OFFLINE}}" (用户变量)
将此变量设置为非空值以禁用 svn 源代码树的自动更新。这旨在由用户在 Subversion 源代码树外部设置。
ESVN_UMASK = "${ESVN_UMASK:-${EVCS_UMASK}}" (用户变量)
将此变量设置为自定义 umask。这旨在由用户设置。通过将其设置为类似于 002 的值,可以为非 root 用户(但在 portage 组中)进行开发并切换到使用 FEATURES=userpriv 进行构建的用户简化操作。反之亦然。这里不应该存在安全问题,因为任何拥有 portage 组写访问权限的用户都可以通过更巧妙的方式破坏系统。
ESVN_UP_FREQ = "${ESVN_UP_FREQ:=}" (用户变量)
设置任何给定 svn 模块中 svn up 的最小小时数。这对于我们希望确保所有子模块都针对同一版本编译的分裂 KDE ebuild 特别有用。它也应该保持用户可覆盖。
ESCM_LOGDIR = "${ESCM_LOGDIR:=}" (用户变量)
用户配置变量。如果设置为某个路径,例如 /var/log/scm,则继承自 subversion.eclass 的任何软件包都将在该路径的 ${CATEGORY}/${PN}.log 中记录 svn 版本号,在 pkg_preinst 中。这不能由 ebuild/eclass 设置。默认为空,因此用户需要选择加入。

作者

原始作者:Akinori Hattori <[email protected]>

维护者

Akinori Hattori <[email protected]>

报告 Bug

请通过 https://bugs.gentoo.org/ 报告 Bug。

文件

subversion.eclass

参见

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/subversion.eclass


索引

名称
描述
支持的 EAPI
函数
Eclass 变量
作者
维护者
报告 Bug
文件
参见

本文件由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日,格林威治标准时间 03:27:01