There are more, but these are most common ones.
There are also a number of urls that don't behave well when https, so those are skipped
At some point I have also started marking non-working URLs as [DEAD LINK], though
that's not a full coverage.
By default we require gettext 0.19.6 as this is needed to generate a translated version of gnucash.desktop and gnucash.appdata.xml.
However this version is not available on some platforms (most notably our own ubuntu 14.04LTS travis instance).
By setting ALLOW_OLD_GETTEXT=ON, the build configuration falls back to generating untranslated versions of said files instead.
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