Support for older distros

Geert Janssens geert.gnucash at kobaltwit.be
Thu Mar 23 14:42:24 EDT 2017


On donderdag 23 maart 2017 17:36:18 CET John Ralls wrote:
> > On Mar 23, 2017, at 8:56 AM, Geert Janssens <geert.gnucash at kobaltwit.be>
> > wrote:> 
> > On donderdag 23 maart 2017 15:52:52 CET John Ralls wrote:
> >>> On Mar 23, 2017, at 3:49 AM, Geert Janssens <geert.gnucash at kobaltwit.be>
> >>> wrote:>
> >>> 
> >>> On woensdag 22 maart 2017 22:05:25 CET Geert Janssens wrote:
> >>>> commit 9f3ad5510427eb69c857814de15e1c1be0727d2d
> >>>> Author: Jesse Olmer <jesse at wickedgoodtimes.com>
> >>>> Date:   Sat Feb 13 21:59:05 2016 -0800
> >>>> 
> >>>>   Bug 739571 - Matching imported transactions doesn't indicate
> >>>>   previously
> >>>> 
> >>>> matched entries
> >>>> 
> >>>>   Track pending matches from the current import and display this
> >>>> 
> >>>> information in the match picker.
> >>> 
> >>> This commit (which I pushed myself) breaks travis because its unit test
> >>> uses g_assert_true and friends.
> >>> 
> >>> A quick lookup shows the maint branch of gnucash is still running travis
> >>> tests on Ubuntu 12.04 (Precise), which ships with glib-2.0 2.32 while
> >>> g_assert_true was introduced in glib-2.0 2.38.
> >>> 
> >>> I'm in two minds about how to proceed.
> >>> - I could revert the patch and rework it for master only. This will
> >>> delay
> >>> its formal release with a few months.
> >>> - I could backport my patches that set the minimum required glib-2.0
> >>> version to 2.40 and adjust the travis environment to trusty (14.04) like
> >>> master.
> >>> 
> >>> The fundamental question here is do we still want to support Ubuntu
> >>> 12.04
> >>> ? It will be EOL by the end of next month so I don't know whether it's
> >>> still worth spending effort for ?
> >>> 
> >>> What you others think ?
> >> 
> >> I suggest the 3rd alternative: Use HAVE_GLIB_2_38 to disable the
> >> offending
> >> tests on systems that don't support it. Supporting older distros doesn't
> >> mean supporting them as development platforms where all tests must work
> >> and
> >> pass.
> > 
> > That's a good option. we already use the same macro for other exceptions.
> > Will implement it that way.
> > 
> >> For longer term, maint's configure.ac says that it requires 2.28. Has
> >> anyone actually tried to build with 2.28 recently? We could set up
> >> Travis with various versions of glib to ensure that we don't
> >> accidentally break our minimum requirement claims.
> > 
> > I believe the 2.28 baseline stems from RHEL/Cents 6. It's the most recent
> > version there. I have no idea whether current stable builds on that
> > platform and I'm not sure it ever did. The epel repos only contain
> > gnucash 2.4 so it may well be we have dropped support already in the 2.6
> > development cycle (I don't remember unfortunately).
> > 
> > RHEL/Centos 7 ship glib2 2.46.
> > 
> > openSuse's oldest still maintained release appears to be Leap 42.1
> > according to Frank's link. This distro ships glib2 2.44.
> > 
> > Travis/Ubuntu Trusty (14.04LTS) ship glib2 2.40
> > Travis/Ubuntu Precise (12.04LTS) ship glib2 2.32
> > 
> > I mentioned two other distros in my commit message:
> > Debian stable ships glib2 2.46 in backports
> > Mingw in our Windows environment has glib2 2.42
> > 
> > So the only two really old ones are RHEL/Centos 6 and Ubuntu Precise
> > (12.04).
> > 
> > Again I don't know if we ever supported the former with gnucash 2.6. The
> > older will go EOL next month.
> > 
> > If I find some time I'll see if I can build gnucash 2.6 on Centos 6. I
> > believe I still have a vm somewhere with that distro.
> > 
> > Can you set up travis with custom glib2 versions ? That looks tricky.
> > 
> >> This is also a good time to review our minimum requirements for master,
> >> as
> >> we've about 4 months until the first beta release and we're switching to
> >> WebKit2 so that 2.8 can be in Fedora and that drags in Gtk3. We've also
> >> implemented a lot of code that requires at least gcc-4.8 and is happier
> >> with gcc-5.0. We need to figure out what versions of the major distros
> >> support that, derive from that the minimum version of glib and gtk and
> >> clean up the code accordingly, fixing any deprecations as we go.
> > 
> > Well for glib2 I just did the exercise. All of the above mentioned distros
> > except for RHEL/Centos 6 and Ubuntu Precise are supported if we set the
> > baseline to 2.40. That makes Ubuntu Trusty (and by extension travis as
> > configured for master) the oldest supported release.
> > 
> > I am only checking distros that are slow in updating here by the way. I
> > assume distros like Fedora, arch and gentoo to be more recent than those
> > (which has always been the case so far).
> > 
> > As for gcc, again RHEL/Centos 6 and Ubuntu Precise are definitely falling
> > on the wayside.The former ships with  4.4.7, the latter with 4.6.3. I'll
> > just stop mentioning these two distros from now on.
> > 
> > RHEL/Centos 7: 4.8.5 (gcc 6 available via software collections)
> > Mingw: 4.8 (and there are test builds of more recent versions, but not
> > verified with gnucash yet)
> > Debian stable 4.9.2
> > Ubuntu trusty 4.8.4
> > openSuse Leap 4.8 (default), 5.3.1 (available in the repos)
> > 
> > Gtk3 support. I think at least 3.10 should be the baseline because that
> > version introduces css styling as a replacement for GtkStyle. Maintaining
> > both variants is not desirable. Luckily all platforms we care about for
> > gnucash 2.8 match this baseline:
> > RHEL/Centos 7: 3.14.13
> > Mingw: ?? (Mingw64 has 3.22 - which is recommended by gtk itself as
> > platform for windows)
> > Debian stable 3.14.5
> > Ubuntu trusty 3.10.8
> > openSuse Leap 3.16.7
> > 
> > Webkit2gtk
> > RHEL/Centos 7: 2.4.9
> > Mingw: ?? (Mingw64 has 2.4.9)
> > Debian stable 2.4.9
> > Ubuntu trusty 2.4.10
> > openSuse Leap 2.10.7
> > 


More information about the gnucash-devel mailing list