linux – 如何为Suse创建RPM

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

我不需要一步一步的教程,只需要一个基本的过程大纲.

解决方法

重建现有的src.rpm可能是最简单的.我肯定不会采用configure,make,make install的方式,因为(a)不能扩展,(b)不提供容易删除/升级包和(c)不是原子的.

建立RPM并不是那么难.在他们销毁网站之前,Linux.com上曾经有一个非常好的初学者教程.你可以尝试这个one,但这是很多文字,不容易消化.不过,它总比没有好.

我会从脑后给你一些指示:

>在〜中设置.rpmmacros文件
> create~ / rpmbuild / {RPMS,SRPMS,Specs,BUILD,buildrOOT,SOURCES}
>将源tarball放入〜/ rpmbuild / SOURCES
>删除〜/ rpmbuild / Specs中的spec文件
>在〜/ 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 <YOUR@EMA.IL>
%_tmppath /tmp

至于specfile的语法:它并不难.有一个非常详细的,非常古老的参考作品叫做’Maximum RPM‘.你想知道的一切都在那里.

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...