parrot_package_create - generate a package based on the accessed files and the preserved environment variables


parrot_package_create [options]


After recording the accessed files and environment variables of one program with the help of the --name-list parameter and the --env-list of parrot_run, parrot_package_create can generate a package containing all the accessed files. You can also add the dependencies recorded in a new namelist file into an existing package.


-a,--add <path>
The path of an existing package.
-e,--env-list <path>
The path of the environment variables.
--new-env The relative path of the environment variable file under the package.
-n,--name-list <path>
The path of the namelist list.
-p,--package-path <path>
The path of the package.
-d,--debug <flag>
Enable debugging for this sub-system.
-o,--debug-file <file>
Write debugging output to this file. By default, debugging is sent to stderr (":stderr"). You may specify logs be sent to stdout (":stdout"), to the system syslog (":syslog"), or to the systemd journal (":journal").
-h, --help Show the help info.


On success, returns zero. On failure, returns non-zero.


To generate the package corresponding to namelist and envlist:
% parrot_package_create --name-list namelist --env-list envlist --package-path /tmp/package
After executing this command, one package with the path of /tmp/package will be generated.

Here is a short instruction about how to make use of parrot_run, parrot_package_create and parrot_package_run to generate one package for your experiment and repeat your experiment within your package.

Step 1: Run your program under parrot_run and using --name-list and --env-list parameters to record the filename list and environment variables.

% parrot_run --name-list namelist --env-list envlist /bin/bash
After the execution of this command, you can run your program inside parrot_run. At the end of step 1, one file named namelist containing all the accessed file names and one file named envlist containing environment variables will be generated. After everything is done, exit parrot_run:
% exit

Step 2: Using parrot_package_create to generate a package.

% parrot_package_create --name-list namelist --env-path envlist --package-path /tmp/package
At the end of step 2, one package with the path of /tmp/package will be generated.

Step 3: Repeat your program within your package.

% parrot_package_run --package-path /tmp/package --shell-type bash ...
After the execution of this command, one shell will be returned, where you can repeat your original program (Please replace --shell-type parameter with the shell type you actually used). After everything is done, exit parrot_package_run:
% exit
You can also add the dependencies recorded in a new namelist file, namelist1, into an existing package:
% parrot_package_create --name-list namelist1 --env-list envlist1 --new-env envlist1  --add /tmp/package
After executing this command, all the new dependencies mentioned in namelist1 will be added into /tmp/package, the new envlist, envlist1, will also be added into /tmp/package with the name specified by the --new-env option.


The Cooperative Computing Tools are Copyright (C) 2003-2004 Douglas Thain and Copyright (C) 2005-2015 The University of Notre Dame. This software is distributed under the GNU General Public License. See the file COPYING for details.


CCTools 6.0.0 from source released on