upack has been discontinued in favor of pgutil upack. The commands are similar, but simpler:
Please post issues or discuss at https://forums.inedo.com/
upack is a command-line tool used to create and install universal packages; you can also see which packages are installed on a machine.
upack is available as a dotnet tool. You can install it using dotnet tool install upack and then execute it using dotnet upack.
If you don't want to use upack as a dotnet tool, you can download it from the GitHub Releases Page instead. You can either download a self-contained binary that targets your specific operating system, or a generic distribution that requires an installed .net version.
Self-contained OS-specific downloads have no external dependencies.
upack «command»
When running the .NET Core version of upack on Linux, you will need to use dotnet upack.dll instead of upack.
dotnet upack.dll «command»
Where command is one of the following:
Creates a new universal package using specified metadata and source directory.
upack pack «source» [--metadata=«metadata»] [--targetDirectory=«targetDirectory»] [--group=«group»] [--name=«name»] [--version=«version»] [--title=«title»] [--description=«description»] [--icon=«icon»]
source- Directory containing files to add to the package.metadata- Path of a valid upack.json metadata file.targetDirectory- Directory where the .upack file will be created. If not specified, the current working directory is used.group- Package group. If metadata file is provided, value will be ignored.name- Package name. If metadata file is provided, value will be ignored.version- Package version. If metadata file is provided, value will be ignored.title- Package title. If metadata file is provided, value will be ignored.description- Package description. If metadata file is provided, value will be ignored.icon- Icon absolute Url. If metadata file is provided, value will be ignored.
Pushes a universal package to the specified feed.
upack push «package» «target» [--user=«authentication»]
package- Path of a valid .upack file.target- URL of a upack API endpoint. If not specified, theUPACK_FEEDenvironment variable is used.user- Credentials to use for servers that require authentication. This can be either«username»:«password»orapi:«api-key»
Extracts the contents of a universal package to a directory.
upack unpack «package» «target» [--overwrite]
package- Path of a valid .upack file.target- Directory where the contents of the package will be extracted.overwrite- When specified, overwrite files in the target directory.
Downloads the specified universal package and extracts its contents to a directory.
upack install «package» [«version»] --source=«source» --target=«target» [--user=«authentication»] [--comment=«comment»] [--overwrite] [--prerelease] [--userregistry] [--unregistered] [--cache]
package- Package name and group, such as group/name.version- Package version. Supports wildcards (*). If not specified, the latest version is retrieved.source- URL of a upack API endpoint. If not specified, theUPACK_FEEDenvironment variable is used.target- Directory where the contents of the package will be extracted.user- Credentials to use for servers that require authentication. This can be either«username»:«password»orapi:«api-key». If not specified, theUPACK_USERenvironment variable is used.overwrite- When specified, Overwrite files in the target directory.prerelease- When version is not specified, will install the latest prerelase version instead of the latest stable version.comment- The reason for installing the package, for the local registry.userregistry- Register the package in the user registry instead of the machine registry.unregistered- Do not register the package in a local registry.cache- Cache the contents of the package in the local registry.
Update the specified universal package.
upack update «package» [«version»] --source=«source» --target=«target» [--user=«authentication»] [--comment=«comment»] [--prerelease] [--userregistry] [--unregistered] [--cache] [--force] [--check]
package- Package name and group, such as group/name.version- Package version. Supports wildcards (*). If not specified, the latest version is retrieved.source- URL of a upack API endpoint. If not specified, the URL in registry orUPACK_FEEDenvironment variable is used.target- (Optional) Directory where the package is installed.user- Credentials to use for servers that require authentication. This can be either«username»:«password»orapi:«api-key». If not specified, theUPACK_USERenvironment variable is used.prerelease- When version is not specified, will install the latest prerelase version instead of the latest stable version.comment- The reason for updating the package, for the local registry.userregistry- Register the package in the user registry instead of the machine registry.unregistered- Do not register the package in a local registry.cache- Cache the contents of the package in the local registry.clean- Delete the directory of the package to perform a clean update.force- Force the update even if it's already up-to-date.check- Checks for new package update.
Remove the specified universal package.
upack remove «package» --target=«target» [--userregistry] [--rmregistry]
package- Package name and group, such as group/name.target- (Optional) Directory where the package to be removed is located.userregistry- Use this if you registered the package installation using the user registry instead of the machine registry.rmregistry- Use this if you need to remove a remaining registry from a package that has been deleted without using the tool. The command will still check if the package exists to remove it as well.
Downloads a universal package from a feed without installing it.
upack get «package» [«version»] --source=«source» --target=«target» [--user=«authentication»] [--overwrite] [--prerelease]
package- Package name and group, such as group/name.version- Package version. Supports wildcards (*). If not specified, the latest version is retrieved.source- URL of a upack API endpoint. If not specified, theUPACK_FEEDenvironment variable is used.target- Directory where the contents of the package will be extracted.user- Credentials to use for servers that require authentication. This can be either«username»:«password»orapi:«api-key». If not specified, theUPACK_USERenvironment variable is used.overwrite- When specified, overwrite files in the target directory.prerelease- When version is not specified, will download the latest prerelase version instead of the latest stable version.
Lists packages installed in the local registry.
upack list [--userregistry]
userregistry- List packages in the user registry instead of the machine registry.
Creates a new universal package by repackaging an existing package with a new version number and audit information.
upack repack «source» [--newVersion=«newVersion»] [--targetDirectory=«targetDirectory»] [--note=«auditNote»] [--overwrite]
source- The path of the existing upack file.newVersion- New package version to use.targetDirectory- Directory where the .upack file will be created. If not specified, the current working directory is used.note- A description of the purpose for repackaging that will be entered as the audit note.overwrite- Overwrite existing package file if it already exists.
Verifies that a specified package hash matches the hash stored in a universal feed.
upack verify «package» «source» [--user=«authentication»]
package- Path of a valid .upack file.source- URL of a upack API endpoint. If not specified, theUPACK_FEEDenvironment variable is used.user- Credentials to use for servers that require authentication. This can be either«username»:«password»orapi:«api-key». If not specified, theUPACK_USERenvironment variable is used.
Calculates the SHA1 hash of a local package and writes it to standard output.
upack hash «package»
package- Path of a valid .upack file.
Displays metadata for a remote universal package.
upack metadata «package» [«version»] --source=«source» [--user=«authentication»] [--file=«file»]
package- Package name and group, such as group/name.version- Package version. Supports wildcards (*). If not specified, the latest version is retrieved.source- URL of a upack API endpoint. If not specified, theUPACK_FEEDenvironment variable is used.user- Credentials to use for servers that require authentication. This can be either«username»:«password»orapi:«api-key». If not specified, theUPACK_USERenvironment variable is used.file- The metadata file to display relative to the .upack root; the default is upack.json.
Outputs the installed version of upack.
upack version