[GNC-dev] Flatpak GnuCash and Finance::Quote

Geert Janssens geert.gnucash at kobaltwit.be
Wed Oct 5 16:09:23 EDT 2022


Op maandag 3 oktober 2022 00:38:23 CEST schreef Bruce Schuck:
> Hello all,
> 
> Noticing that the most recent Flatpak version of GnuCash (4.12+ (Flathub
> 4.12)) has v1.49 of Finance::Quote, I wanted to update to the recent
> release candidate I pushed to CPAN. I believe there are issues running
> gnc-fq-update or cpan within the flatpak container because some of the
> modules required by F::Q v1.52 and later require the gcc compiler to
> make and install. As far as I can see, gcc is not in the flatpak GnuCash
> distribution.
> 
> While copying the ./lib/Finance tree from GitHub or a downloaded tarball
> may seem to work, some of the lesser used methods for data retrieval may
> not work.
> 
> - Bruce S.


Flatpak follows a completely different distribution model than typical distributions do. It 
starts from the concept of an immutable base system. You are not supposed to manipulate 
this directly. So running gnc-fq-update is unfortunately not supposed to work within flatpak 
and the whole concept is designed to make that difficult to do.


The runtime that's normally used to run flatpak applications doesn't have any developer 
tools. You can switch to using sdk packages instead as Frank linked to, but it remains limited.


Having said that, there are several options to get newer versions of Finance::Quote in the 
hands of gnucash flatpak users. Though all involve rebuilding the gnucash flatpak in some 
way.


1. We have our own flatpak repository in which we publish nightly builds. The source for 
these nightly builds is the Gnucash/gnucash-on-flatpak repo on github. The build system is 
fairly automated (more on that later).


2. You can also use the same repo to set up your own build environment for gnucash 
flatpaks, if your main goal is to test for yourself or before you submit a PR to gnucash-on-
flatpak. I don't know how easy or hard this is perceived by outsiders (I created that repo and 
the scripts in there, so to me it's obviously not too hard).


3. The flatpaks as distributed on flathub are also under the gnucash project's control. We 
typically first test our changes in gnucash-on-flatpak and if proven ok, we copy the same 
patches to flathub. Flathub offers both a stable and a beta branch. On stable we should only 
push stable software, so release  candidates for Finance::Quote don't belong there. However 
we could experiment on the beta branch if that helps.


The idea is the same in all cases: flatpak builds follow a recipe as describe in a manifest file. 
Our manifest file is split up in smaller parts for readability but in general this contains a list 
of source packages, where to find them and how to build them. The sources for 
Finance::Quote are in
https://github.com/Gnucash/gnucash-on-flatpak/blob/master/modules/finance-quote-sources.json[1]
The way to update is to change version numbers of tar balls and the sha256 sums for these 
tarballs. Pushing these changes to the correct upstream repos will trigger new builds of the 
respective flatpaks.


Regards,


Geert

--------
[1] https://github.com/Gnucash/gnucash-on-flatpak/blob/master/modules/finance-quote-sources.json


More information about the gnucash-devel mailing list