Redistribution utility


This utility allows a user to create a new MAT distribution with a new or updated task in it, based on an existing MAT distribution.


This utility can only be run on Unix.

% python $MAT_PKG_HOME/build/
Usage: [ --remove_task <task_dir> ]+ [ --task_dir <dir>[:<cvs_version>[:<dist_settings>]] ]+ orig_dist_zip outdir bundle_name


--task_dir <dir>[:<cvs_version>[:<dist_settings>]]
The directory containing a well-structured MAT task, plus other possible control options (see below). May be repeated. If there is already a task directory in the existing distribution named <dir>, it will be removed and replaced with this one.
--remove_task <task_dir>
The <task_dir> is a directory within src/tasks in the zip file. May be repeated. If you provide this argument, this directory, and the task it corresponds to, will be removed from the output distribution.
A path to the original MAT zip file which you received
The directory in which to deposit the new distribution
The name of the new distribution (the actual zip file will be <bundle_name>.zip, and the name of the toplevel directory in the zip file will be bundle_name.

The additional decorations to the --task option are as follows:

If the task directory is under CVS version control, this is the CVS tag you want. This facility is not available for any other version control system.
A comma-separated sequence of <key>=<val> settings, which are passed to the distribute function in the file in your task, if such a file and function exist. We provide this information for completeness; we do not provide any further details as of right now about how to customize your distribution using this facility. See the source code for

Example 1

Let's say you received the distribution /my/downloads/, and you want to add the /path/to/myTask directory, creating the distribution /my/dist/

% python $MAT_PKG_HOME/build/ --task_dir /path/to/myTask \
/my/downloads/ /my/dist MAT_1_2_plus_myTask

Example 2

Let's say you received /my/downloads/, and you want to remove myTask from the package you create:

% python $MAT_PKG_HOME/build/ --remove_task myTask \
/my/downloads/ /my/dist MAT_1_2_without_myTask