# AppImage Builder ### Иерархия исходного пакета ``` /my_package ├── build.sh ├── files │ ├── AppRun │ ├── my_program.desktop │ └── my_program.png └── sources ``` ### Обязательные файлы для сборки: - `sources` - файл с ссылками на пакеты + зависимости для сборки AppImage - `files/*` - файлы для запуска AppImage (`AppRun`, `*.desktop`, `*.png`) ### Необязательный файл - `build.sh` - скрипт постобработки после распаковки `sources` файлов Для внутреннего `build.sh` доступны 2 глобальгые переменные для работы: - `current_path` - текущая директория пакета - `app_path` - временная директория сборки пакета (иерархия будущего AppImage) ## Необходимые инструменты для сборки пакета AppImage - [AppImageTool](https://github.com/AppImage/appimagetool) - инструмент низкого уровня для создания AppImage из существующего AppDir - [type2-runtime](https://github.com/AppImage/type2-runtime) - среда выполнения - исполняемая часть каждого AppImage. Он монтирует полезную нагрузку через FUSE и выполняет точку входа - [rpm2cpio](https://www.opennet.ru/man.shtml?topic=rpm2cpio&category=8&russian=0) - извлекает архив cpio из RPM пакета - [cpio](https://www.opennet.ru/man.shtml?topic=cpio&category=8&russian=0) - инструмент копирования файлов в архив и из архива