exiftool 是 Snap 应用的依赖项。

我无法弄清楚如何将exiftool添加为我的Snap应用程序的依赖项。
这是我的snapcraft.yaml文件:
name: phockup
version: '1.2.0'
summary: Photo and video sorting tool
description: |
  ...

grade: devel
confinement: devmode

apps:
  phockup:
    command: phockup

parts:
  phockup:
    source: https://github.com/ivandokov/phockup.git
    source-tag: v1.2.0
    plugin: python
    install: |
      mkdir -p $SNAPCRAFT_PART_INSTALL/bin
      cp phockup.py $SNAPCRAFT_PART_INSTALL/bin/phockup

任何帮助都将不胜感激!
1个回答

添加一个部分作为您的“phockup”部分的一部分。
stage-packages:
  - exiftool

这将在您的snap中部署exiftool。

Error downloading stage packages for part 'phockup': The package 'exiftool' was not found. - Ivan Dokov
2软件包在存储库中被称为libimage-exiftool-perl。当我使用这个名称时,我会得到另一个错误:tar: ./usr/bin/pstruct: Cannot hard link to ‘./usr/bin/c2ph’: Operation not permitted tar: ./usr/bin/perlthanks: Cannot hard link to ‘./usr/bin/perlbug’: Operation not permitted tar: Exiting with failure status due to previous errors dpkg-deb: error: subprocess tar returned error exit status 2 我正在运行sudo snapcraft - Ivan Dokov
很抱歉打扰这个帖子,但是我在 @popey 那里找不到任何解决方案。有什么想法吗? - Ivan Dokov
@IvanDokov 在添加 stage-package 后,我遇到的错误是这个: http://paste.ubuntu.com/24870552/ 为了在 snap 的受限环境中使用 perl,您需要设置一些环境变量,就像 https://github.com/ubuntu/snappy-playpen/blob/master/kpcli/run.sh 中所示。 因此,我建议您为 exiftool 创建一个部分,并使用包装器来调用它,而不是直接调用。 - elopio
由于这是我第一次使用Snap,我在完成你上面描述的步骤时遇到了困难。我尝试了几种方法,但是出现了不同的错误。另外,我注意到exiftool的源代码不需要进行编译。可以将二进制文件exiftoollib/目录复制/粘贴到所需位置,它就可以正常工作。 - Ivan Dokov