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]

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


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.

Andy

Attachment: depends.patch
Description: Binary data


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