This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Stop automatic dependency selection on setup.exe chooser screen


On Thu, Jul 22, 2010 at 10:06:23PM +0100, Andy Koppe wrote:
>Hi,
>
>Here's a small setup.exe patch addressing the issues reported at
>http://cygwin.com/ml/cygwin/2010-07/msg00448.html.
>
>The underlying problem here is that automatic dependency selection is
>being done while the user is still choosing packages, without keeping
>track of which packages were added automatically. Hence when the user
>decides not to install a package after all, its dependencies will
>remain selected. Also, cycling through the package actions to get to
>'Uninstall' repeatedly invokes the dependency resolver, which makes it
>nearly impossible to uninstall a group of packages with non-trivial
>dependencies between them.
>
>Making instant dependency updates work properly both for adding and
>removing packages would be a major undertaking, and I think in their
>current state they cause more problems than they're worth. Therefore,
>this patch simply disables dependency updates during package
>selection.
>
>Instead, the 'Resolve Dependencies' screen which would usually have
>been skipped will get more use. This has the nice feature that it
>explicitly tells users what packages are being added and why. So as
>not to needlessly scare users, the patch drops the "Warning!" from
>"Warning! Unmet Dependencies Found" at the top of the screen.
>
>I checked that the 'Resolve Dependencies' screen does not appear for a
>fresh default installation. Going back from the 'Resolve Dependencies'
>to package selection also appears to be working fine.
>
>ChangeLog:
>	* PickPackageLine.cc (PickPackageLine::{click,set_action}):
>	Don't trigger automatic package selection when clicking on
>	packages or categories on chooser screen.
>	* PickCategoryLine.cc (PickCategoryLine::click): No more need to
>	prepare for automatic package selection with markUnVisited().
>	* res.rc: Drop "Warning!" from caption of Resolve Dependencies
>	screen.

This is awesome.  Thanks Andy.  I was going to look into the problem
this weekend but you beat me to it and I'm very grateful.  I'm surprised
by how simple the change was to achieve this effect.

One minor thing:  Just send the ChangeLog as the above.  Don't include it
as a patch.  It rarely applies cleanly.

Also I wonder if we can come up with better wording than "Unmet dependencies
found".  Maybe something like "The following packages were added to satisfy
dependencies of your selection".  But maybe that's too wordy.

There's no reason to hold up checking in the patch to quibble about wording
but I would be interested in hearing if anyone has any ideas - even if it's
just "the current wording is just fine".

cgf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]