openSUSE:OBS Light Fakeobs grabgbs 手册
OBS Light Fakeobs: grabgbs 命令手册
obslight-fakeobs-grabgbs - 从 OBS 服务器的 GBS 输出中抓取一个或多个子项目到 fakeobs 数据库。
SYNOPSYS
obslight-fakeobs grabgbs [options] -n|--name <project-name> <uri>
或
obslight-fakeobs fromgbs [options] -n|--name <project-name> <uri>
描述
将 <uri> 给定的项目导入到 *fakeobs* 数据库。
该选项的主要目标是将 Tizen 的 OBS 的 GBS 输出导入。
<uri> 应该指向 *Tizen* 的下载目录。它应该类似于 [SCHEME:]//download.tizen.org/SUBPATH。其中
- 如果存在 SCHEME,则为 'rsync'、'https'、'http'。
如果未提供 SCHEME,则将按给定的顺序尝试上述方法:'rsync',然后是 'https',最后是 'http'。
- SUBPATH 指向一个目录,该目录必须包含一个名为
'builddata' 的子目录,该子目录必须包含文件 'build.xml'。
这样的 <uri> 是 Tizen 构建的 GBS 的基本 uri。它包含几个子项目。至少 2 个子项目:tizen-base 和 tizen-main。但可以找到更多。每个子项目都作为名为 <project-name> 的项目的子项目导入到 *fakeobs* 数据库,该项目名称使用强制选项 --name <project-name> 提供。
由于 fakeobs 应该知道导入的子项目之间的依赖关系,因此选项 --order 允许提供子项目之间依赖关系的顺序。
警告:OBS 构建一个或多个架构。架构也由 fakeobs 命名为目标。导入的目标必须通过选项 --target 显式提供。如果未提供目标,则不会导入任何内容。
目标构建是为一种或多种处理器设计的,也称为 'arch'。选项 --arch 允许告知需要哪个 arch。
对于 Tizen,使用网络导航器检查下载存储库通常是个好主意。主要入口点是 https://download.tizen.org/ 。
选项
- -n, --name <project-name>
此选项是强制性的。grab 在 fakeobs 数据库中创建名为 <project-name> 的项目。
- -t, --target <target-name>
告知要抓取的目标的名称为 <target-name>。可以设置多个目标。任何未列出的目标都会被排除在外,因此至少必须设置一个目标。
- -a, --arch <arch-name>
告知要抓取的架构名称为 <arch-name>。可以设置多个目标。如果未设置架构,则将抓取所有可用的架构。您也可以使用 --arch '*' 来抓取所有可用的架构。
- -o, --order <subproject-name>
为排序子项目依赖关系提供 <subproject-name>。使用 --order 选项之前给定的每个子项目都将使给定的子项目依赖于所有子项目。
- -v, --verbose
显示更多信息消息。
- -f, --force
如果项目已存在于 fakeobs 数据库中,则不要停止。
- -k, --rsynckeep
不要删除内部同步的文件。例如,如果您想使用 --force 选项进一步更新它,请使用该选项进行最新的构建。
示例
obslight-fakeobs grabgbs -t ia32 -a i586 -a i686 -o tizen-base -o tizen-main -n Tizen:r2.0a http://download.tizen.org/releases/2.0alpha/daily/latest/
使用上述命令,您将从 //download.tizen.org/releases/2.0alpha(不提供 rsync 功能)抓取所有子项目,并使子项目 tizen-main 依赖于子项目 tizen-base。
由于快照中激活了 rsync,因此以下命令有效。
obslight-fakeobs grabgbs -t ia32 -o tizen-base -o tizen-main -n Tizen:2.0 -k -f rsync://download.tizen.org/snapshots/2.0alpha/common/latest/
可以使用该命令跟踪最新的快照。
已知问题
':full' 子目录的内容无法抓取,但必须猜测。它实际上适用于 'i686' 和 'i586' 架构,不适用于 arm。
