Removed extra lines from build sequence Added Dockerfile for Flatpak repo-server & Build instructions under docs/ dir Modified Dockerfile & Flatpak build doc updated docs fixed code quality issues fixed code quality, added doc string fixed branch & added build commands run setuptools fixed code quality refactor pip install updated flatpak build doc & added link to index.rst Removed extra lines from build sequence Added Dockerfile for Flatpak repo-server & Build instructions under docs/ dir Modified Dockerfile & Flatpak build doc updated docs fixed code quality issues fixed code quality, added doc string fixed branch & added build commands run setuptools fixed code quality refactor pip install updated flatpak build doc & added link to index.rst fixed docs rebased removed unnecessary files removed .gitmodules: should be part of build process
3.3 KiB
PyBitmessage Linux flatpak instructions
Requirements
First make sure you have flatpak
and flatpak-builder
installed along with these dependencies (Ubuntu 20.4) git xz-utils elfutils librsvg2-common
needs to be installed.
Follow the instructions for your distribution on flathub. The instructions there only cover the installation of flatpak
, but
flatpak-builder
should be the same.
Build and Install
Once you have flatpak
and flatpak-builder
installed:
Build and Install the Base App
git clone git://github.com/Bitmessage/PyBitmessage.git
cd PyBitmessage/
git submodule update --init --recursive
flatpak-builder --install --install-deps-from=flathub --force-clean --state-dir=build/.flatpak-builder build/_baseApp packages/flatpak/org.bitmessage.BaseApp.json
This will install the base app to your local flatpak user repository, it takes a while to compile because Qt4 and PyQt4 have to be build, among others. But this is only required once.
Now Build and Install PyBitmessage App
flatpak-builder --install --install-deps-from=flathub --force-clean --state-dir=build/.flatpak-builder build/_PyBit packages/flatpak/org.bitmessage.PyBitmessage.json
Run
When installation is done you can launch PyBitmessage via the command line:
flatpak run org.bitmessage.PyBitmessage
Flatpak also exports a .desktop
file, so you should be able to find and launch
PyBitmessage via the application launcher of your Desktop (Gnome, KDE, ...).
Export
You can create a single file "bundle", which allows you to copy and install the PyBitmessage flatpak on other devices of the same architecture as the build machine.
Create a local flatpak repository
flatpak-builder --repo=build/_flatpak_repo --force-clean --state-dir=build/.flatpak-builder build/_PyBit packages/flatpak/org.bitmessage.PyBitmessage.json
This will create a local flatpak repository in build/_flatpak_repo/
.
Hosting the repository
Place the _flatpak_repo/
repo directory in the same directory as the dockerfile i.e packages/flatpak/dockerfile
Build and run the docker image
sudo docker build -t repo-server:latest .
sudo docker run -d -p 5000:5000 repo-server
Installing PyBitmessage from repo-server
Add the repository
sudo flatpak remote-add --no-gpg-verify pybitmessage http://localhost:5000/repo
Install and Run the app
sudo flatpak install test org.bitmessage.PyBitmessage
flatpak run org.bitmessage.PyBitmessage
Create a bundle
flatpak build-bundle build/_flatpak_repo build/pybitmessage.flatpak org.bitmessage.PyBitmessage
This will create a pybitmessage.flatpak
bundle file in the build/
directory.
This bundle can be copied to other systems or installed locally:
flatpak install pybitmessage.flatpak
The application can be run using flatpak:
flatpak run org.bitmessage.PyBitmessage
It can then be uninstalled with this command:
flatpak uninstall org.bitmessage.PyBitmessage
This way of building an application is very convenient when preparing flatpaks for testing on another system of the same processor architecture.
Cleanup
If you want to free up disk space you can remove the Sdk
runtime again:
flatpak uninstall org.freedesktop.Sdk//19.08
You can also delete the build
directory again.