Compilation 在rpm构建过程中添加额外的文件

Compilation 在rpm构建过程中添加额外的文件,compilation,rpm,rpmbuild,rpm-spec,Compilation,Rpm,Rpmbuild,Rpm Spec,我有一个支持添加python插件的应用程序的源代码。我已经编写了一个python脚本,并希望构建一个默认情况下包含我的脚本的定制rpm。这样我就不必在rpm安装之后再添加它了 据我所知,这有两个部分- 将文件添加到源代码中。 在.spec文件中列出该文件。 我如何知道将文件放在源代码中的何处?如何指定要复制脚本的路径?等级库文件包含如下文本:- %if %{with_python} %files python %{_mandir}/man5/collectd-python* %{_libdir}

我有一个支持添加python插件的应用程序的源代码。我已经编写了一个python脚本,并希望构建一个默认情况下包含我的脚本的定制rpm。这样我就不必在rpm安装之后再添加它了

据我所知,这有两个部分-

将文件添加到源代码中。 在.spec文件中列出该文件。 我如何知道将文件放在源代码中的何处?如何指定要复制脚本的路径?等级库文件包含如下文本:-

%if %{with_python}
%files python
%{_mandir}/man5/collectd-python*
%{_libdir}/%{name}/python.so

//Something like this?

// %{_libdir}/%{name}/gearman.py 
// %{_libdir}/%{name}/redis.py
%endif

您需要知道脚本文件在目标安装中的位置,例如/usr/lib/myApp/plugins/myNiceScript.py

在spec File部分%install中,您必须将%{buildroot}下的脚本复制到必须首先创建的目标目录中

%install
...
# in case the dir does not exist:
mkdir -p %{buildroot}/usr/lib/myApp/plugins

cp whereitis/myNiceScript.py   %{buildroot}/usr/lib/myApp/plugins
最后,您必须在%files部分中定义文件标志。例如,如果您的文件必须在根目录下有644:

%files
...
%defattr(644,root,root)
/usr/lib/myApp/plugins/myNiceScript.py
如果要在安装过程中创建插件目录,还需要定义以下标志:

%defattr(755,root,root)
%dir /usr/lib/myApp/plugins

您需要知道脚本文件在目标安装中的位置,例如/usr/lib/myApp/plugins/myNiceScript.py

在spec File部分%install中,您必须将%{buildroot}下的脚本复制到必须首先创建的目标目录中

%install
...
# in case the dir does not exist:
mkdir -p %{buildroot}/usr/lib/myApp/plugins

cp whereitis/myNiceScript.py   %{buildroot}/usr/lib/myApp/plugins
最后,您必须在%files部分中定义文件标志。例如,如果您的文件必须在根目录下有644:

%files
...
%defattr(644,root,root)
/usr/lib/myApp/plugins/myNiceScript.py
如果要在安装过程中创建插件目录,还需要定义以下标志:

%defattr(755,root,root)
%dir /usr/lib/myApp/plugins

你能详细说明是什么原因吗?它必须在tar.gz或tar.bz2中吗?您可以选择任何您喜欢的内容。附加脚本的位置源无关紧要。rpm文件只包含关于目标的知识,而不包含源。你能详细说明它是什么吗?它必须在tar.gz或tar.bz2中吗?您可以选择任何您喜欢的内容。附加脚本的位置源无关紧要。rpm文件只包含有关目标的知识,而不包含源的知识。