Today I did checkout of CVS and DARCS and found some differences:
1) Why there is "typedef struct __pmlist_t PMList;" in DARCS
(libalpm/list.h)? What it gives? IMHO it's inconsistent with pmdb_t,
pmpkg_t etc. Isn't this difference completely useless and even bad
because of different API?
2) There are differences in progressbar and log implementations. Some
code has been moved from libalpm/log.h and libalpm/server.h to
libalpm/handle.c in Frugalware's branch.
3) _alpm_db_search, alpm_pkg_load, alpm_pkg_free call _alpm_log in
4) alpm_cb_log has been moved from log.h to alpm.h in Frugalware's branch.
5) There's no _alpm_db_register callback in Frugalware's branch.
6) There is local time format support in cb_log in Arch's branch.
In libalpm\alpm.c lines 1213-1214 (1256-1275 in FwPacman) are
different. Does this show the usefulness of _alpm_db_register?
Very little differences, some looks a bit strange for me:
1) In pacman/sync.c, lines 164 and 204 - two strange little cosmethic
2) There's "extern pmhandle_t *handle;" on top of most *.c files in
Frugalware's branch in libalpm.
3) alpm_conflict_getinfo abd alpm_db_update have slightly different
Well, that's all. Sorry if I take your time but I want to learn more
about Pacman internals, so it will be nice if someone can explain
these differences. ;-)
And the last - a bug in Arch's branch:
1) libalpm\alpm.c, lines 470, 724, 753, 797, 976 - "void *" should be "char *"
Roman Kyrylych (Роман Кирилич)