This is a bitch of a diffstat, unfortunately, and the patches aren't all that fun to look through. I have it pushed to my repo as alpm-cleanups if you'd rather grab it there. The bright side is it should successfully build and test after each patch as long as they are applied in the order sent here (or in my repo). Comments/suggestion/feedback welcome. Once these are applied, I think our API makes a lot more sense from a consumer standpoint as we have a single object, tracked by the "client", tracking all state in the library rather than the state being held in a global variable in the backend library. This patch series (and the previous one sent and now applied) makes it *much* easier for the next few patches, which will ensure DBs are signature-checked and verified at the right time, and at a time all clients expect them to be checked so error codes can be checked. Look at the bright side- the overall line differential is at least negative! -Dan Dan McGee (13): Require handle argument to alpm_logaction() Require handle argument to all alpm_option_(get|set)_*() methods Require handle argument to all alpm_trans_*() methods Require handle for alpm_db_register_sync() Require handle for alpm_sync_sysupgrade() Require handle for alpm_pkg_load() Require handle for alpm_checkconflicts() Add handle argument to two more alpm methods Require handle for alpm_find_grp_pkgs() Move pm_errno onto the handle Switch all logging to use handle directly Remove global handle variable Always pass data to trans_commit() lib/libalpm/add.c | 173 +++++++++++++++--------------- lib/libalpm/alpm.c | 14 +-- lib/libalpm/alpm.h | 159 +++++++++++++++------------- lib/libalpm/be_local.c | 77 ++++++------- lib/libalpm/be_package.c | 92 ++++++++-------- lib/libalpm/be_sync.c | 88 ++++++++-------- lib/libalpm/conflict.c | 151 ++++++++++++++------------ lib/libalpm/conflict.h | 3 +- lib/libalpm/db.c | 124 ++++++++++----------- lib/libalpm/delta.c | 31 +++--- lib/libalpm/delta.h | 2 +- lib/libalpm/deps.c | 117 +++++++++----------- lib/libalpm/deps.h | 4 +- lib/libalpm/diskspace.c | 38 ++++---- lib/libalpm/dload.c | 61 +++++------ lib/libalpm/dload.h | 3 +- lib/libalpm/error.c | 16 +--- lib/libalpm/graph.c | 2 +- lib/libalpm/group.c | 9 +- lib/libalpm/handle.c | 269 ++++++++++++++++++---------------------------- lib/libalpm/handle.h | 3 + lib/libalpm/log.c | 23 ++--- lib/libalpm/log.h | 3 +- lib/libalpm/package.c | 38 ++++--- lib/libalpm/package.h | 8 +- lib/libalpm/pkghash.c | 13 +-- lib/libalpm/remove.c | 118 +++++++++++---------- lib/libalpm/signing.c | 83 ++++++++------- lib/libalpm/signing.h | 3 +- lib/libalpm/sync.c | 192 +++++++++++++++++---------------- lib/libalpm/trans.c | 115 +++++++++----------- lib/libalpm/trans.h | 1 - lib/libalpm/util.c | 127 +++++++++++----------- lib/libalpm/util.h | 23 +++-- src/pacman/callback.c | 6 +- src/pacman/conf.c | 54 +++++----- src/pacman/database.c | 4 +- src/pacman/deptest.c | 3 +- src/pacman/package.c | 5 +- src/pacman/pacman.c | 18 ++-- src/pacman/query.c | 21 ++-- src/pacman/remove.c | 27 +++-- src/pacman/sync.c | 78 +++++++------ src/pacman/upgrade.c | 34 +++--- src/pacman/util.c | 22 ++-- src/util/cleanupdelta.c | 6 +- src/util/pactree.c | 34 ++---- src/util/testdb.c | 19 ++-- src/util/testpkg.c | 9 +- 49 files changed, 1227 insertions(+), 1296 deletions(-) -- 1.7.5.2