{PACKAGE}-{VERSION}-{ARCH}.{EXT}
Packaging
Packthing can produce self-contained packages in various native operating system formats.
Packages will be created in the build/staging/ directory relative to the directory in which packthing is run.
Package Naming
The name of the package resulting from a Packthing build is uniform across platforms as follows:
Meaning
- PACKAGE
-
The name of the software package.
This value is specified by the package key in the packthing.yml file.
- VERSION
-
The version of the software.
The version can come from one of three locations, from lowest to highest precedence.
-
The name of the most recent tag in the repository defined as the master repository with the
masterkey. -
The
versionkey specified in thepackthing.ymlfile. -
The
--versioncommand line switch.
This value must start with an integer (0-9). Many packaging tools reject non-integer starting values.
- ARCH
-
The target architecture of the package.
This architecture list conforms to the naming conventions used by the Debian operating system.
For a full list of possible values, see the Debian Ports page.
This value may be overridden with the --arch command line switch.
- EXT
-
The extension of the package.
The extension varies depending on the package type. See below for a table of extensions.
Package Types
type |
Extension |
OS |
Description |
|
|
Debian |
Debian Package |
|
|
Mac OS X |
DMG Volume |
|
|
Windows |
InnoSetup Installer |
|
|
Linux |
Self-extracting archive |
|
|
All |
Source Package |
Configuration
Packagers can be configured with the target key. Any key that specifies a relative path will be searched from the root of the repository defined by the master key.
A sample target configuration might look like this:
target:
deb:
depends: libftdi1
categories: Development;IDE
section: Applications/Editors
help2man:
- propelleride
- propman
- openspin
dmg:
category: public.app-category.developer-tools
background: icons/mac-dmg.png
bundle: propelleride
inno:
banner: icons/win-banner.bmp
run: propelleride
In the following sections, we will be going into detail on what each of these keys means.