[pacman-dev] [GIT] The official pacman repository branch, master, updated. v4.0.1-118-g6513b0b
Dan McGee
dan at archlinux.org
Mon Jan 2 20:46:52 EST 2012
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 6513b0ba591e44b4da75aa924046a34b8a269e9d (commit)
via f1d9b0a74a9e38dc9e6153eac76f4c2482fd24aa (commit)
via 0b9cd9448c16dcf5e21ee8822698dbe908db520f (commit)
via 6507fd6bf0a05dfd65bc035ffca1f8941b784801 (commit)
via 177beb91c96a078f729bd11c2f6c1144082e69e3 (commit)
via 29e94dc065c8d85139ec16c462d835ad63f87984 (commit)
via eb5cb8ec02bf31b4a5e84ea38c196dae67bf2aac (commit)
via 496f7b4f642af43beeafc1476294da56b433a587 (commit)
via 566f5210ce23e1d869472c49ae87ab56cf577468 (commit)
via 2ce4f85f1ecea37d2c2ab2ea7393dc04adeeaa1d (commit)
via 819c28bf8c666a61ef3b0a016dcbd6962ecaf4e4 (commit)
via 627cf6bca88c241d7e0d5563db46f87f64792653 (commit)
via 39cb865e71432fbce826d7526b1006be0e036761 (commit)
via 7113ea4e08fdc9ca12b8e7a4829d749923029941 (commit)
from b264fb9e9ddcc31dc8782390309421965e507383 (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 6513b0ba591e44b4da75aa924046a34b8a269e9d
Merge: 0b9cd94 f1d9b0a
Author: Dan McGee <dan at archlinux.org>
Date: Mon Jan 2 19:44:00 2012 -0600
Merge branch 'maint'
Conflicts:
doc/Makefile.am
commit 0b9cd9448c16dcf5e21ee8822698dbe908db520f
Author: Dan McGee <dan at archlinux.org>
Date: Mon Jan 2 13:29:40 2012 -0600
pkghash improvements/modifications
This patch changes a variety of small things related to our pkghash
implementation with an eye toward performance, especially on native
32-bit systems.
* Use `unsigned int` rather than `size_t` for hash sizes. We already
return ERANGE for any attempted creation of a hash greater than 1
million elements, so unsigned int is more than large enough for our
purposes. Switching to this type allows 32 bit systems to do native
math without helper functions from libgcc.
* _alpm_pkghash_create() now internally adds extra padding for
additional array elements, rather than that being the responsibility of
the caller.
* #define values are moved into static const values in pkghash.c; a new
`stride` value is also extracted (but remains set at 1).
* Division and modulus operators are removed from the normal find and
add paths if possible. We store the upper limit of the number of
elements in the hash so we no longer need to calculate this every
element addition. When doing wraparound position calculations, we only
apply the modulus operator if the value is greater than the number of
buckets.
Signed-off-by: Dan McGee <dan at archlinux.org>
commit 177beb91c96a078f729bd11c2f6c1144082e69e3
Author: Dan McGee <dan at archlinux.org>
Date: Mon Jan 2 13:17:44 2012 -0600
Minor optimization on likely sync package lookup
We have a name_hash value here, so add a cheap compare of it before
falling to the strcmp() call.
Signed-off-by: Dan McGee <dan at archlinux.org>
commit 29e94dc065c8d85139ec16c462d835ad63f87984
Author: Allan McRae <allan at archlinux.org>
Date: Mon Jan 2 14:31:46 2012 +1000
be_package.c: fix compiler warning
be_package.c: In function 'parse_descfile':
be_package.c:181:28: error: comparison between signed and unsigned
integer expressions [-Werror=sign-compare]
ptr - key + 2 is guaranteed to be > 0 so we can cast to size_t
Signed-off-by: Allan McRae <allan at archlinux.org>
Signed-off-by: Dan McGee <dan at archlinux.org>
commit eb5cb8ec02bf31b4a5e84ea38c196dae67bf2aac
Author: Dan McGee <dan at archlinux.org>
Date: Mon Jan 2 12:52:00 2012 -0600
Remove unnecessary counters in file removal code
Now that filelist arrays know their own size, we don't need to do the
bookkeeping we used to do when they were linked lists. Remove some of
the counter variables and use math instead.
Signed-off-by: Dan McGee <dan at archlinux.org>
commit 496f7b4f642af43beeafc1476294da56b433a587
Author: Dan McGee <dan at archlinux.org>
Date: Sat Dec 31 20:25:53 2011 -0600
alpm_list_msort: inline alpm_list_nth() call
This reduces the number of functions we call by log(n) in this function,
and the inlined version is trivial and barely increases the size of the
function.
Signed-off-by: Dan McGee <dan at archlinux.org>
commit 566f5210ce23e1d869472c49ae87ab56cf577468
Author: Dan McGee <dan at archlinux.org>
Date: Sat Dec 31 19:51:48 2011 -0600
contrib: add install rules for bash and zsh completion
Uninstall rules are provided as well.
Signed-off-by: Dan McGee <dan at archlinux.org>
commit 2ce4f85f1ecea37d2c2ab2ea7393dc04adeeaa1d
Author: Dan McGee <dan at archlinux.org>
Date: Sat Dec 31 19:18:46 2011 -0600
Convert get_update_timediff to integer return value
We don't need absolute floating point precision at all here; we can
stick to integer land and use milliseconds which are precise enough for
our purposes. This also removes most floating point math out of the
non-update code path.
Signed-off-by: Dan McGee <dan at archlinux.org>
commit 819c28bf8c666a61ef3b0a016dcbd6962ecaf4e4
Author: Dan McGee <dan at archlinux.org>
Date: Fri Dec 30 12:17:52 2011 -0600
Only compile delta regex once
This reduces the number of regcomp() calls when parsing delta entries in
the database from once per entry to once for the entire context handle
by storing the compiled regex data on the handle itself. Just as we do
with the cURL handle, we initialize it the first time it is needed and
free it when releasing the handle.
A few other small tweaks to the parsing function also take place,
including using the stack to store the transient and short file size
string while parsing it.
When parsing a sync database with 1378 delta entries, this reduces the
time of a `pacman -Sl deltas` operation by 50% from 0.22s to 0.12s.
Signed-off-by: Dan McGee <dan at archlinux.org>
commit 627cf6bca88c241d7e0d5563db46f87f64792653
Author: Dan McGee <dan at archlinux.org>
Date: Thu Dec 29 15:17:04 2011 -0600
Fix delta parsing
In commit 4c5e7af32f9, we changed this code to use the regex gathered
substrings. However, we failed to correctly store the delta file name
(leaking memory), as well as freeing the temporary string used to hold
the file size string.
Signed-off-by: Dan McGee <dan at archlinux.org>
commit 39cb865e71432fbce826d7526b1006be0e036761
Author: Dan McGee <dan at archlinux.org>
Date: Thu Dec 29 11:24:38 2011 -0600
Simplify hash function to a single multiplication
More than likely the compiler will do the three operation breakdown we
had here before (2 shifts + subtraction), but let the compiler do the
optimizations and make the actual operation more obvious. This actually
slightly shrinks the function binary size, likely due to instruction
reordering or something.
Signed-off-by: Dan McGee <dan at archlinux.org>
-----------------------------------------------------------------------
Summary of changes:
contrib/Makefile.am | 10 ++++
doc/Makefile.am | 6 +-
lib/libalpm/alpm_list.c | 21 +++++---
lib/libalpm/be_local.c | 3 +-
lib/libalpm/be_package.c | 2 +-
lib/libalpm/be_sync.c | 9 ++--
lib/libalpm/db.c | 6 +-
lib/libalpm/delta.c | 34 +++++++-----
lib/libalpm/delta.h | 2 +-
lib/libalpm/handle.c | 3 +
lib/libalpm/handle.h | 5 ++
lib/libalpm/pkghash.c | 114 ++++++++++++++++++++++++++----------------
lib/libalpm/pkghash.h | 14 +++---
lib/libalpm/remove.c | 8 +--
lib/libalpm/util.c | 2 +-
src/pacman/callback.c | 51 ++++++++++--------
src/pacman/util.h | 3 -
test/pacman/tests/sync305.py | 67 ++++++++++++++++++++++++
test/pacman/tests/sync306.py | 63 +++++++++++++++++++++++
19 files changed, 305 insertions(+), 118 deletions(-)
create mode 100644 test/pacman/tests/sync305.py
create mode 100644 test/pacman/tests/sync306.py
hooks/post-receive
--
The official pacman repository
More information about the pacman-dev
mailing list