[GNC] Deb 3.4.0.1 not working for me in ubuntu 18.04

Geert Janssens geert.gnucash at kobaltwit.be
Wed Jan 9 06:36:46 EST 2019


Op dinsdag 8 januari 2019 22:11:29 CET schreef Colin Law:
> On Tue, 8 Jan 2019 at 17:52, Stephen M. Butler <kg7je at arrl.net> wrote:
> > I am trying to get a better deb via Launchpad were we can put up a ppa
> > for folks to point to.  Probably name it "gnucash-daily", although I
> > don't see it changing daily but as commits are made to the maint branch.
> 
> From my personal point of view the most useful ppa would be one that has
> the latest released version rather than a daily or similar version.
> 
> > However, I am having problems with one of the tools (pbuilder-dest) and
> > have a query out in the Ubuntu Forums for input.  Nothing back when I
> > checked a minute ago.  I suspect I'm going to have to read the code
> > (shell script) for pbuild-dest and the debootstrap script it invokes
> > (also shell script).  The later complains that gpgv can't be found --
> > but I can invoke it just fine.  I am comfortable in ksh and hope that
> > transfers well to bsh.
> > 
> > Wish I had better news and was making progress to get something really
> > useful.  My research indicates the check-install is not up to the task
> > of dealing with multiple O/S version.

Indeed. Last time I checked (which is 10+ years ago already) checkinstall 
didn't do dependency tracking. What it does is recording everything that gets 
installed by 'make install' and wrapping that in a .deb package (or .rpm 
package for that matter).

As far as I understand it's not really meant to prepare packages for 
distribution, but to make your package manager aware that you have installed 
something you built from scratch. The advantages are
1. your package manager is made aware of  what got installed and hence can 
properly manage file conflicts on later system updates.
2. your package manager can be used to remove the package cleanly if you no 
longer need it.

Packaging for distribution is more complicated than that. Such a package needs 
dependency information to help the package manager install the proper 
dependencies.

The best way to get there is indeed starting from the package sources of a 
working package. I'm used to the rpm world in which a source package 
essentially consists of a package spec file, a source tarball and optionally a 
number of patch files. The spec file contains all the details, including 
dependencies (with minimum versions), how to build from source and how to 
install. These source packages can be "installed" into a development 
environment and then adjusted before composing a final rpm file. A long time 
ago I have created my own rpms that way:
In the installed source package I replaced the source tarball with a more 
recent one and then tweaked the spec file as required. This I could then be 
compiled into a final rpm ready for distribution.

I assume something similar can be done with .deb package. No doubt they also 
have some source format you can download somewhere, update and the recompose 
into a proper .deb file. Dmitri's work is probably a good starting point. To 
make it more universally installable (as opposed to only for a specific ubuntu 
release) you'd need to find a way to adjust the dependencies to declare 
minimum versions rather than exact versions (like for libboost >= 1.54 instead 
of libboost = 1.65). Rpm allows this and I expect the deb format to allow this 
as well in some form or another. GnuCash' minimal dependencies are nicely 
recorded by David Cousens in our wiki:
https://wiki.gnucash.org/wiki/Dependencies
So that can also be useful for you.

Good luck!

Geert




More information about the gnucash-user mailing list