[GNC-dev] Documentation update problems
Geert Janssens
geert.gnucash at kobaltwit.be
Wed Sep 19 04:08:49 EDT 2018
Op woensdag 19 september 2018 05:19:08 CEST schreef John Ralls:
> It’s Debian and derivatives: Ubuntu is a derivative--or these days maybe a
> symbiote, there are Canonical reps on the Debian board--of Debian.
>
> I frankly don’t understand why Ubuntu needs a per-release explanation of how
> to build it, especially since Debian doesn’t. `sudo apt-get build-dep
> gnucash` installs everything you need to build 2.6; there are a few
> additional packages (cmake, ninja, swig, xsltproc, libgtk-3-dev,
> libboost-all-dev, googletest, and libwebkit2gtk-3.0-dev) to build 3. After
> that it’s the same directory creation, clone gnucash.git, cmake, and ninja
> reqardless of distro version.
>
+1
The build instructions are generic for *all* linux distributions, not only
Debian and derivatives. The only part that differs is getting the required
dependencies on your system. As there are plenty flavors of package managers,
this part needs to be detailed per platform.
The Debian/Ubuntu world has more or less standardized on the apt family of
tools, so for those the same instructions can probably be used.
On Fedora the primary package manager is dnf, and the instructions would be
written for dnf. The dnf equivalent of
"sudo apt-get build-dep gnucash"
is
"sudo dnf builddep install gnucash"
The devil on the other hand is in the details.
While we don't actively develop on gnucash 2.6 any more we know many users
will stick to this series until they are comfortable to make the switch. There
are even users on 2.4 still. We decided recently that any wiki information
older than that release should be considered obsolete. Which inversely also
means anything more recent is not.
That's why we still have build documentation for 2.6.x next to documentation
for 3.x. While the effort to migrate to cmake was started in the 2.6 series
I'm not sure it was bug free. So I understand build instructions for 2.6.x are
still documenting the autotools way. Yet in 3.x cmake is the only supported
build environment. That leads already to two different sets of build
instructions.
Next, what "apt-get build-dep gnucash" and "dnf builddep install gnucash"
really install depends on the version of gnucash supported by default on the
chosen system. For example Fedora 27 by default still ships gnucas 2.6.21, so
the builddep command will install build dependencies for that version. If you
want to build gnucash 3.x on that system one has to manually install the new
dependencies, as John mentioned for apt above. In theory it would be the other
way around when your distro ships gnucash 3.x by default. In practice however
it's very unlikely you can still "easily" build gnucash 2.6 on such systems.
Most of these distros have dropped libwebkitgtk-1 due to security issues.
So how do we proceed practically from here?
I think a generic page for autotools based build and one for cmake based
builds would be useful. We can even consider abandoning the autotools based
page to save time. This should be accompanied with a page that explains how to
set up the proper dependencies based on your platform. The Build instructions
page itself would then become a very short recipe referring to these two or
three pages.
Zooming in on the generic build instructions, it may be worth starting with a
preferred directory setup, a section (or a link to) how to clone the git repo
and check out the proper branch.
Geert
More information about the gnucash-devel
mailing list