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/
pgpgBziprN5Xe.pgp
Description: PGP signature
_______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel