OBS使用简介

21 Feb 2020 - changjie.fu

OBS是什么

OBS是Open Build Service 的简写(官方网址:https://openbuildservice.org/),

原本是作为发行版openSUSE专用的rpm打包的平台, 后续扩展为面向多发行版、多架构、多格式的打包发布平台。

OBS 系统结构。图自论文《集群模式操作系统软件包生成系统的研究与实现》

与koji的不同

OBS使用

安装osc(OBS的命令行程序):

打开网址:https://download.opensuse.org/repositories/openSUSE:/Tools/

选择自己的系统版本,添加软件源到自身包管理器中。

例:  
    fc30 将文件`http://download.opensuse.org/repositories/openSUSE:/Tools/Fedora_30/openSUSE:Tools.repo`另存到/etc/yum.repo.d/中(需要root权限)。

安装osc

dnf install osc

注册OBS网页账号:

打开网址:https://build.opensuse.org/

点击右上角“Sign Up”,注册自己喜欢的帐号。

注册完成后,重新回到上面网址。点击右上角的“Login”,用新账户登录。

系统会在注册时自动创建一个以“home:用户名”为格式命名的Home Project。

创建本地目录

创建obs工作目录: mkdir ~/obs

进入obs工作目录: cd ~/obs

将远程obs库同步到本地: osc checkout home:用户名

输入网页用户名与密码

登陆OBS

第一次登陆时会询问本地密码保存方式,三种方式分别是:

  1. 明文保存
  2. 加密保存
  3. 不保存(需要每次输入)

三种密码保存方式

推荐选择2

同步结束后可以看到当前目录下有以Project名命名的文件夹。

配置Project:

两种方法:网页操作、命令行操作

新建包:

进入Project目录: cd [project名]

新建Package: osc mkpac [package名]

进入Package目录并将下载源码以【tar包、所有patch、spec文件、其他source文件】格式放置:

目录格式

向新创建的package中添加以上文件: osc add *

osc add

将更改上传至服务器: osc commit

commit介绍

在这里可以注明本次上传的简短介绍,用“:wq”保存并退出

之后就可以在网页上等待编译并查看结果了。

查看包状态与下载包

你可以在Project与Package主页右侧看到当前编译状态

编译状态

你可以点击 编译平台 -> “Go to download repository” 到达编译仓库,

在仓库你可以获得此Project的repo源与所有编译成功的package。

更新包

进入project文件夹: cd [project名]

更新本地代码为最新代码: osc up

进入package目录,使用 osc add 命令将新文件添加到package,修改spec文件后使用osc commit命令上传新版本。