由于包命名规则以及开发环境的不同,按照常规方法编写spec文件,只能为某一种发行版建包,如果想为多个发行版建包,那么就不得不为每个发行版单独建立OBS项目并分别编写spec文件,这样显然非常麻烦,费时由费力。不过OBS提供了一个发行版RPM宏解决了这个问题,利用这个宏可以编写出一个跨平台的spec文件,可以同时兼容多个linux发行版。
完整的宏定义如下:
由于包命名规则以及开发环境的不同,按照常规方法编写spec文件,只能为某一种发行版建包,如果想为多个发行版建包,那么就不得不为每个发行版单独建立OBS项目并分别编写spec文件,这样显然非常麻烦,费时由费力。不过OBS提供了一个发行版RPM宏解决了这个问题,利用这个宏可以编写出一个跨平台的spec文件,可以同时兼容多个linux发行版。
完整的宏定义如下:
上一篇讲过,除了web页面方式外,还有一个叫osc的工具也可以管理OBS项目,本篇就简要介绍一下osc的使用方法。
根据官方的WIKI介绍,osc是一种用Python语言编写的程序。如果你使用的发行版是openSUSE,那么直接通过”zypper in osc”就可以直接安装,其他的发行版就需要从http://download.opensuse.org/repositories/openSUSE:/Tools/下载安装。
osc的操作和subversion(svn)非常相似,很多参数都是一样,如果你熟悉subversion,那么osc也是很容易的。
Open Build Service构建发行版安装包有两种方法,第一种是通过web页面的控制面板构建,第二种通过opensuse提供的一个osc工具构建,两种方法各有优势,这里先介绍第一种方法。
首先请先看web控制面板的截图:
Open Build Service原名OpenSUSE Build Service,简称OBS,是由Novell开发的一套在线软件打包工具,开始仅支持Novell自己的suse发行版,后来扩展到Red Hat, Mandriva, Ubuntu, Fedora 和 Debian等多种发行版的支持,支持RPM和DEB包的创建。利用这套开发工具,软件开发者可以一次性的创建多个发行版不同体系的软件安装包,并可以自动创建符合标准的软件安装源,免除了自己创建相应开发环境的麻烦。下面山木计划通过几篇博文为各位简要介绍一下OpenSUSE Build Service的使用方法。首先为大家介绍OBS项目的创建过程。