snap snap snap falhando porque faltam módulos python

6

Estou tentando aprender algo sobre a compactação da área de trabalho, reempacotando a ferramenta de ajuste de unidade como um piscar de olhos. Eu estou achando os documentos menos do que estelares, mas até agora eu tenho um arquivo snapcraft.yaml que se parece com isso:

name: unity-tweak-tool
version: 1
summary: configuration tool for the Unity desktop environment
description: |
 Unity Tweak Tool is a settings manager for the Unity desktop.
 It provides users with a fast, simple and easy-to-use interface 
 with which to access many useful and little known features and settings 
 of the desktop environment that one may want to configure.

apps:
  unity-tweak-tool:
    command: $SNAP/usr/bin/unity-tweak-tool
    plugs: [unity7]
parts:
  unity-tweak-tool:
    plugin: python3
    source: git://github.com/Seth-Johnson/unity-tweak-tool.git
    source-type: git
    build-packages:
        - python3-distutils-extra
        - python3-all
        - python3-dbus
        - python-dev
    stage-packages:
        - gir1.2-glib-2.0
        - gir1.2-gtk-3.0
        - python3-xdg
        - python3-cairo
        - unity-webapps-service  

No entanto, quando executo o snapcraft snap setup.py sempre falha porque faltam vários módulos python:

  Running setup.py install for unity-tweak-tool ... error
    Complete output from command /home/sethj/projects/snappy-testing/parts/unity-tweak-tool/install/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-s6dwhgys-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-xxv1mi7p-record/install-record.txt --single-version-externally-managed --compile --home=/tmp/tmp2y5izah7:
    ERROR: Python module values not found
    ERROR: Python module apport not found
    ERROR: Python module apport.hookutils not found
    WARNING: syntax errors in notes/wizardry.py: Missing parentheses in call to 'print' (wizardry.py, line 9)
    ERROR: Python module dbus not found
    ERROR: Python module dbus.service not found
    ERROR: Python module dbus.mainloop.glib not found

(saída completa aqui )

Admito que não tenho 100% de certeza de estar fazendo isso corretamente, mas até onde posso dizer, ele deve estar construindo os pacotes listados em build-packages, que satisfazem os requisitos de compilação para o unity-tweak-tool.

Onde estou indo errado?

    
por Seth 30.05.2016 / 02:33

2 respostas

6

No caso de python, você provavelmente desejará que alguns desses build-packages sejam stage-packages . O plug-in python define PYTHONPATH para estar dentro do snap, e é por isso que está faltando esses pacotes (você os instalou no sistema host).

By the way, se este upstream tinha um bom install_requires em setup.py estas dependências teriam sido cuidadas automaticamente para você.

    
por sergiusens 30.05.2016 / 15:23
-1

você pode encontrar uma explicação em como obter python para descobrir o repositório do GI aqui

    
por user927543 10.07.2016 / 12:08