This repository has been archived on 2024-12-09. You can view files and clone it, but cannot push or open issues or pull requests.
PyBitmessage-2024-12-09/docs/Flatpak_Build.md
cis-kuldeep f7f5457d46
Added flatpak build manifests with split dependencies
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
2021-12-15 12:16:50 +05:30

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.