Инструмент создания и обслуживания AppDir.
AppImages — хорошо известный и довольно популярный формат распространения приложений от разработчиков конечным пользователям.
appimagetool, инструмент, создающий AppImages, ожидает каталогов в определенном формате, которые затем будут преобразованы в окончательный AppImage. Этот формат называется AppDir. Это не очень сложно понять, но создание AppDirs для произвольных приложений, как правило, является очень повторяющейся задачей. Кроме того, правильное объединение всех зависимостей может оказаться довольно сложной задачей. Похоже, необходимы инструменты, упрощающие эти задачи.
linuxdeploy разработан как инструмент обслуживания AppDir. Он предоставляет обширные функциональные возможности для создания и объединения AppDirs для приложений. Он имеет систему плагинов, которая позволяет легко объединять платформы и создавать выходные пакеты, такие как AppImages, без особых усилий.
На linuxdeploy большое влияние оказал linuxdeployqt, и хотя он применяет более строгие правила к AppDirs, он более гибок в использовании. Если вы сейчас используете linuxdeployqt, рассмотрите возможность перехода на linuxdeploy сегодня!
См. руководство пользователя linuxdeploy и руководство по упаковке собственных двоичных файлов в документации AppImage. Также есть раздел примеров.
Это неполный список проектов, использующих linuxdeploy. Возможно, вы захотите прочитать их сценарии сборки, чтобы увидеть, как они используют linuxdeploy.
linuxdeploy имеет систему плагинов. Плагины — это отдельные исполняемые файлы, которые реализуют интерфейс плагина на основе CLI (спецификация).
Существует два типа плагинов: пакетные и выходные плагины. Плагины объединения можно использовать для добавления ресурсов в AppDir. Плагины вывода превращают AppDir в реальные пакеты, например AppImages.
linuxdeploy ищет плагины в следующих местах:
$PATH
пользователя Вы можете использовать ./linuxdeploy*.AppImage --list-plugins
, чтобы получить список всех плагинов, обнаруженных linuxdeploy в вашей системе.
linuxdeploy в настоящее время поставляется с некоторыми плагинами. Вероятно, они устарели. В случае возникновения проблем загрузите последнюю версию, которая будет иметь приоритет над встроенным плагином.
Если вы хотите использовать плагин для объединения дополнительных ресурсов, добавьте ./linuxdeploy*.AppImage --plugin <name>
к вашей команде linuxdeploy. Плагины вывода можно активировать с помощью ./linuxdeploy*.AppImage --output <name>
.
Список официальных и общественных плагинов можно найти в проекте Awesome-linuxdeploy.
Примечание. Если вы хотите предложить плагин для конкретной платформы, языка и т. д., пожалуйста, создайте новую задачу. Текущие запросы на плагины можно найти здесь.
Я подключил дополнительные ресурсы, но при попытке их запуска либо вызывается системный бинарник, либо файл не найден.
linuxdeploy не изменяет никакие переменные среды, такие как $PATH
. Ваше приложение должно искать дополнительные ресурсы, такие как файлы значков или исполняемые файлы, относительно основного двоичного файла.
Самый простой способ связаться с разработчиками — присоединиться к чату IRC #AppImage на https://libera.chat. Это предпочтительный способ оставить общий отзыв или задать вопросы по использованию этого приложения.
Чтобы сообщить о проблемах, создайте проблему на GitHub.
Вклады приветствуются! Пожалуйста, не стесняйтесь создать форк этого репозитория и отправить нам запрос на включение. Даже небольшие изменения, например, в этом README, приветствуются!