hsh-rpm-into-appimage/Руководство

Материал из ALT Linux Wiki


Принцип действия

Скрипт пересобирает rpm пакет из sisyphus в формат appimage внутри окружения hasher

Rpm пакет скачивается из репозитория, и устанавливается внутрь hasher`а, после чего загруженный пакет распаковывается в директорию AppDir, которая потом будет паковаться в appimage.

Сборка appimage реализована при помощи linuxdeploy, он загружается автоматически в директорию /tmp, linuxdeploy требует указания .desktop файла, исполняемого файла и иконки приложения. Поэтому скрипт ищет .desktop файл, и внутри него необходимые названия, после чего внутри окружения hasher запускается linuxdeploy с указанными файлами.

Также linuxdeploy поддерживает систему плагинов, добавляющие необходимые библиотеки фреймворков. Доступные плагины - qt, gtk, ncurses, gstreamer. При их указании, они автоматически загружаются и применяются.

Установка

Для установки нужно просто загрузить скрипт и сделать его исполняемым.

Предварительно нужно установить и настроить hasher, в том числе настроить монтирование /proc.

Использование

Вывод help -

--package [package.rpm]              specify the package to repackage
--plugin [plugin]                    specify the plugin to use
                                           available plugins - qt gtk ncurses gstreamer
--apt-config [file]                  specify the apt configuration file for hasher
--path [/path/to/hasher]             specify path for hasher

Обязательным является только параметр --package, остальные имеют значения по умолчанию.

  • --apt-config - /etc/apt/apt.conf
  • --path - /home/$USER/hasher

Директорию, указанную в параметре --path создавать не обязательно, скрипт попытается её создать автоматически.

Пример использования скрипта -

./hsh-rpm-into-appimage.sh --path /tmp/.private/leonid/hasher --package kde5-ktorrent --plugin qt

Troubleshooting

  1. Ошибка “Please, specify the package" - пакет не указан, проверьте параметр --package
  2. Ошибка “Path to hasher doesn`t exist, please create it manually” - скрипту не удалось создать директорию, указанную в параметре --path. Создайте её самостоятельно, или проверьте корректность указанной директории.
  3. Ошибка “Please, add allowed_mountpoints=/proc in /etc/hasher-priv/system” - см. по ссылке.
  4. Ошибка “Package doesn`t exist, please, check it out” - hsh-install не смог установить указанный пакет, проверьте его корректность.

Лицензия

GPLv3 or later

Исходный код