[PATCH] Uninstall .dll last, reinstall first - final version

Warren Young warren@etr-usa.com
Wed May 4 02:37:00 GMT 2005


Igor Pechtchanski wrote:

> Circular dependencies are not bugs.  

Well, there are two types of circular dependencies, and they're only a 
problem in one of these instances.

Circular dependencies of packages in operation is not a problem.  That 
is, you can say that there is Package A which uses facilities in Package 
B, and vice versa, and this is not a problem.  These two packages simply 
have be installed together or uninstalled together to avoid a dependency 
problem.

Circular dependencies during the [un]installation process _is_ a 
problem.  This is where we get the old problem of cygwin.dll or bash 
being removed during an upgrade before all the uninstall scripts for 
other packages are run.  This requires a different dependency tree than 
required to solve the above problem.

The distinction is this: it can't be said that 'man' requires /bin/sh in 
operation, but its uninstall script does.  We shouldn't demand that bash 
be installed along with man, because any of several packages can provide 
/bin/sh.  But if bash is the one providing /bin/sh on your system, it 
has to be removed after man during an upgrade where both packages have 
been updated.



More information about the Cygwin-apps mailing list