Я пытаюсь изучить что-то вроде поспешной настольной упаковки переупаковочным инструментом тонкой настройки единицы как снимок. Я нахожу, что документы являются менее, чем звездными, но до сих пор у меня есть snapcraft.yaml файл, который похож на это:
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
Однако, когда я работаю snapcraft snap
setup.py всегда перестал работать, потому что несколько модулей 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
(полный вывод здесь)
Я признаю, что я не на 100% уверен я делающий это правильно, но насколько я могу сказать, что это должно создавать пакеты, перечисленные под пакетами сборки, которые удовлетворяют требования сборки для инструмента тонкой настройки единицы.
Где я иду не так, как надо?
В случае Python Вы, вероятно, хотите некоторых из тех build-packages
быть stage-packages
. Наборы плагина Python PYTHONPATH
быть в рамках снимка, который является, почему он пропускает эти пакеты (Вам установили их в хост-системе вместо этого).
Byt путь, если этот восходящий поток имел надлежащее install_requires
в setup.py
эти зависимости заботились бы автоматически для Вас.
Вы можете находка объяснение о том, как заставить Python обнаруживать репозиторий GI здесь