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]

Requirements depth in setup.exe


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 <bryan.thrall@flightsafety.com>

	* 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
bryan.thrall@flightsafety.com
 

Attachment: deplimit.patch
Description: deplimit.patch


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