后面的配置选项会覆盖前面文件设置的选项.
全局参数-c(--conf)可用来指定一个配置文件.如果使用这个选项,GBS会加载这个配置文件并且忽略默认路径下的其他配置文件.
GBS会在~/.gbs.conf生成一个配置文件, 如果无法找到配置文件.
一个场景可以包含GBS build和remotebuild的许多选项.一个配置文件中可以有任意多的场景,比如说针对移动设备,针对车载(IVI),等等.
默认的场景定义在[general]部分.如果修改那个场景,则GBS的所有行为都会发生改变.
部分名字的强制规则有:
常见的授权信息可以设置在场景级别,而不必为在每个不同的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 =
在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包的路径就可以了.
[profile.tizen] obs = obs.tizen repos = repo.tizen_latest buildroot = ~/GBS-ROOT/
[obs.tizen] url = https://api.tizen.org user = xxxx passwdx = QlpoOTFBWSZTWVyCeo8AAAKIAHJAIAAhhoGaAlNOLuSKcKEguQT1
[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 ...