我打算创建通用安装程序,以便在不同的 Linux 发行版上分发基于 qt5 的应用程序。目前我支持构建可在 Ubuntu 系统上使用的安装 .deb 包。但它们无法安装在许多 Linux 系统上(例如基于 RPM 的系统)。
但最近,Snap 软件包已宣布支持所有主流 Linux。我尝试了一些 snapcraft 示例,一切都很好。但当我尝试为自己的基于 qt 的应用程序制作 snap 包时,snapcraft 向导找不到它的所有依赖项。有人能解释一下 snapcraft 如何调查和收集所提供文件所需的所有依赖项吗?
包含特定于发行版的文件(例如 libicudata.so.55 之类的库)的最佳方法是什么,以便将我的应用程序作为可移植软件在不同的 Linux 发行版上运行?
答案1
添加您想要作为 snap in 的一部分运送其内容的所有内容包stage-packages:
。这只适用于 Ubuntu 中运送的软件包(目前)。
看一眼https://github.com/ubuntu/snappy-playpen/tree/master/gitter-im对于应用程序,它在 snap 中提取并发送通用二进制文件。