现在的位置: 首页 > 综合 > 正文

gbs使用手册之配置文件

2013年08月31日 ⁄ 综合 ⁄ 共 2535字 ⁄ 字号 评论关闭
文章目录

Git Build System

GBS(git-build-system) 是支持Tizen软件包开发的面向开发者的命令行工具.它被用来基于Git仓库生成压缩包(tarball),还能用于本地编译,还可以用于提交代码到OBS(Tizen的主要的编译服务)
这部分包含更加详细的GBS信息.我们建议您首先阅读一下"开发环境的搭建"章节.

配置文件(Configuration File)

配置文件包含gbs所必需的所有配置:比如,gbs build所需要的build root和远程软件包仓库URL;gbs remotebuild所需要的远程OBS服务器等等.

GBS使用的配置文件

GBS会在下面列出的文件夹中搜索配置文件.如果GBS找到了多个配置文件,它会按这样的顺序加载它们:
  • /etc/gbs.conf #全局配置,这是gbs安装包中的且建议不要修改
  • ~/.gbs.conf # 某一用户的配置
  • $PWD/.gbs.conf # 某一特定项目或路径的配置

后面的配置选项会覆盖前面文件设置的选项.

全局参数-c(--conf)可用来指定一个配置文件.如果使用这个选项,GBS会加载这个配置文件并且忽略默认路径下的其他配置文件.

GBS会在~/.gbs.conf生成一个配置文件, 如果无法找到配置文件.

面向场景风格的配置

一个场景可以包含GBS build和remotebuild的许多选项.一个配置文件中可以有任意多的场景,比如说针对移动设备,针对车载(IVI),等等.

默认的场景定义在[general]部分.如果修改那个场景,则GBS的所有行为都会发生改变.

部分名字的强制规则有:

  • 场景部分的名字必须以profile开头
  • OBS部分名字必须以obs开头
  • 软件包仓库部分必须以repo开头

常见的授权信息可以设置在场景级别,而不必为在每个不同的obs和repo部分重复设置.如果不同的obs和repo有不同的授权信息,可以每个部分进行独立的设置.

一个配置文件的范例:

[general]
#当前的场景名字应该匹配一个场景部分的名字
profile = profile.tizen
buildroot = ~/GBS-ROOT/

[profile.tizen]
obs = obs.tizen
repos = repo.tizen_latest
# 如果这个场景没有设置buildroot,那么就使用通用部分的buildroot
buildroot = ~/GBS-ROOT-profile.tizen/

[obs.tizen]
url = https://api.tizen.org
user = xxxx
passwd = xxxx
# 给obs指定基础项目
#base_prj=Tizen:Main
# 给obs指定默认的目标项目, 默认是 home:<user>:gbs:<base_prj>
#target_prj=<specify target project>

[repo.tizen_latest]
url = http://download.tizen.org/releases/trunk/daily/ivi/latest/
#可选的用户名和密码,如果 与场景的用户名密码不同就需要设置
#user =
#passwd =

配置gbs build的软件包仓库(repo)

在repo部分配置仓库且部分的名字必须以repo开头.repo部分支持三种键值:url,user和password.

注意:当指定软件仓库时请使用发行版本而不要用快照版本.发行版本中的镜像和repo都是经过负责发布的工程师测试过然后发布的.而快照版本里的镜像和repo是后台服务自动创建的.无法保证其质量.

可以在一个场景中指定多个repo.例如:

[profile.tizen]
repos = repo.tizen_latest, repo.my_local

[repo.tizen_latest]
url = http://download.tizen.org/releases/trunk/daily/ivi/latest/
user = xxx
passwd = xxx
[repo.my_local]
#local repo must be an absolute path
url = /path/to/local/repo/

注意:本地repo必须是绝对路径.对于本地repo没有必要进行'createrepo',仅是含有RPM包的路径就可以了.

配置gbs build的buildroot

默认的gbsroot是~/GBS-ROOT,但是可以自定义.gbs还支持不同的场景配置不同的gbsroot,就像这样:
[profile.tizen]
obs = obs.tizen
repos = repo.tizen_latest
buildroot = ~/GBS-ROOT/

注意:白文密码会自动转为加密密码,所以当运行gbs时配置会变成下面这样.想修改密码时可以删除'passwdx'然后设置一个新的'passwd':

[obs.tizen]
url = https://api.tizen.org
user = xxxx
passwdx = QlpoOTFBWSZTWVyCeo8AAAKIAHJAIAAhhoGaAlNOLuSKcKEguQT1

配置多个场景

可以在一个配置文件中配置多个场景,比如,针对移动设备,针对车载等.general部分中可以指定默认的场景:
[general]
profile = profile.ivi

[profile.mobile]
...
[profile.ivi]
...

在命令行中指定场景

除了在配置文件中指定默认场景外,还可以在命令中用--profile/-P选项来指定.可以写场景的全部名字,如"profile.ivi",或者使用除了"profile"外的名字,如在上面的例子中"ivi",如:

$ gbs build --profile=profile.mobile -A i586
$ gbs remotebuild --profile=mobile -A i586 # 不加profile前缀来指定场景名字

在命令行中指定配置文件

选项--config/-C可以某一配置文件.一旦使用-C选项,默认的配置文件会被忽略.

例如:

gbs -C ~/gbs-my.conf build -A ...

原文地址: Configuration File

抱歉!评论已关闭.