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

Tommy Trussell tommy.trussell at gmail.com
Fri Oct 18 11:47:03 EDT 2019


I requested an "official" backport of GnuCash 3.7. If it gets a sponsor it
should quickly become available to Bionic as well as all the distros that
use it (such as Mint).

https://bugs.launchpad.net/bionic-backports/+bug/1847547

If you're registered on Launchpad and want to have an official backport,
please click the "pencil" below the bug number at the top and indicate
"This bug affects me" to vote for it.

IN THE MEANTIME, if you urgently want 3.7 on your system, here's a
procedure that worked for me. I apologize if I've omitted any steps.
(Likely! Please let me know.)

REQUIREMENTS
An Ubuntu Bionic (or derived) installation with bionic-backports activated
and the source code lines activated. To verify, open the Software and
Updates tool, and look in the Ubuntu Software tab to activate "Source code"
and the Updates tab to verify "bionic-backports" is active. Close the
Software & Updates window and let it update the cache.

PROCEDURE

1) Install the needed development files.

  $ sudo apt install build-essentials devscripts
  $ sudo apt build-dep gnucash
  $ sudo apt install debhelper/bionic-backports

(The first command should pull in lots of packages needed for building
sortware. The second should bring in lots more specific packages for
building GnuCash. The last command pulls an upgraded version of debhelper
from the backports repository.)

2) Create a source directory

  $ mkdir bionic37
  $ cd bionic37

3) Get the latest Ubuntu package.

  $ dget
http://archive.ubuntu.com/ubuntu/pool/universe/g/gnucash/gnucash_3.7-1ubuntu1.dsc

If the link above "breaks" in this email, get the correct link from the
"Download Gnucash" section here:
https://packages.ubuntu.com/source/eoan/gnucash

3b) Move into the directory created by dget from the source package

  $ cd gnucash-3.7

4) Comment out a build flag line in debian/rules so the package will build
in Bionic.

  $ sed -i 's/export DEB_CXXFLAGS/#export DEB_CXXFLAGS/' debian/rules

5) Make this your custom version (so any "official" release should
supersede it).

  $ dch --nmu

5b) Edit the version at the top so it reads something like:

  gnucash (1:3.7-1ubuntu18.04~1)

5c) Add a comment under your name and email in the first comment saying
something like:

  "Commented out DEB_CXXFLAGS instruction in debian/rules"

5d) Save and exit the editor.

6) Build the package.

  $ dpkg-buildpackage

(NOTE: this takes many minutes. At the end there should be a line saying
the build "completed.")

7) Once the build has completed, you will see the package files in the
bionic37 directory, ready to install.

  $ cd ..
  [to the directory you created in step 2]

  $ sudo dpkg -i *.deb *.ddeb

  $ sudo apt install -f

The dpkg -i command above attempts to install gnucash .deb files (and the
optional .ddeb debugging files). In a fresh installation, "dpkg -i" may
fail because of missing dependencies, so the "apt install -f" command will
install the missing dependencies and finish installing gnucash.


More information about the gnucash-user mailing list