[pacman-dev] [PATCH] Fix bug 9395 by allowing pacman to remove unresolvable packages from a transaction
Bryan Ischo
bji-keyword-pacman.3644cb at www.ischo.com
Sun Jan 11 23:25:19 EST 2009
Hi, forgive me if I'm doing this wrong, I'm new to git and this is the
first time I've tried to supply a git patch to this list. My patch is
attached to this email - is that the correct way to send it to the list?
Some notes on this patch:
- It is based on the current git sources instead of the release version
of the code as was my previous patch on this same topic
- It takes into consideration the following feedback from the list on my
previous patch:
- Fixed static function names (static void _alpm_xxx -> static void xxx)
- Removed the prompt that asks the user if they want to un-ignore
packages that have upgrades for the current transaction. The reasoning
is that if the user didn't want to ignore the package, they wouldn't
have put them in their IgnorePkg list, so why ask them during an
upgrade? Instead just expect the user to remove packages from IgnorePkg
that they don't actually want to ignore.
- Removed the NoIgnorePrompt configuration option that I had
previously added since instead I'm just removing that prompt altogether
- Fixed the issue where if a top-level package is depended upon by
unresolvable top-level packages, it would be removed from the
transaction, whereas really it should be retained
- Fixed the infinite loop when there are dependency loops
- Added a few new test cases to pactest: ignore001,ignore002, and
ignore003, which test some new ignore package functionality
- Changed the expected results of some existing test cases
(provision020, provision022, sync021, sync1008, and sync300) because
with the new functionality, pacman succeeds in cases where it used to
fail (simply ignoring packages which cannot be upgraded instead of
issuing an error) even though the results are the same, and also,
because the new behavior means that there is no way to sync a group that
has a package that is ignored in it (it used to work if the user said
'yes' to the prompt that I have removed, now there is no such prompt and
thus no opportunity to un-ignore the offending package)
- And one VERY IMPORTANT note: this change means that the release
version of libalpm needs to be increased, so it should be libalpm.so.4
instead of libalpm.so.3. This is because a new callback prompt was
added and an old one removed. The latter shouldn't affect existing
front-end (they just won't get asked a question that they used to get
asked), but the former will likely break any front-end by sending a
callback with a new "Transaction Conversation" identifier.
Comments welcome!
Thanks,
Bryan
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-Changed-behavior-of-transactions-to-optionally-remov.patch
URL: <http://archlinux.org/pipermail/pacman-dev/attachments/20090112/03a80c5f/attachment-0001.diff>
More information about the pacman-dev
mailing list