Blame flatpak/README

Packit 15f964
This directory contains files related to Flatpak build of Evolution. Apart
Packit 15f964
of Evolution itself, it builds also evolution-data-server, and uses it,
Packit 15f964
the same as evolution-ews for Exchange Web Services accounts.
Packit 15f964
Packit 15f964
The build uses GNOME Flatpak SDK and runtime.
Packit 15f964
Packit 15f964
To build it, one can follow the below commands, which expect flatpak and
Packit 15f964
flatpak-builder installed. Refer to the Flatpak developer documentation
Packit 15f964
and command man pages for the meaning of respective arguments.
Packit 15f964
Packit 15f964
Note the actual versions of the GNOME SDK and Platform (below is used
Packit 15f964
version 3.26) can differ each release of Evolution. The exact expected
Packit 15f964
version can be seen (or changed) in the .json file, the runtime-version
Packit 15f964
key (line "runtime-version": "3.26",). Use the same version in the below
Packit 15f964
install commands as is written in the runtime-version key of the .json file.
Packit 15f964
Packit 15f964
To prepare Flatpak, add GNOME repository and install the SDK and Platform:
Packit 15f964
Packit 15f964
   $ flatpak remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
Packit 15f964
   $ flatpak install gnome org.gnome.Platform//3.26
Packit 15f964
   $ flatpak install gnome org.gnome.Sdk//3.26
Packit 15f964
Packit 15f964
After this, Evolution can be built. While the below commands build the git master
Packit 15f964
version of Evolution, it can be changed to the stable version, when all "-master"
Packit 15f964
occurrences are replaced with "-stable":
Packit 15f964
Packit 15f964
   $ flatpak-builder --force-clean org.gnome.Evolution-master org.gnome.Evolution-master.json
Packit 15f964
Packit 15f964
The above command can be repeated multiple times, for cases when the build fails
Packit 15f964
and any changes are required.
Packit 15f964
Packit 15f964
Once it's built, Flatpak requires the built application to be added as a repository,
Packit 15f964
which means to create, add and install it:
Packit 15f964
Packit 15f964
   $ flatpak build-export repo-master org.gnome.Evolution-master
Packit 15f964
   $ flatpak --user remote-add --no-gpg-verify --if-not-exists evolution-repo-master repo-master
Packit 15f964
   $ flatpak --user install evolution-repo-master org.gnome.Evolution
Packit 15f964
Packit 15f964
And it's basically it. The last thing is to run the flatpak version of Evolution:
Packit 15f964
Packit 15f964
   $ flatpak run org.gnome.Evolution
Packit 15f964
Packit 15f964
In some cases one might need to debug the build environment, which can be done
Packit 15f964
with the following command. It opens a bash terminal where can be examined
Packit 15f964
built data in the /app prefix:
Packit 15f964
Packit 15f964
   $ flatpak run --devel --command=bash org.gnome.Evolution
Packit 15f964
Packit 15f964
A short command to rebuild any changes, refresh the repository and update
Packit 15f964
installed Evolution from this repository can look like:
Packit 15f964
Packit 15f964
   $ flatpak-builder --force-clean org.gnome.Evolution-master org.gnome.Evolution-master.json && \
Packit 15f964
     flatpak build-export repo-master org.gnome.Evolution-master && \
Packit 15f964
     flatpak --user update org.gnome.Evolution
Packit 15f964
Packit 15f964
Note the above commands install the Evolution as a user repository, not
Packit 15f964
as a system repository, while the GNOME platform and SDK are installed
Packit 15f964
into the system repository (which requires root password). Add --user
Packit 15f964
argument to the first three commands at the top to avoid the root requirement.
Packit 15f964
Packit 15f964
Finally, to clean up installed Flatpak data, check what is installed:
Packit 15f964
Packit 15f964
   $ flatpak list
Packit 15f964
Packit 15f964
and remove Evolution from there:
Packit 15f964
Packit 15f964
   $ flatpak --user uninstall org.gnome.Evolution
Packit 15f964
Packit 15f964
Then also check what repositories are installed:
Packit 15f964
Packit 15f964
   $ flatpak remotes
Packit 15f964
Packit 15f964
and remove the custom Evolution repository with:
Packit 15f964
Packit 15f964
   $ flatpak --user remote-delete evolution-repo-master