FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux Pacman Development

 
 
LinkBack Thread Tools
 
Old 11-26-2007, 12:43 AM
Dan McGee
 
Default The official pacman repository branch, master, updated. v3.0.0-626-g72f40b3

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The official pacman repository".

The branch, master has been updated
via 72f40b3876263f7a8dcda1390026f43f599f8823 (commit)
via d683033d3ea79956faf8786f784ce2e271179892 (commit)
via 11133da587ebc1c78478cfcd05d5e8298bd61b84 (commit)
via 7d37d9278d0ab6eb46ec4689c8091780382cbb95 (commit)
from 1e9a1a0292dbbf8039b8fb7536dbff2af28c7afb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 72f40b3876263f7a8dcda1390026f43f599f8823
Author: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Date: Tue Nov 20 09:57:38 2007 +0100

_alpm_checkconflicts split

_alpm_innerconflicts: check for target<->target conflicts
_alpm_outerconflicts: check for target<->localpkg conflicts
This will be useful in sync.c clean-up and in testdb.c

As an application the patch also fixes a misleading message (and a memleak)
in add.c

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit d683033d3ea79956faf8786f784ce2e271179892
Author: Chantry Xavier <shiningxc@gmail.com>
Date: Sun Nov 25 16:13:56 2007 -0600

pacman/query.c : -Qo optimization.

I didn't understand why realpath was called on every files of every filelist
in query_fileowner :
ppath = resolve_path(path);

It turns out this is needed for the diverted files. For example, cddb_get
installs /usr/lib/perl5/site_perl/5.8.8/CDDB_get.pm which actually ends in
/usr/lib/perl5/site_perl/current/CDDB_get.pm .

And for making pacman -Qo /usr/lib/perl5/site_perl/current/CDDB_get.pm ,
realpath has to be called on both the target, and the file in the filelist.

However, realpath is costly, and calling it on every single file resulted
in a poor -Qo performance. Worst case :
pacman -Qo /lib/libz.so.1 0.35s user 1.51s system 99% cpu 1.864 total

So I did a little optimization to avoid calling realpath as much as
possible: first compare the basename of each file.

Result:
src/pacman/pacman -Qo /lib/libz.so.1 0.24s user 0.05s system 99% cpu 0.298
total

Obviously, the difference will be even bigger at the first run (no fs
cache), though it's quite scary on my system : 1.7s vs 40s previously.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit 11133da587ebc1c78478cfcd05d5e8298bd61b84
Author: Chantry Xavier <shiningxc@gmail.com>
Date: Sun Nov 25 16:13:30 2007 -0600

Move mbasename from pacman.c to util.c

This function can be useful in other places.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit 7d37d9278d0ab6eb46ec4689c8091780382cbb95
Author: Nagy Gabor <ngaba@petra.hos.u-szeged.hu>
Date: Sun Aug 12 22:26:54 2007 +0200

Fix for sync1003 and sync1004 pactests

checkdeps and resolvedeps now take both a remove list and an install list as
arguments, allowing dependencies to be calculated correctly.

This broke the sync990 pactest, but this pactest used dependencies and
provides in an unusual way, so it has been changed.

Dan: the sync990 pactest was just plain wrong. It didn't satisfy the
dependencies correctly, so should never have succeeded.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
[Dan: some variable renaming, clarification in commit message]
Signed-off-by: Dan McGee <dan@archlinux.org>

-----------------------------------------------------------------------

Summary of changes:
lib/libalpm/add.c | 50 +++------
lib/libalpm/alpm.h | 4 +-
lib/libalpm/conflict.c | 29 ++++-
lib/libalpm/conflict.h | 2 +
lib/libalpm/deps.c | 285 ++++++++++++++++++++--------------------------
lib/libalpm/deps.h | 4 +-
lib/libalpm/remove.c | 4 +-
lib/libalpm/sync.c | 100 +++++-----------
pactest/tests/sync990.py | 7 +-
src/pacman/pacman.c | 22 ----
src/pacman/query.c | 8 ++
src/pacman/util.c | 22 ++++
src/pacman/util.h | 1 +
src/util/testdb.c | 2 +-
14 files changed, 233 insertions(+), 307 deletions(-)


hooks/post-receive
--
The official pacman repository

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 
Old 11-26-2007, 09:35 AM
Nagy Gabor
 
Default The official pacman repository branch, master, updated. v3.0.0-626-g72f40b3

> commit 7d37d9278d0ab6eb46ec4689c8091780382cbb95
> Author: Nagy Gabor <ngaba@petra.hos.u-szeged.hu>
> Date: Sun Aug 12 22:26:54 2007 +0200
>
> Fix for sync1003 and sync1004 pactests
>
> checkdeps and resolvedeps now take both a remove list and an install list
> as
> arguments, allowing dependencies to be calculated correctly.
>
> This broke the sync990 pactest, but this pactest used dependencies and
> provides in an unusual way, so it has been changed.
>
> Dan: the sync990 pactest was just plain wrong. It didn't satisfy the
> dependencies correctly, so should never have succeeded.
>
> Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
> [Dan: some variable renaming, clarification in commit message]
> Signed-off-by: Dan McGee <dan@archlinux.org>
>

Wow, thanks. Special thanks to Xavier, who keep this patch in sync with the
current tree.

I noticed a little memleak in the patch:
----------
+char *missdepstring = alpm_dep_get_string(depend);
-...
+if(!alpm_depcmp(oldpkg, depend)) {
+ continue;
+}
----------

Well, I will create a cosmetics patch for this, soon [I am also quite busy now,
be patient ;-)]:
1. get rid of the ugly joined list [maybe with two for-loops] <- I used this to
avoid duplicated code, and indeed... the result is _really_ ugly
2. remove compute_requiredby, and check the whole "untouched" localdb by hand
[this is more suggestive imho, and a _little bit_ faster]
3. I need your feedback here: Well, the "universal" alpm_list_find is
reimplemented in many places, for example we could use this as a
search-for-satisfier with the help of alpm_depcmp, the only problem is, that
alpm_depcmp's match is 1, not 0 <- So shall I implement a trivial
not_alpm_depcmp function as a helper function (my opinion: no) or give a new
"compare-function-indicates-match-with" parameter to alpm_list_find (my opinion:
yes).

Bye, ngaba


----------------------------------------------------
SZTE Egyetemi Könyvtár - http://www.bibl.u-szeged.hu
This mail sent through IMP: http://horde.org/imp/


_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 
Old 11-26-2007, 10:52 AM
Xavier
 
Default The official pacman repository branch, master, updated. v3.0.0-626-g72f40b3

On Mon, Nov 26, 2007 at 11:35:51AM +0100, Nagy Gabor wrote:
> I noticed a little memleak in the patch:
> ----------
> +char *missdepstring = alpm_dep_get_string(depend);
> -...
> +if(!alpm_depcmp(oldpkg, depend)) {
> + continue;
> +}
> ----------
>
> Well, I will create a cosmetics patch for this, soon [I am also quite busy now,
> be patient ;-)]:
> 1. get rid of the ugly joined list [maybe with two for-loops] <- I used this to
> avoid duplicated code, and indeed... the result is _really_ ugly
> 2. remove compute_requiredby, and check the whole "untouched" localdb by hand
> [this is more suggestive imho, and a _little bit_ faster]

sounds good.

> 3. I need your feedback here: Well, the "universal" alpm_list_find is
> reimplemented in many places, for example we could use this as a
> search-for-satisfier with the help of alpm_depcmp, the only problem is, that
> alpm_depcmp's match is 1, not 0 <- So shall I implement a trivial
> not_alpm_depcmp function as a helper function (my opinion: no) or give a new
> "compare-function-indicates-match-with" parameter to alpm_list_find (my opinion:
> yes).
>

Oh crap, that's confusing. I don't even know which way I prefer, both sound
ugly. But I have a small preference for the helper (helper functions are
generally needed for using alpm_list_find anyway), rather than a confusing
and additional parameter.

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 

Thread Tools




All times are GMT. The time now is 07:15 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org