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 19e07eb8e84dd117061a600abdd9c8fed7391a07 (commit) via 8ff3b87066d35d3518a3cd0bef27b86c3a85e983 (commit) via 0da96abc900560f21c643b255c94a60232f4a24b (commit) via b7db46d610efd5f71d5e4e887fed7a3fd3b3dd86 (commit) via 90e3e026d1236ad89c142b427d7eeb842bbb7ff4 (commit) via 12b55958d8884bd6828e0888ab9dc10d38bcd72f (commit) via 902dfe5900c89461e76f03a3429a867cc93fd418 (commit) via f53d9bab0ef28f2417abb10d1dff4867bf06b8ea (commit) from cd5b029e934476e8ea6dade5798bfa3d6b6ceafd (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 19e07eb8e84dd117061a600abdd9c8fed7391a07 Author: Nagy Gabor <ngaba@bibl.u-szeged.hu> Date: Tue Sep 1 00:25:56 2009 +0200 Re-enable REMOVE_PKGS test in pactest suite With the help of --ask switch it is possible to test remove_unresolvable feature, so I reverted the change of commit f2061c5f on ignore005.py with --ask=32 added. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org> commit 8ff3b87066d35d3518a3cd0bef27b86c3a85e983 Author: Xavier Chantry <shiningxc@gmail.com> Date: Wed Jul 15 19:14:01 2009 +0200 Remove transaction type This basically started with this change : /* Transaction */ struct __pmtrans_t { - pmtranstype_t type; pmtransflag_t flags; pmtransstate_t state; - alpm_list_t *packages; /* list of (pmpkg_t *) */ + alpm_list_t *add; /* list of (pmpkg_t *) */ + alpm_list_t *remove; /* list of (pmpkg_t *) */ And then I have to modify all the code accordingly. commit 0da96abc900560f21c643b255c94a60232f4a24b Author: Nagy Gabor <ngaba@bibl.u-szeged.hu> Date: Tue Jun 9 17:23:46 2009 +0200 Use sync.c for upgrade transaction prepare and commit This patch utilizes the power of sync.c to fix FS#3492 and FS#5798. Now an upgrade transaction is just a sync transaction internally (in alpm), so all sync features are available with -U as well: * conflict resolving * sync dependencies from sync repos * remove unresolvable targets See http://www.archlinux.org/pipermail/pacman-dev/2009-June/008725.html for the concept. We use "mixed" target list, where PKG_FROM_FILE origin indicates local package file, PKG_FROM_CACHE indicates sync package. The front-end can add only one type of packages (depending on transaction type) atm, but if alpm resolves dependencies for -U, we may get a real mixed trans->packages list. _alpm_pkg_free_trans() was modified so that it can handle both target types _alpm_add_prepare() was removed, we use _alpm_sync_prepare() instead _alpm_add_commit() was renamed to _alpm_upgrade_targets() sync.c (and deps.c) was modified slightly to handle mixed target lists, the modifications are straightforward. There is one notable change here: We don't create new upgrade trans in sync.c, we replace the pkgcache entries with the loaded package files in the target list (this is a bit hackish) and call _alpm_upgrade_targets(). This implies a TODO (pkg->origin_data.db is not accessible anymore), but it doesn't hurt anything with pacman front-end, so it will be fixed later (otherwise this patch would be huge). I updated the documentation of -U and I added a new pactest, upgrade090.py, to test the syncdeps feature of -U. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org> commit b7db46d610efd5f71d5e4e887fed7a3fd3b3dd86 Author: Nagy Gabor <ngaba@bibl.u-szeged.hu> Date: Mon Aug 31 23:54:51 2009 +0200 Do not remove conflict by default When a conflict is detected, pacman asks if the user wants to remove the conflicting package. In many cases this is a bad idea. e.g. udev conflicts with initscripts (initscripts<2009.07). Remove initscripts [Y/n] This changes the query to [y/N]. The --noconfirm behavior has been also changed, because it chooses the default answer. Since the yes answer is more interesting in our pactests dealing with conflicts, I inserted '--ask=4' to all of them with one exception: sync042.py tests the no answer. (I also fixed a typo in sync043.py) Original-work-by: Allan McRae <allan@archlinux.org> Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> commit 90e3e026d1236ad89c142b427d7eeb842bbb7ff4 Author: Xavier Chantry <shiningxc@gmail.com> Date: Mon Aug 31 20:17:05 2009 +0200 Re-add the non-user friendly --ask option This re-implements the --ask option which was removed in commit 1ff8e7f364a9f640ada7526384646d510ac29967. This option does not have to be exposed to the user (help,doc,etc), but is very very useful for pactest if we want to have more coverage there. This was rewritten in a smarter way, without code duplication. And with a different behavior : this option is now only used to inverse default behavior to questions. We still use bit operations based on the following struct : /* Transaction Conversations (ie, questions) */ typedef enum _pmtransconv_t { PM_TRANS_CONV_INSTALL_IGNOREPKG = 0x01, PM_TRANS_CONV_REPLACE_PKG = 0x02, PM_TRANS_CONV_CONFLICT_PKG = 0x04, PM_TRANS_CONV_CORRUPTED_PKG = 0x08, PM_TRANS_CONV_LOCAL_NEWER = 0x10, PM_TRANS_CONV_REMOVE_PKGS = 0x20, } pmtransconv_t; for each conv matched, the default answer is inversed. --ask 0 : all default answers are preserved --ask 4 : only conflict question is inversed --ask 63 : all questions are inversed (63 == 1+2+4+8+16+32) Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org> commit 12b55958d8884bd6828e0888ab9dc10d38bcd72f Author: Nagy Gabor <ngaba@bibl.u-szeged.hu> Date: Mon Aug 31 16:20:18 2009 +0200 Add a new reason field to pmconflict_t struct Sometimes "foo conflicts with bar" information is not enough, see this thread: http://bbs.archlinux.org/viewtopic.php?id=77647. That's why I added a new reason field to our pmconflict_t struct that stores the packager- defined conflict that induced the fact that package1 conflicts with package2. I modified the front-end (in callback.c, sync.c, upgrade.c) to print this new information as well. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> commit 902dfe5900c89461e76f03a3429a867cc93fd418 Author: Nagy Gabor <ngaba@bibl.u-szeged.hu> Date: Mon Jul 27 14:21:26 2009 +0200 Change Y/n to y/N with REMOVE_PKGS (remove_unresolvable) callback The main reason for this change is that scripts could not catch the removed targets with -S --noconfirm (the return value was 0). So the effect of a pacman command may have differed from the expected one. Moreover, for my taste the default no answer is better (I wanted to install the specified targets, not a subset of them). I had to change some pactest files as well, because now the default behavior is not to remove unresolvable targets. In fact, the only pactest file that tested this feature was ignore005.py. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org> commit f53d9bab0ef28f2417abb10d1dff4867bf06b8ea Author: Xavier Chantry <shiningxc@gmail.com> Date: Mon Sep 7 20:58:49 2009 +0200 Allow '-Su foo' operation This implements FS#15581 '-Su foo' should be more or less equivalent do '-Su ; -S foo' Note : I moved a block of code to a new process_target function Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org> ----------------------------------------------------------------------- Summary of changes: doc/pacman.8.txt | 7 +- lib/libalpm/add.c | 187 +-------------- lib/libalpm/add.h | 3 +- lib/libalpm/alpm.h | 19 +- lib/libalpm/be_files.c | 3 +- lib/libalpm/conflict.c | 26 ++- lib/libalpm/conflict.h | 3 +- lib/libalpm/deps.c | 2 +- lib/libalpm/package.c | 18 +- lib/libalpm/remove.c | 174 +++++++++------ lib/libalpm/remove.h | 5 +- lib/libalpm/sync.c | 176 ++++++--------- lib/libalpm/trans.c | 381 ++++++++++++++---------------- lib/libalpm/trans.h | 9 +- pactest/tests/depconflict110.py | 8 +- pactest/tests/ignore002.py | 2 +- pactest/tests/ignore003.py | 2 +- pactest/tests/ignore004.py | 2 +- pactest/tests/ignore005.py | 2 +- pactest/tests/provision020.py | 2 +- pactest/tests/provision022.py | 2 +- pactest/tests/sync042.py | 6 +- pactest/tests/sync043.py | 6 +- pactest/tests/sync044.py | 2 +- pactest/tests/sync1004.py | 2 +- pactest/tests/sync1008.py | 2 +- pactest/tests/{sync110.py => sync150.py} | 9 +- pactest/tests/sync300.py | 2 +- pactest/tests/sync890.py | 2 +- pactest/tests/sync892.py | 2 +- pactest/tests/sync893.py | 2 +- pactest/tests/sync895.py | 2 +- pactest/tests/sync896.py | 2 +- pactest/tests/sync897.py | 2 +- pactest/tests/sync899.py | 2 +- pactest/tests/sync900.py | 2 +- pactest/tests/sync901.py | 2 +- pactest/tests/sync992.py | 2 +- pactest/tests/sync999.py | 2 +- pactest/tests/upgrade051.py | 4 +- pactest/tests/upgrade090.py | 28 +++ src/pacman/callback.c | 26 ++- src/pacman/conf.h | 2 + src/pacman/pacman.c | 7 + src/pacman/remove.c | 10 +- src/pacman/sync.c | 159 +++++++------ src/pacman/upgrade.c | 76 +++++-- src/pacman/util.c | 35 +--- src/pacman/util.h | 3 +- 49 files changed, 655 insertions(+), 779 deletions(-) copy pactest/tests/{sync110.py => sync150.py} (68%) create mode 100644 pactest/tests/upgrade090.py hooks/post-receive -- The official pacman repository