我需要在 Suse 10.1(64 位)机器上安装 Subversion 1.4 版。我无法更改这两个版本中的任何一个,而且这个发行版没有 RPM。四处寻找后,我认为我必须自己创建一个 RPM。有没有比这更好的方法?如果没有,有人能提供一些关于这个过程的提示吗?
我不需要一步一步的教程,只需要流程的基本概述。
答案1
重建现有的 src.rpm 可能是最简单的。我肯定会不是按照 configure、make、make install 的方式进行,因为 (a) 这种方式不具有可扩展性,(b) 不便于轻松删除/升级软件包,并且 (c) 不是原子的。
构建 RPM 并不难。Linux.com 上曾经有一个相当不错的初学者教程,后来他们毁了该网站。你可以试试这个一,但内容太多,不容易理解。不过,总比没有好。
我会给你一些我脑海中想到的建议:
- 在 ~ 中设置 .rpmmacros 文件
- 创建 ~/rpmbuild/{RPMS,SRPMS,SPECS,BUILD,BUILDROOT,SOURCES}
- 将源代码 tarball 放入 ~/rpmbuild/SOURCES
- 将 spec 文件放在 ~/rpmbuild/SPECS 中
- 在 ~/rpmbuild/SPECS 中运行 rpmbuild -bp YOURSPEC (运行准备阶段)
- 在 ~/rpmbuild/SPECS 中运行 rpmbuild -bc YOURSPEC (上面并运行编译阶段)
- 在 ~/rpmbuild/SPECS 中运行 rpmbuild -bb YOURSPEC (上面并构建实际包)
如果一切顺利,您的 RPM 将出现在 ~/rpmbuild/RPMS/${arch} 中。
在创建新 RPM 时,我倾向于分别使用 5、6 和 7,因为我喜欢详细检查输出。如果您有供应商提供的 specfile,您可能希望立即使用 7。
我的 .rpmmacros 中通常有类似的内容。
%_topdir /home/YOURNAME/rpmbuild
%packager YOUR NAME <[email protected]>
%_tmppath /tmp
至于 specfile 的语法:它并不难。有一本非常详细、非常古老的参考书,名为“最大转速'。你想知道的一切都在那里。
答案2
答案3
OpenSuse 项目提供了构建服务它可以帮助您轻松打包不仅适用于 OpenSuse/SLES 的 RPM,还适用于 Fedora/RHEL/CentOS、Debian、Ubuntu 和 Mandriva。一举多得。
答案4
最简单的方法是找到类似发行版的源 rpm。然后您应该能够在发行版上重建。我相信有一个名为 rpmbuild 的脚本可以为您完成大部分工作。
从头开始创建 RPM 可能比您想要做的工作要多,并且比这里描述的要复杂得多。