We have a custom cygwin mirror for distributing our software and occasionally run into problems where a package that is listed in the setup.ini as being required isn't installed like it should be. For example, xterm is required (eventually) but isn't installed by default. The problem seems to be a limitation in setup.exe: packageversion::set_requirements() has a hardcoded recursion depth of 5, and as best I can tell, xterm for our purposes has a depth of 6. Increasing the limit to 20 allowed xterm to be set to install like it should be.
It occurred to me, without any evidence whatsoever, this limit might also explain the messages on cygwin-users about people who don't get certain required packages installed (such as http://cygwin.com/ml/cygwin/2008-01/msg00439.html) even though they are listed as required. This seems like a harsh recursion limit, especially as the number of Cygwin packages grows; please consider the attached patch (based on CVS HEAD) for a (IMHO) better solution which does not recurse once a particular package has been visited. ChangeLog entry: 2008-06-26 Bryan Thrall <[EMAIL PROTECTED]> * package_meta.cc, package_meta.h, package_version.cc, package_version.h: Keep track of visited packages instead of hardcoding maximum depth to avoid unlimited recursion. -- Bryan Thrall FlightSafety International [EMAIL PROTECTED]
deplimit.patch
Description: deplimit.patch
