如何为Suse创build一个RPM

我需要在Suse 10.1(64位)盒子上安装Subversion版本1.4。 我不能改变这两个版本中的任何一个,并且这个发行版没有RPM。 环顾四周后,我认为我必须自己创build一个RPM。 有没有比这更好的方法? 如果没有人有任何提示过程?

我不需要一步一步的教程,只是过程的基本概述。

重build现有的src.rpm可能是最简单的。 我绝对不会去configuration,制作,安装的方式,因为(a)不能缩放,(b)不提供易于移除/升级的包和(c)不是primefaces的。

build立一个RPM并不难。 在Linux.com上曾经有一个相当不错的初学者教程,在他们销毁网站之前。 你可以试试这个,但是这是很多文字,不容易消化。 不过,总比没有好。

我会给你一些指示,从我的脑袋后面:

  1. 在〜中设置一个.rpmmacros文件
  2. 创build〜/ rpmbuild / {RPMS,SRPMS,SPECS,BUILD,BUILDROOT,SOURCES}
  3. 把源码包放到〜/ rpmbuild / SOURCES中
  4. 将spec文件放在〜/ rpmbuild / SPECS中
  5. 在〜/ rpmbuild / SPECS中运行rpmbuild -bp YOURSPEC(运行准备阶段)
  6. 在〜/ rpmbuild / SPECS中运行rpmbuild -bc YOURSPEC(上面并运行编译阶段)
  7. 在〜/ rpmbuild / SPECS中运行rpmbuild -bb YOURSPEC(上面并build立实际的包)

如果一切正常,你的RPM将出现在〜/ rpmbuild / RPMS / $ {arch}中。

创build新RPM时,我倾向于分别使用5,6和7,因为我喜欢详细检查输出。 如果您有供应商提供的spec文件,您可能要立即去7。

我通常在我的.rpmmacros中有这样的东西。

%_topdir /home/YOURNAME/rpmbuild %packager YOUR NAME <[email protected]> %_tmppath /tmp 

至于specfile的语法:并不难。 有一个非常详细的,非常古老的,称为“ 最大RPM ”的参考工作。 你想知道的一切都在那里。


正如wzzrd所说,尝试重build现有的SRPM。

searchOpenSUSE 10.3 RPMS产生2个有趣的结果:

  • 源RPM
  • x86_64 RPM

我知道10.3远远不是10.1,但这是一个很好的select。

OpenSuse项目提供了一个构build服务 ,可以帮助您轻松打包RPM,不仅适用于OpenSuse / SLES,还适用于Fedora / RHEL / CentOS,Debian,Ubuntu和Mandriva。 所有的一举一动。

如果你确实需要和rpm以便以后进行软件包pipe理,那么我会尝试得到这个源代码suv- svn 1.4.0 SuSE 10.2的源码,安装它,cd到/ usr / src // SPECS然后rpm -bb subversion-1.4.0- 31.spec。

我个人更喜欢从http://subversion.tigris.org获取源代码,并执行通常的“configure && make && make check && sudo make install”跳舞。

最简单的方法是find类似分布的源代码rpm。 你应该可以重build你的发行版。 我相信有一个名为rpmbuild的脚本,将为您做大部分的工作。

从头开始创build一个RPM可能比你想要做的还要多,而且比这里描述的更多。

除非你需要把它分发给别人,否则我只是使用configure,make,make install。 我通常将前缀设置为/ opt或/ usr / local之类的东西,并将所有原始焦点保存在/ root / packages /等目录中,这样我就有了一个合理的审计线索,知道我已经安装了什么,因此需要卸载什么。

以前我用过checkinstall,看起来效果不错。 因人而异。

subversion 1.4.0 tar文件也包含用于在RHEL3 / 4下构buildRPM的spec文件。 你应该可以使用这些来创buildRPM。

但是,我同意以前的答案,如果没有真正压倒一切的RPM需求,只需执行标准的“configure && make && make install”即可。