[pacman-dev] some differences between Arch's and Frugalware's Pacman branches
Hi! 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 Arch's branch. 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 changes. :-/ 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 Doxygen comments. 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 (Роман Кирилич)
On Tue, Oct 24, 2006 at 12:40:44AM +0300, Roman Kyrylych <roman.kyrylych@gmail.com> wrote:
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?
see the cvs log. during the last merge i've pulled in some serious bugs (a buffer overrun and a segfault on amd64) so i carefully pull in changes. i'll pull that in soon
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 Arch's branch. 4) alpm_cb_log has been moved from log.h to alpm.h in Frugalware's branch.
please put out these diffs to somewhere or paste them here, i don't remember such differences
5) There's no _alpm_db_register callback in Frugalware's branch.
i'll pull it in
6) There is local time format support in cb_log in Arch's branch.
same, please show a diff
In libalpm\alpm.c lines 1213-1214 (1256-1275 in FwPacman) are different. Does this show the usefulness of _alpm_db_register?
sure
Very little differences, some looks a bit strange for me: 1) In pacman/sync.c, lines 164 and 204 - two strange little cosmethic changes. :-/
yes, there are many - in a previous mail Aaron said he likes such cosmetics
2) There's "extern pmhandle_t *handle;" on top of most *.c files in Frugalware's branch in libalpm.
cvs log again, that has been moved to handle.h recently in cvs. i'll pull it in
3) alpm_conflict_getinfo abd alpm_db_update have slightly different Doxygen comments.
i'll have a look at it, as you can see that's a minor issue
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. ;-)
mostly temporarily differences, as you can see :) btw then probably you excluded the scripts dir: the "building in chroot" and subpackages and such other makepkg features aren't merged udv / greetings, VMiklos -- Developer of Frugalware Linux, to make things frugal - http://frugalware.org
Yeah, I side with vmiklos here. We can't stay 100% alike all the time. Alot of these things were fairly minor so I found no need to say "omg update" - i.e. I added the current time output to debug logs, just so I could get an estimate on timing (parsing community takes about 11 seconds, ugh). In a few minutes I'll be applying a few changes - I'd like to fix that scrollbar issue. Odd thing is I did nothing but change the order of the printfs... I have no idea how that would change on 64bit, but I can plug and chug.... On 10/23/06, VMiklos <vmiklos@frugalware.org> wrote:
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 Arch's branch. 4) alpm_cb_log has been moved from log.h to alpm.h in Frugalware's branch.
please put out these diffs to somewhere or paste them here, i don't remember such differences
There's probably a few of these. Keep in mind, I'm still not 100% familiar with all the code, so sometimes when it takes me some time to track something down, I add a debug message in that spot to make it easier for me or someone else to find. I also moved the extern decls around to promote reuse a bit better (and I highly dislike re-declaring the extern in every file that needs it, it belies the definition of an interface).
Very little differences, some looks a bit strange for me: 1) In pacman/sync.c, lines 164 and 204 - two strange little cosmethic changes. :-/
yes, there are many - in a previous mail Aaron said he likes such cosmetics
Judd has a small portion of 'style guidlines' here: http://www.archlinux.org/pacman/pacman-coding.html When we/me/you come across things like this, I'll ask him to remedy anything that's not in that doc.
mostly temporarily differences, as you can see :)
Agreed.
btw then probably you excluded the scripts dir: the "building in chroot" and subpackages and such other makepkg features aren't merged
I think there were a few too many "frugal*" changes made and I skipped that one at the time... must have forgotten about it. Could you toss me a patch for those changes?
2006/10/24, VMiklos <vmiklos@frugalware.org>:
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 Arch's branch. 4) alpm_cb_log has been moved from log.h to alpm.h in Frugalware's branch.
please put out these diffs to somewhere or paste them here, i don't remember such differences
6) There is local time format support in cb_log in Arch's branch.
same, please show a diff
I know that diffs would be more useful for you. Sorry, I was writing this from Windows machine, when trying Windows versions of CVS and DARCS, but haven't get a diff tool yet. I hope I'll have time today to get to my Arch box and send the diffs.
btw then probably you excluded the scripts dir: the "building in chroot" and subpackages and such other makepkg features aren't merged
Yes. I checked only src/ and lib/ -- Roman Kyrylych (Роман Кирилич)
OK, as I see almost all differences are gone now. :-) However I've noticed some other: in autogen.sh there's automake -a -c --gnu --foreign and then cp -f $(dirname $(which automake))/../share/automake-1.9/mkinstalldirs ./ cp -f $(dirname $(which automake))/../share/gettext/config.rpath ./ in Arch and the same lines in reverse order in Frugalware. Which order is right - automake-then-cp or cp-then-automake? Even if this doesn't matter, IMHO it is better to have the same code for such trivial thing anyway. Also, in Arch Pacman is 3.4.0, ALPM is 0.1.0, in Frugalware - 3.4.3 and 1.3.4.3 respectively (numbers taken from configure.ac) :-) Also NEWS is not updated in Arch's branch. I know that this is really meaningless now, just wanted to point this out. -- Roman Kyrylych (Роман Кирилич)
participants (3)
-
Aaron Griffin
-
Roman Kyrylych
-
VMiklos