需要在RPM的%files部分中进行哪些操作

alh*_*alh 4 python rpm rpm-spec

我有一个tar.gz我想要创建一个RPM,我目前正在处理spec文件.我似乎无法理解%files在.spec部分中包含文件的规则是什么.我tar.gz由两个python包组成,并通过一个简单调用setup.py哪个用于distutils setup()安装它们的makefile 安装.

我目前包含我的文档,但不知道如何选择其他内容:

%files
%doc README changelog
...
Run Code Online (Sandbox Code Playgroud)

另外,我的makefile man为应用程序生成一个页面; 在.spec文件中应该包含哪些/如何包含?

我在redhat上这样做.

Tom*_*son 5

%files部分必须列出将包含在二进制包中的每个文件,因此安装在目标计算机上.

如果您按照本书制作RPM,则spec文件有两个不同的用途.它是一个构建脚本,详细说明了如何将源代码转换为构建工件,以及一个打包脚本,详细说明了应在目标计算机上安装的构建产品.在您的情况下,构建方面非常轻量级.

在这种传统方法中,makefile在构建阶段运行,并且该%files指令列出了应该安装哪些生成的构建工件.要明确的是,您要么不使用make install传统方法,要么将其DESTDIR用于安装到RPM构建目录(即不/usr/lib/python/foo进入~/rpmbuild/BUILD/usr/lib/python/foo或进入或者某些东西),然后从那里选择文件%files.

所以,你应该做的是让一些先前的部分(可能%install)运行makefile安装到构建区域,然后使用该%files部分来挑选结果.请记住,您可以在该%files部分中使用通配符,因此您不必明确命名每个文件.

那有意义吗?我误解了你的问题吗?