TABLE OF CONTENTS
Format
[ Top ] [ Chapter 3 ] [ Concepts ]
INTRODUCTION
If the .cygport file defines NAME, VERSION, and RELEASE, the filename may be anything, but is conventionally NAME.cygport. Otherwise, the filename must be in the form NAME-VERSION-RELEASE.cygport, and the values of NAME, VERSION, and RELEASE will be determined automatically.
A .cygport file must conform to bash shell syntax. Comments may be included, beginning with '#' until end-of-line; all comments are ignored during execution of cygport.
Since a .cygport file is itself not a functioning script, the she-bang header (#!/bin/bash) should be omitted, and the file should not be executable.
The bare minimum for a working .cygport file includes a SRC_URI definition, and src_compile and src_install functions. Note that several Cygclasses provide some or all of these, so in some cases a single line inherit command will suffice.
Syntax
[ Top ] [ Format ] [ Concepts ]
DESCRIPTION
This section includes functions which provide some syntactical sugar. These functions can be used anywhere.
defined
[ Top ] [ Syntax ] [ General Functions ]
SYNOPSIS
if defined VARIABLE_NAME; then [...]; fi
DESCRIPTION
Tests if the given variable name is defined. Returns TRUE if so, else FALSE.
pushd
[ Top ] [ Syntax ] [ General Functions ]
SYNOPSIS
pushd DIRECTORY
DESCRIPTION
A silent wrapper for the bash pushd directory stack builtin.
popd
[ Top ] [ Syntax ] [ General Functions ]
SYNOPSIS
popd
DESCRIPTION
A silent wrapper for the bash popd directory stack builtin.
Messages
[ Top ] [ Format ] [ Concepts ]
DESCRIPTION
This section includes functions which provide output to the user. These functions may be used anywhere.
error
[ Top ] [ Messages ] [ General Functions ]
SYNOPSIS
error MESSAGE
DESCRIPTION
Declares a fatal error. The given message is displayed, then cygport exits.
warning
[ Top ] [ Messages ] [ General Functions ]
SYNOPSIS
warning MESSAGE
DESCRIPTION
Displays a warning message before continuing.
inform
[ Top ] [ Messages ] [ General Functions ]
SYNOPSIS
inform MESSAGE
DESCRIPTION
Displays an informational message.
verbose
[ Top ] [ Messages ] [ General Functions ]
SYNOPSIS
verbose COMMAND
DESCRIPTION
Echoes the given command before executing it. Returns the exit code of the given command.
boolean
[ Top ] [ Syntax ] [ Concepts ]
DESCRIPTION
A boolean variable is true if set to one of '1', 'on', 'true', or 'yes', and false if set to one of '0', 'off', 'false', or 'no'. These values are case-insensitive.
cross_compiling
[ Top ] [ Syntax ] [ Concepts ]
SYNOPSIS
if cross_compiling; then ...; fi
DESCRIPTION
Tests if the package is being cross-compiled. Returns TRUE if so, else FALSE.
Globals
[ Top ] [ Format ] [ Concepts ]
NAME
[ Top ] [ Globals ] [ Variables ]
DESCRIPTION
The Cygwin (primary) package name. Generally, this is the same as the upstream package name, but need not be. A common reason for deviating from the upstream name is to append a version "slot" where multiple versions of a package are completely parallel installable (e.g. gtk1.2 and gtk2.0, both from gtk+). In this case, define ORIG_PN to the upstream package name.
VERSION
[ Top ] [ Globals ] [ Variables ]
DESCRIPTION
The upstream package version number. PV must begin with a digit 0-9, and subsequent characters can be a digit, letter, dot, hyphen, or underscore.
RELEASE
[ Top ] [ Globals ] [ Variables ]
DESCRIPTION
The Cygwin package release number, e.g. the "1" in foo-2.3.4-1. The first release of a new version is usually 1, and is incremented if subsequent releases are made of the same version. PR must be an integer.
PN
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for NAME.
PV
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for VERSION.
PR
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for RELEASE.
P
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for NAME-VERSION (PN-PV).
PVR
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for VERSION-RELEASE (PV-PR).
PF
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for NAME-VERSION-RELEASE (PN-PV-PR).
S
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
The source directory. Build tool regeneration (e.g. cygautoreconf) occurs in this directory, but other build steps should occur in B.
B
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
The build directory. All configuring and compiling steps should occur in this directory.
C
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
The CYGWIN-PATCHES directory where Cygwin READMEs, setup.hint files, custom postinstall scripts, and other Cygwin-specific files are placed before packaging.
D
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
The installation staging directory. All installation and postinstall steps occur in or into this directory.