当前位置: 首页 > news >正文

gbs使用手册之配置文件

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


相关文章:

  • gbs使用手册之gbs build
  • gbs使用手册之gbs chroot
  • 如何用doxygen生成文档
  • FreeMarker教程
  • Timer、TimerTask实现定时业务处理
  • windows宿主机与linux目标机联网通信
  • 腾讯面试题(持续更新ing)
  • 几种排序算法与运用实例
  • 计算文件夹下.h和.cpp文件的总行数
  • 为什么仍还用C编码?
  • 线程同步
  • AndEngine安全移除精灵的方式
  • 可评审代码之道
  • JDK的动态代理
  • 实验一 Linux基本环境
  • [译]如何构建服务器端web组件,为何要构建?
  • 【Leetcode】104. 二叉树的最大深度
  • CentOS 7 防火墙操作
  • LeetCode29.两数相除 JavaScript
  • Linux Process Manage
  • mongodb--安装和初步使用教程
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • python学习笔记-类对象的信息
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Unix命令
  • 服务器从安装到部署全过程(二)
  • 聊聊directory traversal attack
  • 聊聊redis的数据结构的应用
  • 免费小说阅读小程序
  • 面试总结JavaScript篇
  • 如何选择开源的机器学习框架?
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • $.proxy和$.extend
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (2020)Java后端开发----(面试题和笔试题)
  • (9)STL算法之逆转旋转
  • (poj1.3.2)1791(构造法模拟)
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (一)WLAN定义和基本架构转
  • (一)插入排序
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)EOS中账户、钱包和密钥的关系
  • (转)德国人的记事本
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET Framework与.NET Framework SDK有什么不同?
  • .考试倒计时43天!来提分啦!
  • @Autowired和@Resource装配
  • [2021 蓝帽杯] One Pointer PHP