我正在尝试构建一个Sailfish OS
应用程序,我需要使用*.wav
将通过*.rpm
包分发的文件。就我而言,这些文件将被放入/usr/share/[application_name]/sounds/*
. 如何相应地设置*.pro
和*.yamp
文件?
3 回答
这本身不是一个 RPM 问题:如果您在 *.rpm 包中提供内容,您似乎在问如何通过 *.pro 和 *.yamp 配置您的应用程序。
打包的答案是:修补配置文件与手动安装 *.wav 文件完全相同(即不通过 *.rpm)。
您需要将 *.wav 内容复制到 %buildroot 树中,该树用于暂存要包含在包中的文件,以及修改后的 *.pro 和 *.yamp 内容。所有要包含在 *.rpm 包中的文件都需要在 %files 清单中提及,与它们要安装的完全相同(即,没有用于在构建时暂存文件的 %buildroot 前缀)。
我终于找到了答案!我要感谢该项目的所有者:
https ://github.com/krig/metronom-sailfish
从该项目.pro
的.yaml
文件中我发现了如何部署文件。首先,我们声明这个常量:DEPLOYMENT_PATH = /usr/share/$${TARGET}
它似乎保存了/usr/share/[appname]
. 接下来,我们定义某种变量(TODO
: 找到更详细的解释)。例如,第一个定义设置文件的路径data.files = data
(第二个data
是文件夹)。接下来,我们设置data.path
为$${DEPLOYMENT_PATH}
。我们列出所有文件OTHER_FILES
并将设置(在我们的例子中)添加data
到INSTALLS
. 现在,我们完成了.pro
文件,我们移动到.yaml
文件.rpm
我们添加到该Files:
部分的必要行,在我们的例子中- '%{_datadir}/%{name}/data'
,最后是我们需要添加的文件夹。TODO
: 谁有经验,请提供更详细的答案。
您是否仔细检查了https://sailfishos.org/develop-packaging-apps.html?可能会有所帮助。