Flatpak это новые рамки для настольных приложений на Linux.
Распространение приложений на Linux является головной болью: различные распределения в нескольких версиях, каждая со своими собственными версиями библиотек и форматов упаковки.
Flatpak здесь, чтобы изменить все это. Это позволяет то же самое приложение, установить на разных дистрибутивах Linux, в том числе и для различных версий. И он был разработан с нуля с учетом требований безопасности, так что приложения изолированы друг от друга и от хост-системы.
Как собрать Flatpak пакет из исходников.
Для того чтобы собрать flatpak пакет нам нужно сначала установить Flatpak, для этого открываем терминал и пишем команду.
Для Fedora 23 и выше
sudo dnf install flatpak
Для Ubuntu, Linux Mint и всех Debian
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
Далее нам нужно добавить репозитории
wget https://sdk.gnome.org/keys/gnome-sdk.gpg
flatpak remote-add --gpg-import=gnome-sdk.gpg gnome https://sdk.gnome.org/repo/
flatpak remote-add --gpg-import=gnome-sdk.gpg gnome-apps https://sdk.gnome.org/repo-apps/
Теперь нужно установить среду выполнения
flatpak install gnome org.gnome.Platform 3.20
flatpak install gnome org.gnome.Sdk 3.20
Для просмотра ночных сборок приложений, которые уже собрали разработчики, введите в терминале
wget http://209.132.179.2/keys/nightly.gpg
flatpak remote-add --gpg-import=nightly.gpg nightly-graphics http://209.132.179.2/repo/
и чтобы показать на экране список приложений для установки, введите следующее
flatpak remote-ls nightly-graphics --app
Вот какие сейчас приложения есть в ночных репозиториях
Но есть еще стандартные
добавим репозиторий
wget https://sdk.gnome.org/keys/gnome-sdk.gpg
flatpak remote-add --gpg-import=gnome-sdk.gpg gnome-apps https://sdk.gnome.org/repo-apps/
и выведем список
flatpak remote-ls gnome-apps --app
Тут немножко больше
- Builder
- Calculator
- Calendar
- Characters
- Clocks
- Dictionary
- Evince
- Eye of Gnome
- Gedit
- Iagno
- Maps
- Notes (Bijiben)
- Polari
- Rhythmbox
- Todo
- Weather
- Web (Epiphany)
Чтобы установить приложение достаточно набрать в терминале
flatpak install gnome-nightly-apps org.gnome.gedit master
Ну и мы подошли к самому главному
Как собрать пакет
Скачиваем исходники приложения в своем примере я буду использовать htop.
Инициализируем рабочее окружение
flatpak build-init htop2 org.gnome.Htop2 org.gnome.Sdk org.gnome.Platform 3.20
где htop2 это название директории(я сам придумал), а org.gnome.Htop2 — название нашего приложения(тоже сам придумал).
Переходим в папку Загрузки
cd Загрузки
Перемещаем наш архив в домашнюю директорию
mv htop-2.0.1.tar.gz ˜/
Распаковываем его
tar xvf htop-2.0.1.tar.gz
Старый архив нам больше не понадобится, его мы удаляем
rm htop-2.0.1.tar.gz
и переходим в директорию которую мы распаковали, то есть в htop-2.0.1
cd htop-2.0.1
и запускаем упаковщик
flatpak build ../htop2 ./configure --prefix=/app
flatpak build ../htop2 make
flatpak build ../htop2 make install
cd
Ну вот мы на финишной прямой далее нужно добавить команду запуска
flatpak build-finish htop2 --socket=x11 --share=network --command=htop
добавляем в репозиторий и запускаем
flatpak build-export repo htop2
flatpak --user remote-add --no-gpg-verify --if-not-exists tutorial-repo repo
flatpak --user install tutorial-repo org.gnome.Htop2
flatpak run org.gnome.Htop2
Ну вот мы научились собирать flatpak пакеты. Для большего переходите на официальный сайт flatpak.
Подробнее можно посмотреть на видео ниже.