snap打包

snap打包

依赖安装


sudo apt install snap

sudo snap install snapcraft --classic  //apt安装snapcraft可能报错

打包

  • 切换至包目录输入 snapcraft init 执行结束后返回

Created snap/snapcraft.yaml.

Go to https://docs.snapcraft.io/the-snapcraft-format/8337 for more

  information about the snapcraft.yaml format.

  • 此时文件目录中会生成snap文件夹,文件夹下存在文件snapcraft.yaml

  • 以下是生成的snapcraft.yaml文件内容


  name: my-snap-name # you probably want to 'snapcraft register <name>'

  version: '0.1' # just for humans, typically '1.2+git' or '1.3.2'

  summary: Single-line elevator pitch for your amazing snap # 79 char long summary

  description: |

    This is my-snap's description. You have a paragraph or two to tell the

    most important story about your snap. Keep it under 100 words though,

    we live in tweetspace and your description wants to look good in the snap

    store.

  grade: devel # must be 'stable' to release into candidate/stable channels

  confinement: devmode # use 'strict' once you have the right plugs and slots

  parts:

    my-part:

      # See 'snapcraft plugins'

      plugin: nil

  • snapcraft.yaml 与debian中的control文件相似,以下是文件中部部分参数解析,*标记标识为必填项

  • name *

  • snap包的名字,必须以ASCII字符开头,只能包含小写字母、数字和连字符,不能以连字符开头或结尾。如果您想发布到 Snap Store,该名称必须是唯一的

  • type

  • snap 的类型,如果未设置则隐式设置为app,常见设置为kernel、base 、gadget

  • base *

  • 要用作此快照的执行环境的base类型快照 如 core core18 core20 当type类型为kernel、base 或者gadget时,可以不填写此项

  • version *·

  • 当前snap包的版本

  • summary *

  • 不超过79个字的摘要

  • description *

  • 不超过100个字的sanp包简介

  • grade

  • snap包的质量等级,stable或者devel。如果需要在snap store的stable channel中发布snap包,需要设置成stable

  • confinement

  • 确定是否应限制快照的访问

parts

  • 描述snap包中代码如何获取、依赖关系和如何编译等

  • my-part

  • 当前parts名称,由snapcraft引用该名称

  • plugin

  • 构建过程的插件

  • source

  • 要构建的源树的 URL 或路径,这可以是本地路径或远程路径,并且可以引用目录树、压缩存档或修订控制存储库

  • build-packages

  • 构建snap包的编译依赖,书写格式如下[ libssl-dev, libssh-dev, libncursesw5-dev]

  • stage-packages

  • 安装snap包的执行依赖,书写格式如下[ python-zope.interface, python-bcrypt]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。