hsh-rpm-into-appimage/Руководство
Принцип действия
Скрипт пересобирает 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
- Ошибка “Please, specify the package" - пакет не указан, проверьте параметр --package
- Ошибка “Path to hasher doesn`t exist, please create it manually” - скрипту не удалось создать директорию, указанную в параметре --path. Создайте её самостоятельно, или проверьте корректность указанной директории.
- Ошибка “Please, add allowed_mountpoints=/proc in /etc/hasher-priv/system” - см. по ссылке.
- Ошибка “Package doesn`t exist, please, check it out” - hsh-install не смог установить указанный пакет, проверьте его корректность.
Лицензия
GPLv3 or later