Ответы пользователя по тегу Ubuntu
  • Как правильно делать сборку для snap (snapcraft.yaml)?

    @klirichek
    Полагаю, там должно быть достаточно просто прописать extension (если программа в итоге "общается" с gtk/qt, а не прямо висит на голых иксах). Ну и прописать соответствующий лаунчер (без него обычно бывают разные странные спец. эффекты, вроде невозможности авторизоваться). Что-то вроде:
    apps:
      my-part:
        command: desktop-launch $SNAP/bin/passgen2
        extensions:
          - gnome-3-28
    ...


    Ну и собирать такие вещи лучше итеративно; в процессе придёт понимание, чего не хватает.
    Скорее всего на базе гнома из кучи ваших либ больше ничего не понадобится (т.е. stage-packages может "похудеть" или вообще исчезнуть)
    Запускаем `snapcraft try`. Он проходит по всем стадиям, и готовит папку prime. Дальше подключаем её с помощью `snap try` - получаем гибкий снап, который одновременно и приложение, и папка, куда можно лазить и что-то менять (добавлять/настраивать) прямо на лету. Потом обкатанные настройки прописываем в сам скрипт снапкрафта. Confinement, кстати, изначально лучше поставить devmode. Тогда приложению открыт доступ повсюду. И потом с помощью snappy-debug в параллельной консоли смотреть, куда оно на самом деле лазает, и, соответственно, какие plugs ему надо прописать, чтобы оно успешно взлетело в strict.

    (например, с вашим файлом приложение надо будет вызывать как 'passgen2.my-part' - подозреваю, что вы не этого хотели добиться, и поэтому эта часть будет меняться. А если запускать полный ребилд snapcraft - по каждому чиху - это медленно и грустно).
    Ответ написан