Hi,
when installing a PEAR file, currently the InstallationController API
overrides all available data in the target installation directory. The
directory content isn't removed before.
So it can happen that old class files or descriptor files that are never
valid are still in the installation directory since they will not be
removed when the new stuff is installed. Existing files with the same
name will be overridden.
So my plan was to clean the target installation directory before the new
PEAR file is installed to it. If the target install directory should be
cleaned can be specified with an additional parameter when using the
PEAR installer API.
An known issue with that approach is, that after installing a PEAR file
to a directory, the same PEAR file cannot be installed again to the same
directory with the same JVM since the JVM has locked the jars so they
cannot be deleted when the directory for the next installation should be
cleaned. To do that, the JVM must be restarted, or another installation
directory must be used. The JVM locks the jar files when the
installation verification is executed.
What do others think about this approach?
-- Michael