我有一个支持添加python插件的应用程序的源代码。我编写了一个python脚本,并希望构建一个自定义rpm,默认包含我的脚本。所以我不必在rpm安装后另外添加它。
据我所知,现在有两个部分 -
.spec
文件中列出该文件。我如何知道将文件放在源中的位置?如何指定我希望复制脚本的路径? 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
答案 0 :(得分:4)
您需要知道将脚本文件放在目标安装的位置(例如/usr/lib/myApp/plugins/myNiceScript.py)
在spec-File(部分%安装)中,您必须将%{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部分中定义文件标志。例如。如果你的文件必须在root下有644:
%files
...
%defattr(644,root,root)
/usr/lib/myApp/plugins/myNiceScript.py
如果要在安装期间创建插件目录,则还需要定义这些标志:
%defattr(755,root,root)
%dir /usr/lib/myApp/plugins