Canonical的Snapcraft团队在周末宣布推出Snapcraft 2.40,这是一个开源工具的增量更新,用于将Linux应用程序封装为Snaps for Ubuntu及其他支持Snap的GNU/Linux发行版。
Snapcraft 2.40为希望将其应用程序打包为Snap的应用程序开发人员提供了许多优点,以便在基于Linux的多种操作系统(包括Ubuntu,Debian,Linux Mint,Fedora,OpenSUSE,Arch Linux,Solus和Gentoo Linux) 。
在这个版本中实现的新功能和改进中,我们可以提到对Base的初始支持,例如,可以通过在您的snapcraft.yaml配置中添加“base: 'newcore'”条目文件(其中'newcore'代表新的core base snap版本)。
“理想情况下,应该从18.04开始运行snapcraft来测试这个功能,请记住,目前仍然没有透明的cleanbuild或者项目容器支持,并且能够让渴望针对这个新core base的渴望开发人员实现端到端的滚动功能,“Canonical软件工程师Sergio Schvezov说。
AppStream集成和elf集成改进
当有更新版本的构建环境时,可以触发elf mangling功能,或者将confinement模式设置为“classic”时,可以触发的精灵修改功能在Snapcraft 2.40中得到了改进,并且更好地检测了DT_NEEDED环境变量,以及更好的错误处理非elf文件。
当一个新版本的构建环境比一个给定的base或者将confinement模式设置为“classic”时,在Snapcraft 2.40中得到了改进,可以触发elf修改功能,能够更好地检测DT_NEEDED环境变量,以及更好地处理非elf文件的错误。
elf文件的体系结构检测以及RPATH列表也得到了改进,这使得elf文件更好地使用$ ORIGIN变量来更快地进行重定位。 代码中还提供了优化,用于提取正确的链接程序和Snapcraft的生命周期执行,以发现DT_NEEDED环境变量。
AppStream集成得到了改进,允许开发人员在使用信息提取功能提取信息时使用Snap应用程序条目下的“common-id”,并自动配置桌面文件和图标。这对于 Snap 商店上应用程序的正确重复数据删除也很有用。
除此之外,catkin插件获得了对递归rosinstall文件的支持以及更好地处理使用的ROS堆栈分发的配置文件脚本,Snapcraft的bash完成脚本现在可以与Snap一起使用,现在可以运行“snapcraft version”或“snapcraft --version”命令查看已安装的Snapcraft版本。
如果您打算将您的Linux应用程序打包为Canonical的Snap通用二进制格式,那么Snapcraft 2.40即将推出临近您的GNU/Linux发行版,但它应该在支持的Ubuntu发行版的主要软件存储库中很快可用。操作系统维护人员可以从GitHub下载源代码包。
本文永久更新链接地址:https://www.linuxidc.com/Linux/2018-03/151570.htm