[GNC] Backporting Gnucash 3.7 to Ubuntu "Bionic" (or Mint, etc.)

David Cousens davidcousens at bigpond.com
Sat Oct 26 18:31:13 EDT 2019


Frank,

This is obviously where the process of standardization becomes a bit murky. 

Now 4.1 of the FHS(v3.0) wrt /usr states

4.1. Purpose
/usr is the second major section of the filesystem. /usr is shareable,
read-only data. That means that /usr should be shareable between various
FHS-compliant hosts and must not be written to. Any information that is
host-specific or varies with time is stored elsewhere.

Large software packages must not use a direct subdirectory under the /usr
hierarchy.

and 4.9.1 wrt /usr/local

4.9.1. Purpose
The /usr/local hierarchy is for use by the system administrator when
installing software locally. It needs to be safe from being overwritten when
the system software is updated. It may be used for programs and data that
are shareable amongst a group of hosts, but not found in /usr.

Locally installed software must be placed within /usr/local rather than /usr
unless it is being installed to replace or upgrade software in /usr.


On my computers I am by default the system administrator and I install
programs like GnuCash on my system (in my case I build them but i do install
other packages from the repositories of third party software  made available
by the a subset of the maintainers of my distro who package software for use
on my system - far too slowly for my personal liking). If I look at what is
in /usr it is packages like apt, blueman, cinnamon (desktop), cli, ufw, gufw
and various installation, update, backup tools for the OS which are largely
to do with inter-operation of my computer with other external computers and
my LAN .  I also have some packages like calibre, ebook, jupyter (some parts
of) , R, scilab, sagemath
which are packages I optionally install usually from my distributions
software repository although that is not the case for R, scilab, sagemath. I
would argue the latter should really be installed in /usr/local.

It has been so long since I installed the GnuCash version from the LM
software repository (2.6.19 and a flatpak version 3.7) , I no longer
remember where it does install whether to /usr or /usr/local.  

Just did that and 2.6.19 installs to  /usr (/usr/bin/gnucash,
/usr/lib/x86_64-linux-gnu/gnucash, /usr/include/gnucash, /usr/share/gnucash,
/usr/share/man/man1/gnucash.1.gz) and I can run either 2.6.19 with
/usr/bin/gnucash  or my own localbuild of  3.7 with /usr/local/bin/gnucash
separately without any obvious problems (I didn't open any files as I have
been using V3.0-3.7 since they came out and i don't want to recreate the
user config files but the program (2.6.19) went as far as the file open
dialog). 

Interestingly after I remove it using the software manager 
/usr/include/gnucash and /usr/share/gnucash (same contents as
/usr/local/share/gnucash) remain on my system (they weren't there before I
installed form the repository) so the distribution packagers are not fully
removing GnuCash from the system. /etc/gnucash is not removed by the
software manager uninstall but it dates from my installation from my own
build and not the installation from the software manager. Removing these two
directories manually did not interfere with running my local build installed
in /usr/local. I will report that as a LM bug

My own local build installs to the following locations: /etc/gnucash
/usr/local/bin/gnucash /usr/local/etc/gnucash /usr/local/lib/gnucash
/usr/local/share/gnucash although whereis is not a reliable method of
locating all files ( only binaries and source) installed on a system. locate
does a better job but then too much information. I piped that to a file
(11Mb) which I will check out to see if there is any other strange stuff
lurking. The flathub version seems to install stuff to locations under /var
as there were a lot of gnucash/flatpak  related files there.

I also tried installing from the flathub but that failed to install. It
might require me to update the flathub installation but I am not going to
pursue that. I am not particularly a fan. It seems to leave a lot of empty
cache directories scattered around /var which can presumably be deleted
without consequence. I will uninstall flathub as well as the flathub version
of gnucash  and see what is left.

Just the gnucash related files found in mu ~/.local/share/Trash was an
education. I should recover quite a bit of disk space justclearing that out.
When LM goes through a major version upgrade I usually do a total fresh
install including all user software to clear all the rubbish out.

Cheers

David



-----
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-User-f1415819.html


More information about the gnucash-user mailing list