我一直在阅读关于构建RPM的知识,而且这个过程相当复杂。有没有像这样的程序/软件:如何在没有规格文件等的情况下从一行中的源代码生成RPM?
- 下载tar.gz文件。解压到目录
- cd进入目录
- 运行
- RPM文件输出到目录
是否有这样的程序存在吗?看起来好像它应该。毕竟,当我运行make,make install等时,我不需要指定spec文件,提供软件安装位置。那么,为什么我必须为创建RPM做所有这些工作呢?
我使用检查安装试过,但我不断收到类似的错误“未找到目录:/root/rpmbuild/BUILDROOT/hello-2.10-1.x86_64/usr”
那么,有没有一种更简单的方法?
我不知道你问的是否存在,但我不认为你与make的比较是有效的。当你运行make时,你需要一个Makefile来告诉make各种目标的定义。 你会如何心目中的工具知道: 1.如何构建项目 2.输出神器(S)是什么 3.如果这些文物应在目标文件系统被部署 4.什么文件权限应该等等。 –
嗯。如果我现在可以毫无问题地使用“make”和“make install”,那么我能记住的工具只是从“make”和“make install”的相同位置获得他们的信息吗? 工具“checkinstall”应该做这样的事情,但我不能让它为RPM工作。我有一个解决方法是创建“deb”文件,并使用alien来转换deb - > rpm。但它是不完美的,当然... 我只是键入“checkinstall”并创建rpm/deb(为rpms窃听)。不需要spec文件。 –
够公平了......我明白你的意思了。这个问题的表述方式,我不清楚(无论如何),你想从你的Makefile中的信息创建rpm。这可能是可行的,但它可能会导致一个非常复杂的Makefile。我们在我的项目中维护了很多rpm spec文件,并且诚实地说它们不包含太多冗余信息。 在任何情况下,这仍然不是真正创造“从源头上”的rpm。您仍然需要Makefile来提供rpm需要的关于依赖性的所有信息等。如果您需要安装前/安装脚本,它会很快变得复杂。 –