This includes removal of the now unused make-gnucash-potfiles.in,
checking for CMakeLists.txt rather than Makefile.am in gnc-vcs-info,
upating the HACKING file,
and generally updating references to autotools.
I have kept "Makefile.*" exclude patterns in our CMakeLists.txt files
because they may still be lingering in the source directory from
previous autogen.sh runs. At some point these should probably be
removed as well still, together with the gitignore references to them.
This happens primarily on Travis. It looks like the shallow clone it makes is missing
tags. So if git describe fails, fall back to only the short commit hash (as we used to do
previously everywhere).
The main changes are
- group version and build information together
- increase size of application icon and name
- A more complete copyright notice (including 'Copyright' and 'GnuCash')
The default gtk provided about dialog widget won't allow for much more customization than that...
Note the build info has been condensed and is now based on 'git describe' which
returns a very concise, yet complete description of a commit starting from
the last tag that precedes it. This info will also be used anywhere else the build info
was displayed from now on, simplifying translations as well.
This effectively replaces the use of GNUCASH_BUILD_DATE with GNUCASH_SCM_REV_DATE.
The latter is extracted from the current commit if building from some kind of vcs
(currently only works correctly for svn and git). The info extracted while building
from vcs is then also added to the dist tarball so it's available when building
from tarball as well (via the file libgnucash/core-utils/gnc-vcs-info.h).
The same date is also used to set the date in gnucash' man page document.
A practical detail: I have changed the substitution variables in the man page template
from @- -@ to ${} so we could leverage CONFIGURE_FILE in cmake. The necessary
related adjustments have also been made to Makefile.am's substitution rules.
- Remove trailing semicolons. They're not needed in shell scripts
- Don't create default XDG_DATA_HOME (<HOME>/.local/share) the code
should work equally well if that directory doesn't exist and so
not creating it tests another part of the code
Currently, there is an ubuntu 14.04 and archlinux build and they both
use cmake with ninja, cmake with make, and autotools to build. It should
be straightforward to add another configuration.
Travis checks out the correct branch of the source code for us, and we
expose that source code to the docker container using a docker run
"volume".
To get the after_failure line work, I had to move the inline
build script to a separate script (util/travis-script.sh)
The second script (util/travis-after-failure.sh) will output
LastTest.log for cmake based builds and all files named
test*.log for an autotools based build.
Note: this commit also comes with a delibarate test failure
to illustrate the Travis behaviour. It will be removed in the
next commit.
Replace the autogen-sh time configuration which doesn't really work
correctly by making a local interpreter which links whichever library
pkg-config finds.
Also makes Guile-2.0 the default by looking for it first.
This is the equivalent of svnlog2ul.sh which does the same from svn log
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22983 57a11ea4-9604-0410-9ed3-97b8803252fd
And from the root directory instead of having to cd to util/svnlog2ul
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22948 57a11ea4-9604-0410-9ed3-97b8803252fd
scm is the modern term. vcs is rather used to refer to archaic systems
such as cvs and older. I wish I remembered this before my previous
commit. Oh well...
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22476 57a11ea4-9604-0410-9ed3-97b8803252fd
The code actually has provisions for svn, svk, git and bzr. Only svn and
git are actively used by the core developers though.
This involves changing
- filenames that contained svn while meant for multiple vcs's
- variable and macro names that are relevant for multiple vcs's
- the various locations where the vcs revision info is displayed
to the user, to mention the actual vcs used instead of standard "svn"
While at the last item, I also changed the text printed when gnucash is
called with the --version parameter, to reuse the translatable string
that is also used for the about dialog. This saves us one string to
translate.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22475 57a11ea4-9604-0410-9ed3-97b8803252fd
Apple's version of bash version 3, when called as /bin/sh, uses an internal echo command which doesn't handle the "-n" argument and contaminates the git version string. /bin/echo correctly handles the -n argument.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20654 57a11ea4-9604-0410-9ed3-97b8803252fd
svnversion without options returns the most recent revision in the repo
at the time of the last svn update/checkout even if that revision
didn't hold any changes in the current path. Not very useful as a
reference. Better is to ask for the last changed revision with -c.
BUT: -c option for some reason always considers svn working copy
as having mixed sources. We're only interested in the last part so
we strip the beginning revision if it's there.
As a result if your WC really has mixed sources, that will not be
visible in the version number...
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20140 57a11ea4-9604-0410-9ed3-97b8803252fd
Needed by packagers that maintain the packaging code in svn, svk or git too
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19990 57a11ea4-9604-0410-9ed3-97b8803252fd
Additional simplifying git expressions.
Patch by Frank H. Ellenberger
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19011 57a11ea4-9604-0410-9ed3-97b8803252fd
Also I made a first attempt at improving the line count.
The old script missed a number of files in the directories
it counted.
The script is still not in line with the current code base
though. A number of directories are still not counted (like
gnome, engine, ledger, ...)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18628 57a11ea4-9604-0410-9ed3-97b8803252fd
It makes more sense in util as it is by and for the devs, not
contributed by an external user for external use.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18627 57a11ea4-9604-0410-9ed3-97b8803252fd
The minimal Gtk+ requirement has been set to 2.8 recently. This script still removed glade
parameters that are valid in 2.8. This patch fixes that.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18617 57a11ea4-9604-0410-9ed3-97b8803252fd
At the moment all major distributions feature Glade-3 which tends to
save a lot of lines less compared to Glade-2 because it does not define
properties whose values equal the default ones specified by Gtk+.
Unfortunately though, only very recent versions of Glade, v3.5.3+,
address the following two issues:
(1) GtkTable attachments are written in different order each times,
rendering diffs unusable.
(2) Currently we depend on the ability to use a name multiple times in a
single glade file and only newer versions allow to have uniqueness be
applied to each top-level widget.
Sorry for the confusion.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17967 57a11ea4-9604-0410-9ed3-97b8803252fd
Glade 3 does not save properties with default values anymore. This
reduces patch sizes when Glade-3/Gtk+ is used with varying versions and
also avoids warnings about properties unknown to older Gtk+ versions.
The version Glade 3 used is 3.4.5.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17966 57a11ea4-9604-0410-9ed3-97b8803252fd
Otherwise the svk version info just continues to grow ad nausium
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@16362 57a11ea4-9604-0410-9ed3-97b8803252fd
Patch gnc-svnversion to check for .git, but in the top-level source
directory instead of src/gnome-utils. Use the output of "git-rev-parse
HEAD" as version string.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15292 57a11ea4-9604-0410-9ed3-97b8803252fd
- create gnc-svnversion script that builds the revision number
from either SVN or SVK. The script should fail gracefully if
you don't have SVK installed
- convert the configure script to use the new gnc-svnversion script
- convert the splash-screen Makefile to use the gnc-svnversions script
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@14427 57a11ea4-9604-0410-9ed3-97b8803252fd