在我作为SysAdmin的时候,我遇到了一些应用程序,它们不提供rpm包来安装在基于redhat的发行版上 - 只有一个源代码tarball 。源代码tarball不提供可以简化rpm包创建过程的spec文件。相反,源代码tarball只提供一个必须以root身份执行的bash/ksh /脚本,以在系统上安装应用程序。从源代码tarball创建一个rpm包 - 但tarball不包含spec文件,只是一个安装脚本
我试图创建一个rpm包,它基本上运行安装脚本来执行安装脚本。我还试图通过尝试以非root用户的身份执行软件包并尽可能修改安装脚本以确保脚本的安装目录指向rpm环境/宏,从而做正确的事情。但是,使用一个长达几百行的复杂安装脚本,它也会调用其他脚本......好吧,我在这个尝试中肯定会失败。
是否有更好的方法来打包这样的.spec-less源码tarballs?会更好的解决方案是:
- 安装
- 安装的源码包与所提供的安装脚本
- 采取系统快照安装后不知何故把应用程序之前的系统快照,确定安装所做的更改/添加
- 将更改/添加列表放在spec文件中,并以这种方式创建rpm包?
任何有用/相关/启发/有趣/深刻的意见和建议对这个问题将非常感激。
预先感谢您