This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: [PATCH] Uninstall .dll last, reinstall first - final version
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.