Permalink
Commits on Feb 12, 2012
  1. Support bash variable substitution for dependency resolution

    It is perfectly valid for PKGBUILDS to make use of bash variable substitution.
    For instance, a look at lib32-curl's PKGBUILD gives us these few interesting
    lines:
    
    _pkgbase=curl
    pkgname=lib32-$_pkgbase
    depends=('lib32-zlib' 'lib32-openssl' 'ca-certificates' 'lib32-libssh2'
    		 "${_pkgbase}")
    
    The depends array is parsed by powaur for dependency resolution. And this
    results in us trying to resolve a "${_pkgbase}" package, which fails.
    
    Implement bash variable substitution to enable us to resolve dependencies
    listed as bash variables.
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Feb 12, 2012
Commits on Jan 29, 2012
  1. Provides: Cast alpm_list contents to alpm_depend_t *

    In libalpm 6, alpm_pkg_get_provides returns an alpm list containing pointers
    to internal strings.
    
    In libalpm 7, alpm_pkg_get_provides returns an alpm list containing pointers
    to alpm_depend_t *
    
    When powaur is building up trees for provides, this wrong casting to strings
    causes us to write garbage into the trees instead of the package names,
    resulting in a segfault when we search the provides trees during dependency
    resolution.
    
    This issue was originally reported by ato10 at:
    #9
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jan 29, 2012
Commits on Jan 25, 2012
  1. Add missing parse_powaur_config call to parse powaur.conf in $HOME

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jan 25, 2012
Commits on Jan 24, 2012
  1. v0.1.6

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jan 24, 2012
  2. Updated to use libalpm 7

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jan 24, 2012
Commits on Jan 10, 2012
  1. Add -larchive flag

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jan 10, 2012
Commits on Aug 29, 2011
  1. Add NoConfirm config file option

    tadzik committed with Aug 10, 2011
  2. Reorder args and config file parsing

    Change the order of option parsing from:
    1. Parse command line arguments
    2. Parse powaur configuration files
    3. Parse pacman.conf
    
    To:
    
    1. Parse pacman.conf
    2. Parse powaur configuration files
    3. Parse command line arguments
    
    In addition, correct a bug in restoring to non-color functions in colors_setup
    and expose colors_setup so that we only setup coloured output after command line
    argument parsing is done.
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Aug 29, 2011
  3. Add check_debug_flags to get debug output asap

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Aug 29, 2011
Commits on Jul 10, 2011
  1. v0.1.5.1

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jul 10, 2011
  2. Allow uppercase user input for questions

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jul 10, 2011
Commits on Jun 28, 2011
  1. v0.1.5

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 28, 2011
  2. Change pkgpair_print to pkgpair_print_color

    pkgpair_print is removed from hashdb.c and hashdb.h. In turn, a static,
    colorized version of the same function is introduced in query.c as it is only
    used by --list-aur
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 28, 2011
  3. Fix indentation for -h

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 28, 2011
  4. Add --noconfirm option

    The --noconfirm option will skip all questions. This option is also passed down
    to makepkg.
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 28, 2011
  5. Fix segfault when downloading fails during dependency resolution

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 28, 2011
  6. -S: Colorize and block print final targets

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 28, 2011
  7. -S: Only resolve new / outdated AUR packages

    Currently, -S resolves dependencies of the target AUR packages and continues to
    resolve those packages' dependencies, until all dependencies are resolved.
    
    However, it is unnecessary to resolve dependencies for locally installed,
    packages found in sync databases or up-to-date installed AUR packages. The new
    dependency resolution algorithm does exactly that and only resolves dependencies
    for new / out-of-date AUR packages.
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 28, 2011
  8. Change FORCE_DL and NOFORCE

    The FORCE_DL and NOFORCE enum is supplied to build_dep_graph for dependency
    resolution purposes. When set to NOFORCE, PKGBUILDs for up to date AUR packages
    will not be downloaded. When set to FORCE_DL, PKGBUILDS will be downloaded even
    for up to date AUR packages.
    
    With this patch, NOFORCE is renamed to RESOLVE_IMMEDIATE and FORCE_DL is renamed
    to RESOLVE_THOROUGH. This is to prepare for an upcoming series which slightly
    modifies the dependency resolution algorithm.
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 28, 2011
  9. Makefile.in : Update deps on graph.h

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 25, 2011
  10. Report packages involved in cyclic deps during -Su

    When cyclic dependencies are detected during dependency resolution, a rather
    unhelpful "Cyclic dependencies detected!" message was produced without letting
    us know what packages were involved in the cycle.
    
    This patch shows the 2 packages which form a cycle in our dependency graph.
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 25, 2011
  11. Shortcircuit for -Su when target list is empty

    The "Resolving dependencies... Please wait" message is displayed when target
    list is empty for the -Su option. In addition, there is unnecessary changing
    of directories and creation of data structures. Remove these when the target
    list is empty.
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 25, 2011
  12. Fix -Su reinstall summary string

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 25, 2011
  13. Add --list-aur option

    --list-aur will list all installed AUR packages
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 24, 2011
  14. Add hash_walk function to HASH_TABLE

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 24, 2011
  15. Style cleanup

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 15, 2011
  16. graph: use unsigned int for sizes

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 15, 2011
  17. Make yajl_init static

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 15, 2011
  18. parse_bash_array: use strtrim_ver

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 15, 2011
  19. Remove outdated TODO comments

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 15, 2011
  20. Remove deprecated functions

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 15, 2011
Commits on Jun 26, 2011
  1. v0.1.4.1

    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 26, 2011
  2. Print immediate dependencies for -S

    When installing new packages / checking outdated AUR packages, the entire
    dependency graph is printed after dependency resolution. The graph can be huge
    when syncing a lot of packages and as such, leads to unnecessary clutter.
    
    Now, the dependency graph will only be printed when the --debug option is
    supplied. Immediate dependencies will be printed regardless of the --debug
    option. This gives the user a clearer view as to what will be sync'ed and
    significantly reduces output.
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 26, 2011
  3. Add PW_LOG_VDEBUG log level

    Debug messages are printed when PW_LOG_DEBUG is passed as the log level to the
    pw_*printf functions, provided that the relevant bit is set in config->loglvl .
    However, the debug messages are prefixed with "debug: ". This effectively
    prevents the printing of debug messages broken into small pieces since there
    will be unnecessary "debug: " prefixed before each piece of message.
    
    The PW_LOG_VDEBUG log level is introduced to solve this problem. When the user
    passes the --debug option on the command line, the bitmask in config->loglvl is
    OR'ed with both PW_LOG_DEBUG and PW_LOG_VDEBUG. Use the PW_LOG_VDEBUG as the
    log level when debug messages do not need / cannot be prefixed with "debug: ".
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 26, 2011
  4. Add per user temporary directory

    Currently, the default directory powaur uses to download packages and sources
    is /tmp/powaur . With this patch, the default directory becomes:
    
    /tmp/powaur-username
    
    Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
    committed Jun 26, 2011