a prototype installer for prepackaged modules
note: portions of this code are highly inefficient (wrt tar filehandling).
we assume that this will be used infrequently enough that this is not
going to be a problem.
a package file is a tar file that contains the following structure:
ROOTDIR/
METADATA.TXT
a file containing metadata about the package
format: KEY=value, where values include:
PLATFORM, in the form of os/processor (either can be "any")
MODULE, the name of the module, in Module.Submodule format.
VERSION, the version of this module.
MODULE/
any files that need to be installed in the module directory
MODREF/ ???
documentation suitable for inclusion in the modref
INCLUDE/ ???
any pike language include files to be installed
SCRIPTS/
standalone (no bundled dependencies) scripts used to perform custom actions
they receive the installer object (this) and the System.Filesystem object of the
package archive as arguments to the constructor. The method "run()" should
perform the actual action. The run() method should return true or false
to indicate success or failure.
preinstall.pike
postinstall.pike