Dependency changes and release schedule for QOF 0.6.4

Neil Williams linux at codehelp.co.uk
Thu Apr 6 07:06:09 EDT 2006


The way QOF handled #include <glib.h> and other library headers in previous 
versions has led to applications depending on libqof having spurious 
dependencies and these cause packaging errors. (binary X links against 
library Y but does not use any symbols).

This has been fixed in QOF CVS by preventing QOF headers from transparently 
including indirect dependencies - in the case of gnucash this means that 
#include <qof.h> no longer implicitly includes <glib.h> - and by fixing the 
pkg-config file to make QOF dependencies (like glib) private to qof. The 
pkg-config --libs line is now just:
-lqof

(Before it referenced -lz, -lm, -lgda2, -lglib-2.0 and others, all of which 
simply duplicated the symbols from other libraries.)

There are changes needed in gnucash source to cope with these qof changes - 
typically adding #include <glib.h> to C files and .scm files:
M      src/register/ledger-core/gnc-ledger-display.c
M      src/backend/file/test/test-load-backend.c
M      src/backend/file/sixtp-utils.c
M      src/business/business-core/gncBusGuile.c
M      src/business/business-core/gw-business-core-spec.scm
M      src/business/dialog-tax-table/gw-dialog-tax-table-spec.scm
M      src/gnome-utils/QuickFill.c
M      src/engine/gw-kvp-spec.scm
M      src/engine/gnc-pricedb.c
M      src/engine/Account.c
M      src/engine/engine-helpers.c
M      src/engine/gnc-lot.c
M      src/engine/kvp-scm.c
M      src/engine/Period.c
M      src/engine/Transaction.c
M      src/engine/test/test-load-engine.c
M      src/engine/gnc-commodity.c
M      src/engine/gnc-associate-account.c
M      src/engine/gnc-engine.c
M      src/engine/SchedXaction.c
M      src/engine/gnc-session.c
M      src/app-utils/gnc-component-manager.c
M      src/app-utils/gnc-account-merge.c
M      src/app-utils/gnc-ui-util.c

QOF 0.6.4 also replaces gnc-engine-util.* with qofutil.* and incorporates 
qof-be-utils.h into qofutil.h. Old gnc-engine calls are now deprecated and 
replaced with qof_util calls. These changes are included in the above gnucash 
files (as gnucash builds without deprecated libqof symbols).

The other change in 4 is that xml encoding is now supported in QSF - there is 
a QofBackendOption that allows applications to pass an encoding value, e.g. 
the current locale, to QSF so that libxml2 can write out the XML using the 
requested encoding. libxml2 then converts back to UTF-8 when the file is 
loaded. This option adds two translatable strings to QOF and gnucash. These 
changes therefore need to be committed to gnucash svn prior to the QOF 0.6.4 
release, in time for the gnucash string freeze. I'm hoping to make that 
commit tomorrow.

All of these changes have taken place during the development of pilot-qof 
0.0.8 and 0.0.9 so this is the first chance to discuss them here.

I have been testing with gnucash svn without problems.

I've got some final testing to do today and then it'll be ready to commit.

QOF 0.6.4 is now ready for release - if there are changes out-of-tree, please 
let me know and/or commit to gnucash svn. 

QOF 0.6.4 is scheduled for release April 17th. This will be the final qof 
release prior to gnucash 2.0. 

All lib/libqof/ changes up to r13741 are already implemented in QOF CVS.

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20060406/ae19d3fc/attachment.bin


More information about the gnucash-devel mailing list