Usage

Packthing expects all generated binaries to have different names. If they do not, built binaries may clobber others. This issue may be addressed in the future.

Positional Arguments

TARGET

The target package type to build.

This value must be specified in order for packthing to run.

$ packthing run

Optional Arguments

-h, --help

Shows the help printout and exits.

-j N, --jobs N

Uses a maximum of N jobs for builders that support parallel jobs.

-r, --refresh

Refreshes the repository checkout.

After checking out the first time, Packthing does not attempt to update the project unless this object is specified. Use this switch to git pull changes from remote repositories.

Overriding Default Settings

Global Defaults

Packthing sets various values by default, but many of them can be overriden by command line switches.

-f FILE

The YAML config file to use for the build.

By default, Packthing looks in the current directory for a file called packthing.yml. This option is useful for creating multiple build configurations.

$ packthing -f otherpackfile.yml deb
-C DIR

Changes to he directory DIR before running Packthing.

$ packthing -C myproject/ deb
--version VERSION

Sets the application version.

The version must start with a digit. If a version is not provided, Packthing will use the version provided by the packthing.yml file, or the name of the most recent tag in the master git repository.

$ packthing --version 1.2.3 run

Platform-Specific Defaults

--system SYSTEM

Set platform system (linux, windows, …​)

Note

This setting currently does nothing.

--arch ARCH

Set platform machine (i686, amd64, …​)

This setting allows you to manually specify the architecture used by Packthing. You may need to do this, for example, to build armhf packages as this architecture is not reliably detected.

Table 1. Supported Architectures

Name

Architecture

i686

x86, 32-bit

amd64

x86, 64-bit

armhf

ARM hard-float (Raspberry Pi)

Setting Break Points

Packthing can be set to interrupt at any point in the build. This can be useful if you are trying to troubleshoot parts of your build. These options are mutually exclusive. It is not necessary to pass a TARGET to Packthing when one of these options is given.

--configure

Stops packthing at configure stage

--checkout

Stops packthing at checkout stage

--build

Stops packthing at build stage

--install

Attempts to install newly-built package if applicable.

Run Requirements

Some targets require extra conditions to be met before they will run. Debian packaging, for example, requires root privileges.

$ packthing deb
================================== CONFIGURE ===================================

ERROR: This configuration requires root privileges!

Optional Arguments

Packthing can be set to interrupt at any point in the build. This can be useful if you are trying to troubleshoot parts of your build. These options are mutually exclusive. It is not necessary to pass a TARGET to Packthing when one of these options is given.

--configure           stop packthing at configure stage
--checkout            stop packthing at checkout stage
--build               stop packthing at build stage

On some platforms, it can also attempt to install your application after it’s finished building as a convenience. You will need to run Packthing as an administrator for this to work.

--install             install newly built package to OS

Overrides

Packthing allows you to override certain settings that are otherwise auto- detected. You may need to do this, for example, to build armhf packages as this architecture type is not reliably detected.

--system SYSTEM       Set platform system (linux, windows, ...)
--arch ARCH           Set platform machine (i686, amd64, ...)

You can also set the version of your application package through the command line. See [ Versioning Your Application ](Versioning-Your- Application_35094550.html) for more information.

--version VERSION     Set application version (e.g. 1.2.3)

You can always find help with the --help option, or -h for short.