Re: 2.6 Release

2011-12-30 Thread Geert Janssens
Op vrijdag 30 december 2011 09:06:58 schreef u:
 On Dec 30, 2011, at 2:57 AM, Geert Janssens wrote:
  Op donderdag 29 december 2011 14:18:38 schreef u:
  On Dec 29, 2011, at 12:24 PM, Christian Stimming wrote:
  Am Mittwoch, 28. Dezember 2011, 18:16:48 schrieb John Ralls:
  A release plan isn't a list of features to get enough reasons
  for
  a
  2.6.0 release. It's a list of features and existing bugs, whether
  implemented or not, that the project team agrees should be what's
  going to be in the 2.6.0 release. It guides the testers who use
  the
  development (2.5.x) releases, so that they know what to try out,
  and
  to write bugs against.
  
  Ok, let my re-phrase my original proposal, like so:
  
  Over the past months, several very useful features for small
  business
  usage have been added to trunk. I'd like to get those features out
  in
  the stable releases so that users who are asking for this can get
  them
  through their default distro package, which implies those features
  need
  to appear in a stable release series.
  
  Here's an (incomplete) list of new features for small business users
  which is now available in trunk but not in 2.4:
  
  * Customer / Vendor overview pages
  * Print to PDF for reports and invoices by a single button click
  * Allow Filter By settings to be saved and re-used
  * Customer overview reports
  * Line chart report for Net Worth (Bug #664862)
  * Re-assign existing transactions as payments
  * Duplicate invoices
  * Easier invoice / bill handling: Post, Print, or Duplicate multiple
  items directly from the search result list
  * Better invoice printing setup: Choose the default invoice report
  for
  printing in the preferences
  * Change the ordering of invoice entries by up/down buttons in the
  invoice window
  
  * and last but not least Geert has ongoing work to include Credit
  Notes
  
  I propose to start a new 2.5.0 / 2.6.0 release series in order to
  make
  those small business user improvements available in a stable
  release.
  As already discussed in length, there haven't been that much
  significant changes in gnucash apart from these features which might
  seem minor to all users who don't happen to use gnucash for running
  a
  business. On the upside, this means trunk in itself isn't that much
  unstable right now, which means we will probably get a 2.6.0 stable
  release ready with only very few unstable 2.5.x releases on the way.
  Because of this, the extra work to get trunk into shape for another
  stable branch is probably only a small distraction from longer- term
  work that will continue on trunk.
  
  I doubt that either Gtk3 or the engine cleanup will be done in
  another
  year unless a lot of help shows up. Going through a development
  release series while continuing that work in trunk will push both
  further out: Time spent getting a release polished up is time not
  spent on longer-term projects.
  
  By the way, the time between 2.2.0 and 2.4.0 was 42 months (July
  2007
  to
  December 2010); it was 22 months between releasing 2.2.0 and the
  first
  2.3 release (May 2009). What's special about a year?
  
  Point taken. My proposal is not based on particular time frames, but
  rather on making this collection of small business improvements
  available in a stable release, and do so in the near future (i.e.
  within the next 2-4 months).
  
  Other proposals / comments?
  
  Thank you. That's much better; perhaps we can turn it into a wiki page
  to point testers at.
  
  Are there unit tests for all of those features?
  
  Most of what I've worked at are GUI related items. I don't think we have
  unit tests for any of the GUI's.
  I will check to add some unit tests for the small changes I did in the
  engine though.
  
  I'll spend some more time chasing down edits that aren't immediately
  committed, so that the SQL backend is sure to work properly (and also
  add automated tests for that to setters).
  
  Is it feasible to remove Guile 1.6 support (by fixing the deprecation
  warnings with Guile 1.8)? Will that be sufficient to make Guile 2.0
  work? (I'm willing to do the work.)
  
  I have been investigating this problem before. Here are my findings so
  far:
  
  GnuCash itself is no longer using any deprecated Guile routines. The
  deprecated warnings come from the autogenerated swig code.
  There are a number of related bugreports to give you some more
  information: Gnome's bugzilla (GnuCash):
  https://bugzilla.gnome.org/show_bug.cgi?id=655901
  Fedora has two related bugs, the latter being the most relevant one:
  https://bugzilla.redhat.com/show_bug.cgi?id=752054
  https://bugzilla.redhat.com/show_bug.cgi?id=704527
  All these bugs eventually refer to a swig upstream bug:
  http://sourceforge.net/tracker/?func=detailaid=1511038group_id=1645at
  id=301645
  
  I left a comment there early November, but there's no response so far.
  
  If this has to be worked around from within GnuCash, the only option I
  

Re: r21768 - gnucash/branches/2.4/packaging/win32 - More changes to compile gtk-2.24.

2011-12-30 Thread Christian Stimming
Am Donnerstag, 29. Dezember 2011, 15:11:39 schrieb John Ralls:
  Which turned out to be more WebKit contamination, sort of. Ktoblzcheck
  needs a couple of libraries from mingw (libstdc++-6.dll and
  libgcc_s_dw2-1.dll) and we were relying on WebKit to provide them --
  but it only provides an older version of libstdc++-1.
  
  Very interesting. Now, libktoblzcheck isn't anything miraculous - it's
  just a C++ library that we build ourselves. Apparently once we do this,
  the libstdc++ of the compiler needs to be present but hasn't been so
  far.
  
  This change is most probably also needed in trunk, isn't it?
 
 It wouldn't matter whether we built it or got a binary from somewhere: If it
 links against libstdc++, it has to have it. C++ library symbols are
 mangled in a compiler-specific way, so it's not possible to link a
 program made with one compiler against a library made with another. But
 that wasn't the problem here: The libstdc++-6 that WekKit provided didn't
 define a symbol that ktoblzcheck wanted (__gxx_personality_v0), but there
 are a couple of dozen others that it was perfectly happy with. That
 indicates a libstdc++-6 version problem rather than a wrong compiler
 problem.

Yes: From the description it sounds as if webkit's libstdc++6 was older than 
the one of the mingw that we use. Hence the newer one of mingw has some symbol 
which the older one hasn't, and this is what the hand-compiled ktoblzcheck 
complains about. But I don't know libstdc++ version details here.

 It looks to me from the symbols imported from libgcc_s_dw2-1 (Unwind_resume,
 _deregister_frame_info, _moddi3, and _register_frame_info) that it has to
 do with debugging, so we might be able to get rid of that dependency by
 changing CFLAGS.

I tried, but apparently linking against libstdc++ always pulls in this 
libgcc_s. There were no CFLAGS or similar that triggered the linking to this 
library, nor were there any that could be removed to remove this dependency.

 I don't know if it needs changing in trunk. AQB works there, right?

I haven't checked myself on windows, ever. From the gnucash-de mailing list 
reports apparently it does work.

Regards,

Christian
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: 2.6 Release

2011-12-30 Thread Christian Stimming
Am Donnerstag, 29. Dezember 2011, 14:18:38 schrieb John Ralls:
  I propose to start a new 2.5.0 / 2.6.0 release series in order to make
  those small business user improvements available in a stable release.
  As already discussed in length, there haven't been that much
  significant changes in gnucash apart from these features which might
  seem minor to all users who don't happen to use gnucash for running a
  business.

 Thank you. That's much better; perhaps we can turn it into a wiki page to
 point testers at.

Yes. I've collected my list at 
http://wiki.gnucash.org/wiki/Release_Schedule#Feature_Checklist_for_2.6.0
Feel free to edit this list and/or add any comments, as usual in the wiki.

 Are there unit tests for all of those features?

No. The points I mentioned are all UI features, for which we don't have any 
unittests so far. But all of those features have been implemented by direct 
user requests who also acknowledged the successful implementation of the 
feature, so they are indeed in daily use by some people.

On the other hand some of them imply some additional engine layer features (or 
business logic features), and of course those might get tested by unittests. 
To my knowledge, none of those features have had business logic unittests 
added. I will look into adding this, but I doubt it will cover any significant 
parts of those features.

Best Regards,

Christian

 I'll spend some more time chasing down edits that aren't immediately
 committed, so that the SQL backend is sure to work properly (and also add
 automated tests for that to setters).
 
 Is it feasible to remove Guile 1.6 support (by fixing the deprecation
 warnings with Guile 1.8)? Will that be sufficient to make Guile 2.0 work?
 (I'm willing to do the work.)
 
 
 Regards,
 John Ralls
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: 2.6 Release

2011-12-30 Thread Ted Creedon
Need the guile 2.x thing resolved soon
Tedc

On Friday, December 30, 2011, Christian Stimming christ...@cstimming.de
wrote:
 Am Donnerstag, 29. Dezember 2011, 14:18:38 schrieb John Ralls:
  I propose to start a new 2.5.0 / 2.6.0 release series in order to make
  those small business user improvements available in a stable release.
  As already discussed in length, there haven't been that much
  significant changes in gnucash apart from these features which might
  seem minor to all users who don't happen to use gnucash for running a
  business.

 Thank you. That's much better; perhaps we can turn it into a wiki page to
 point testers at.

 Yes. I've collected my list at
 http://wiki.gnucash.org/wiki/Release_Schedule#Feature_Checklist_for_2.6.0
 Feel free to edit this list and/or add any comments, as usual in the wiki.

 Are there unit tests for all of those features?

 No. The points I mentioned are all UI features, for which we don't have
any
 unittests so far. But all of those features have been implemented by
direct
 user requests who also acknowledged the successful implementation of the
 feature, so they are indeed in daily use by some people.

 On the other hand some of them imply some additional engine layer
features (or
 business logic features), and of course those might get tested by
unittests.
 To my knowledge, none of those features have had business logic
unittests
 added. I will look into adding this, but I doubt it will cover any
significant
 parts of those features.

 Best Regards,

 Christian

 I'll spend some more time chasing down edits that aren't immediately
 committed, so that the SQL backend is sure to work properly (and also add
 automated tests for that to setters).

 Is it feasible to remove Guile 1.6 support (by fixing the deprecation
 warnings with Guile 1.8)? Will that be sufficient to make Guile 2.0 work?
 (I'm willing to do the work.)


 Regards,
 John Ralls
 ___
 gnucash-devel mailing list
 gnucash-devel@gnucash.org
 https://lists.gnucash.org/mailman/listinfo/gnucash-devel

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Guile Strings

2011-12-30 Thread John Ralls

On Dec 30, 2011, at 9:19 AM, Geert Janssens wrote:

 Op vrijdag 30 december 2011 09:06:58 schreef u:
 On Dec 30, 2011, at 2:57 AM, Geert Janssens wrote:
 As for the string problem, we may have to modify the C-side functions to
 require gstrdup'd strings that the consumer function frees. I'll have to
 have a look at how those strings are being used to suggest something more
 concrete.
 

The actual code that SWIG injects is
SWIGINTERN char *
SWIG_Guile_scm2newstr(SCM str, size_t *len) {
#define FUNC_NAME SWIG_Guile_scm2newstr
  char *ret;
  size_t l;

  SCM_ASSERT (SCM_STRINGP(str), str, 1, FUNC_NAME);
  
  l = SCM_STRING_LENGTH(str);
  ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
  if (!ret) return NULL;

  memcpy(ret, SCM_STRING_CHARS(str), l);
  ret[l] = '\0';
  if (len) *len = l;
  return ret;
#undef FUNC_NAME
}

As you can see, it's allocating a string on the heap and returning it, so 
either the strings are already getting freed or we're already leaking them.

So I went ahead and built swig with the patch from the bug and gave it a spin. 
It did indeed silence the deprecation warnings in guile-1.8.8.

Unfortunately guile-2.0 appears to have changed the way that extensions are 
loaded, because with guile-2.0 installed make check fails with 

;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;   or pass the --no-auto-compile argument to disable.
;;; compiling 
/Volumes/RAID1/Gnucash-Build/Gnucash-svn/src/gnucash-git/src/engine/test/./test-create-account.scm
;;; note: source file 
/Volumes/RAID1/Gnucash-Build/Gnucash-svn/src/gnucash-git/src/gnc-module/gnc-module.scm
;;;   newer than compiled 
/Users/john/.cache/guile/ccache/2.0-LE-4-2.0/Volumes/RAID1/Gnucash-Build/Gnucash-svn/src/gnucash-git/src/gnc-module/gnc-module.scm.go
;;; compiling 
/Volumes/RAID1/Gnucash-Build/Gnucash-svn/src/gnucash-git/src/gnc-module/gnc-module.scm
;;; WARNING: compilation of 
/Volumes/RAID1/Gnucash-Build/Gnucash-svn/src/gnucash-git/src/gnc-module/gnc-module.scm
 failed:
;;; ERROR: no code for module (sw_gnc_module)
./test-create-account: line 2: 80147 Bus error   guile -l 
$SRCDIR/test-create-account.scm -c (exit (run-test))

I poked at it briefly, but it couldn't get it to work.

Regards,
John Ralls


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: r21768 - gnucash/branches/2.4/packaging/win32 - More changes to compile gtk-2.24.

2011-12-30 Thread Derek Atkins
What about backporting the feature table patch?

-derek

Sent from my HTC on the Now Network from Sprint!

- Reply message -
From: John Ralls jra...@ceridwen.us
Date: Fri, Dec 30, 2011 6:30 pm
Subject: r21768 - gnucash/branches/2.4/packaging/win32 - More changes to 
compile gtk-2.24.
To: 
Cc: gnucash-devel@gnucash.org



On Dec 29, 2011, at 2:00 PM, John Ralls wrote:

 
 On Dec 27, 2011, at 10:09 PM, John Ralls wrote:
 
 
 It's still not quite ready for release: Gnucash isn't noticing that AQB is 
 present.
 
 Which turned out to be more WebKit contamination, sort of. Ktoblzcheck needs 
 a couple of libraries from mingw (libstdc++-6.dll and libgcc_s_dw2-1.dll) and 
 we were relying on WebKit to provide them -- but it only provides an older 
 version of libstdc++-1.
 
 Screen shot 2011-12-29 at 1.49.30 PM.png
 
 We should be able to release 2.4.9 after checking tomorrow's build.

Which failed. I hadn't changed the guile/1.6 reference in gnucash.iss.in. 
That's committed, and the package I built today installed and launched, so I 
think we can tag tomorrow, unless we want to wait till after New Year's day.

Regards,
John Ralls


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: r21768 - gnucash/branches/2.4/packaging/win32 - More changes to compile gtk-2.24.

2011-12-30 Thread John Ralls

On Dec 30, 2011, at 5:17 PM, Derek Atkins wrote:

 What about backporting the feature table patch?
 

Oh, did you commit that to trunk? I thought you'd done it direct to 2.4. If you 
don't beat me to it, I'll backport it tomorrow.

Regards,
John Ralls



___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel