Build Service/CLI
openSUSE编译服务命令行工具目前有两种实现,一个是Perl,一个是Python。每一个都有一个自己使用的库。可以从http://software.opensuse.org/download/openSUSE:/Tools/ 的站点上获取这两个包的不同发行版本(SUSE Linux, Fedora, Mandriva, Debian)。
可参阅编译服务教程。
osc,Python命令行客户端
osc是一个类似于subversion的客户端。它作为编译服务的源代码仓库的一个客户端,用于编辑元数据或查询编译结果。
下面将介绍如何使用。
osc是一个可扩展的。您可以修改特性或编写自己的命令。
当您首次使用时osc将要求您的认证信息并存储到~/.oscrc文件中(也有可能使用.netrc文件)。
显示帮助信息
osc help osc help <cmd>
列出现有的服务器上的目录
osc ls # list projects osc ls Apache # list packages in a project osc ls Apache subversion # list files of package of a project
检出服务上的目录
osc co Apache # entire project osc co Apache subversion # a package osc co Apache subversion foo # single file
更新工作目录
osc up osc up <directory> osc up * # from within a project dir, update all packages osc up # from within a project dir, update all packages AND check out all newly added packages
上传更改后的目录
osc ci # current dir osc ci <file1> <file2> # only specific files osc ci <dir1> <dir2> ... # multiple packages osc ci -m "updated foobar" # specify a commit message
查看提交日志
osc log
显示状态(本地的哪个文件已经被更改)
osc st osc st <directory>
如果更新不能自动合并,这个文件处于'C'(冲突)状态,冲突的地方会标记<<<<<<< 和 >>>>>>>。 在手工解决这些冲突之后,使用
osc resolved <file>
删除或添加的文件时会在这些文件上做标记以备下次'提交'
osc add foo osc rm foo
添加所有新的文件在本地拷贝并删除所有消失的文件。
osc addremove
查看变更
osc diff [file]
显示包的编译结果
osc results osc results <platform>
显示包的日志文件(您需要进入包的目录)
osc buildlog <platform> <arch>
显示.repo文件的URL,这些文件用于Yum/YaST/smart。
osc repourls [dir]
为一个包的所有的仓库/体系结构触发重新编译
osc rebuildpac [dir]
在本机上编译一个包
osc build <platform> <arch> <specfile> [--clean|--noinit|...]
显示所有配置的平台/编译目标。
osc platforms [project]
显示元数据信息
osc meta prj <project> osc meta pkg <project> <package> osc meta user <username>
编辑元数据信息。如果不存在的话,将创建新的包/工程。它将会打开一个编辑器和原始的XML元数据。如果对XML不熟悉的话,就使用web客户端!
osc meta prj -e <project> osc meta pkg -e <project> <package>
从spec文件中更新包元数据
osc updatepacmetafromspec <dir>
Perl客户端 'opensuse-commandline'
Perl客户端(叫'opensuse-commandline')当前没人维护。请使用'osc',参见上面所说的。
Perl客户端需要通过创建~/.netrc文件来配置您的帐号和口令。
machine api.opensuse.org login $login password $pass
$login 和 $pass需要替换您的登录名和口令。