文章目錄
- GBS使用的設定檔
- 配置gbs build的buildroot
- 在命令列中指定情境
- 在命令列中指定設定檔
Git Build SystemGBS(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安裝包中的且建議不要修改
- $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.tizenbuildroot = ~/GBS-ROOT/[profile.tizen]obs = obs.tizenrepos = repo.tizen_latest# 如果這個情境沒有設定buildroot,那麼就使用通用部分的buildrootbuildroot = ~/GBS-ROOT-profile.tizen/[obs.tizen]url = https://api.tizen.orguser = xxxxpasswd = 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 = xxxpasswd = xxx[repo.my_local]#local repo must be an absolute pathurl = /path/to/local/repo/
注意:本地repo必須是絕對路徑.對於本地repo沒有必要進行'createrepo',僅是含有RPM包的路徑就可以了.
配置gbs build的buildroot預設的gbsroot是~/GBS-ROOT,但是可以自訂.gbs還支援不同的情境配置不同的gbsroot,就像這樣:
[profile.tizen]obs = obs.tizenrepos = repo.tizen_latestbuildroot = ~/GBS-ROOT/
注意:白文密碼會自動轉為加密密碼,所以當運行gbs時配置會變成下面這樣.想修改密碼時可以刪除'passwdx'然後設定一個新的'passwd':
[obs.tizen]url = https://api.tizen.orguser = xxxxpasswdx = 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