openSUSE:OBS Light FAQ
OBS Light
obslight 将数据存储在哪里?
所有数据都存储在 ~/OBSLight 及其子目录中。
每个 OBS 项目都有自己的目录在 ~/OBSLight/ObsProjects/ 中,每个 MIC 项目都有自己的目录在 ~/OBSLight/MicProjects/ 中。
是否有配置文件?
配置文件是 ~/OBSLight/ObslightConfig。
如何查看日志?
- 从菜单:窗口 -> 显示日志
- 当一个长时间的操作正在运行时,进度条下方有一个按钮。
- 日志文件被写入~/OBSLight/obslight.log.
如何将软件包的依赖项安装到项目文件系统中?
如果您的 OBS 上的项目没有提供某些依赖项,并且您必须将存储库添加到您的项目文件系统的 zypper 配置中,您有两个选择
- 第一种,使用 URL 和别名
## obslight filesystem repositories add <repository_url> <repository_alias> <project_alias> obslight filesystem repositories add http://download.meego.com/live/MeeGo:/1.2:/non-oss/MeeGo_1.2/ MeeGo_non-oss MeeGo_1.2_oss
- 第二种,添加另一个本地项目的存储库
## obslight filesystem repositories add from <source_project_alias> <project_alias> obslight filesystem repositories add from MeeGo_1.2_non-oss MeeGo_1.2_oss
如何创建一个新软件包?(从现有的 SPEC 文件)
要求
- 一个在 OBS 服务器(公共或 私有)上的项目,您拥有维护者权限(例如您的主项目),并且已经配置了 构建目标。
- 您的程序的存档,命名为program-version.tar.gz (tar.bz2是可以的)。
- 一个有效的 SPEC 文件,命名为program.spec.
流程
openSUSE:OBS Light 目前无法创建新的软件包。您必须首先使用 Web UI 或 osc。
- 使用 Web UI
- 转到您要添加软件包的项目。
- 转到 软件包 选项卡。
- 单击 创建软件包。
- 为软件包指定一个名称(我们建议使用与您的程序相同的名称,小写),一个标题和一个描述(可选但推荐)。
- 现在您应该能够在 openSUSE:OBS Light 中导入此软件包。
- 运行obslightgui.
- 单击 导入项目 按钮(左下角)。
- 从列表中选择一个服务器或配置一个新的服务器。
- 在列表中选择您的项目。
- 选择一个目标和一个架构。
- 为项目指定一个别名(可以是项目名称,不带“:”,我们建议在末尾加上架构)。
- 您现在应该看到一个软件包列表,其中包含您在 Web UI 中创建的软件包。
- 选择它并按 完成。
- 该软件包现在已导入到 OBS Light 中,状态为 损坏(因为它没有文件)。
- 在右侧面板中,选择 本地目录 选项卡,单击 导入文件。
- 选择您的 SPEC 文件和存档(如果有 YAML 文件,也选择它)。
- 文件将出现在列表中,状态为 已添加。
- 在中间面板中,单击 提交更改,并输入提交消息。
- 文件将被上传,软件包将开始在 OBS 服务器上构建。
在哪里提交错误报告?
错误集中在 MeeGo 的 bugzilla 上。
OBS Light 设备
帮助:我更新并破坏了我的 OBS 服务器设备
升级到 OBS 2.3 似乎不如它应该的那样透明。但是 V 2.3 提供的功能很有价值,并且迁移到它是有价值的。
您将在此处找到我所做的方法,它可能对您有效,但没有保证。在开始之前对您的设备进行快照。
如何从 OBS 服务器 2.1 升级到 2.3
如何在 OBS 设备中添加交换空间?
请参阅 如何添加交换空间 设备的页面部分。
如何使 OBS 设备更快:在 RAM 中构建
请参阅 如何加快构建速度:在 RAM 中构建 设备的页面部分。
其他
如何使用 Spectacle 准备 Spec 文件?
从头开始生成 YAML 文件
手动
运行以下命令:
specify --new=your_package_name
它将从模板创建一个新的 YAML 文件,并要求您编辑该文件。只需将 "^^^" 替换为您认为合适的内容,然后转到 Spec 和 YAML 自定义部分。
自动
autospectacle 可以分析源代码存档并生成适当的 YAML 文件,但没有文档。
从 Spec 文件生成 YAML 文件
如果您已经为您的程序准备了 Spec 文件,您可能仍然想创建一个 YAML 文件,以便对其进行标准化或简化。运行以下命令
spec2spectacle your_package_name.spec
它将解析您的 Spec 文件,生成一个 YAML 文件,并从 YAML 文件生成一个新的 Spec 文件。请注意,转换并不完美,您可能会丢失信息。
自定义 Spec 和 YAML 文件
除了 "# >> " 和 "# << " 标签之间的行之外,Spec 文件的内容不应由您修改,因为它将由指定每次您修改 YAML 文件时重新写入。因此,如果您看到您不喜欢的一行,您必须找到 YAML 文件中的哪个选项生成了它(或可以防止它生成),更改它,然后运行以下命令来更新 Spec 文件
specify your_package_name.yaml
Spectacle 选项的完整列表在这里:Spectacle YAML 语法
为什么 MeeGo 的 kernel 软件包无法为 ARM 构建?
kernel 软件包具有防止在 ARM 上构建的标志。要编译 ARM 内核,您必须使用另一个软件包,例如 kernel-adaptation-n900 软件包。