[pacman-dev] [GIT] The official pacman repository branch, master, updated. v4.0.1-118-g6513b0b
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@archlinux.org> Date: Mon Jan 2 19:44:00 2012 -0600 Merge branch 'maint' Conflicts: doc/Makefile.am commit 0b9cd9448c16dcf5e21ee8822698dbe908db520f Author: Dan McGee <dan@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@archlinux.org> commit 177beb91c96a078f729bd11c2f6c1144082e69e3 Author: Dan McGee <dan@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@archlinux.org> commit 29e94dc065c8d85139ec16c462d835ad63f87984 Author: Allan McRae <allan@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@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org> commit eb5cb8ec02bf31b4a5e84ea38c196dae67bf2aac Author: Dan McGee <dan@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@archlinux.org> commit 496f7b4f642af43beeafc1476294da56b433a587 Author: Dan McGee <dan@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@archlinux.org> commit 566f5210ce23e1d869472c49ae87ab56cf577468 Author: Dan McGee <dan@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@archlinux.org> commit 2ce4f85f1ecea37d2c2ab2ea7393dc04adeeaa1d Author: Dan McGee <dan@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@archlinux.org> commit 819c28bf8c666a61ef3b0a016dcbd6962ecaf4e4 Author: Dan McGee <dan@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@archlinux.org> commit 627cf6bca88c241d7e0d5563db46f87f64792653 Author: Dan McGee <dan@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@archlinux.org> commit 39cb865e71432fbce826d7526b1006be0e036761 Author: Dan McGee <dan@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@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
participants (1)
-
dan@archlinux.org