---
name: "parrot_package_create"
section: "1"
platform: "linux"
package: "coop-computing-tools"
version: "1:7.14.5-1+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/parrot_package_create"
---

# parrot\_package\_create(1)

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

## NAME

**parrot\_package\_create** - generate a package based on the accessed files and the preserved environment variables

## SYNOPSIS

FCparrot\_package\_create \[options\]FT

## DESCRIPTION

After recording the accessed files and environment variables of one program with the help of the FC--name-listFT parameter and the FC--env-listFT of FCparrot\_runFT, FCparrot\_package\_createFT 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.

## OPTIONS

- **-a,--add=*\<path\>***

  The path of an existing package.

- **-e,--env-list=*\<path\>***

  The path of the environment variables.

- **--new-env=*\<path\>***

  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 to be sent to stdout (":stdout") instead.

- **-h,--help**

  Show the help info.

## EXIT STATUS

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

## EXAMPLES

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 FCparrot\_runFT, FCparrot\_package\_createFT and FCparrot\_package\_runFT to generate one package for your experiment and repeat your experiment within your package.

Step 1: Run your program under FCparrot\_runFT 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 FCparrot\_runFT. 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 FCparrot\_runFT:

```

```

-

  % exit

Step 2: Using FCparrot\_package\_createFT 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 FCparrot\_package\_runFT:

```

```

-

  % 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.

## COPYRIGHT

The Cooperative Computing Tools are Copyright (C) 2022 The University of Notre Dame.  This software is distributed under the GNU General Public License.  See the file COPYING for details.

## SEE ALSO

- •

  **Cooperative Computing Tools Documentation**

- •

  **Parrot User Manual**

- •

  **[parrot\_run(1)](/parrot_run/1.md)** **[parrot\_cp(1)](/parrot_cp/1.md)** **[parrot\_getacl(1)](/parrot_getacl/1.md)**  **[parrot\_setacl(1)](/parrot_setacl/1.md)**  **[parrot\_mkalloc(1)](/parrot_mkalloc/1.md)**  **[parrot\_lsalloc(1)](/parrot_lsalloc/1.md)**  **[parrot\_locate(1)](/parrot_locate/1.md)**  **[parrot\_timeout(1)](/parrot_timeout/1.md)**  **[parrot\_whoami(1)](/parrot_whoami/1.md)**  **[parrot\_mount(1)](/parrot_mount/1.md)**  **[parrot\_md5(1)](/parrot_md5/1.md)**  **[parrot\_package\_create(1)](/parrot_package_create/1.md)**  **[parrot\_package\_run(1)](/parrot_package_run/1.md)**  **[chroot\_package\_run(1)](/chroot_package_run/1.md)**
