[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