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/trunk 或 http://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
索引
本文件由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日,格林威治标准时间 03:27:01