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