Pkgbuild distribution file




















This field contains a URL that is associated with the software being packaged. This field specifies the license s that apply to the package. Specifies a special install script that is to be included in the package. It does not need to be included in the source array e.

Specifies a changelog file that is to be included in the package. The changelog file should end in a single newline. An array of source files required to build the package. Compressed files will be extracted automatically unless found in the noextract array described below. An array of PGP fingerprints. If this array is non-empty, makepkg will only accept signatures from the keys listed here and will ignore the trust values from the keyring. If the source file was signed with a subkey, makepkg will still use the primary key for comparison.

An array of file names corresponding to those from the source array. Files listed here will not be extracted with the rest of the source files. This is useful for packages that use compressed data directly. This array contains CRC checksums for every source file specified in the source array in the same order. If SKIP is put in the array in place of a normal hash, the integrity check for that source file will be skipped.

If desired, move the cksums line to an appropriate location. Note that checksums generated by "makepkg -g" should be verified using checksum values provided by the software developer. Alternative integrity checks that makepkg supports; these all behave similar to the cksums option described above. An array of symbolic names that represent groups of packages, allowing you to install multiple packages by requesting a single target.

For example, one could install all KDE packages by installing the kde group. Defines on which architectures the given package is available e. An array of file names, without preceding slashes, that should be backed up if the package is removed or upgraded.

See "Handling Config Files" in pacman 8 for more information. An array of packages this package depends on to run. Entries in this list should be surrounded with single quotes and contain at least the package name. An array of packages this package depends on to build but are not needed at runtime. Packages in this list follow the same format as depends.

An array of packages this package depends on to run its test suite but are not needed at runtime. These dependencies are only considered when the check function is present and is to be run by makepkg. An array of packages and accompanying reasons that are not essential for base functionality, but may be necessary to make full use of the contents of this package. Packages in this list follow the same format as depends, with an optional description appended.

Avoid making choices appear and disappear while the user is interacting with the installation process. This provides a poor user experience. You should only associate packages with a choice that has no subchoices as defined by the hierarchy of line elements.

The filename of the conclusion file in the distribution package—for example, conclusion. Indicates what domains the package may be installed into. If true , or a JavaScript expression that evaluates to true , the product can be installed at the root of any volume, including nonsystem volumes. Otherwise, it cannot be installed at the root of a volume.

A home directory installation is done as the current user not as root , and it cannot write outside of the home directory. If true , or a JavaScript expression that evaluates to true , the product can be installed into the root directory. The installation check passes if the script returns true , any RAM requirements are met, and any graphics requirements are met. Specifies whether the requirements are met. If true default , or a Boolean JavaScript expression that evaluates to true , the installation proceeds, subject to the other checks.

If the script evaluates to false , it must also set my. If my. The root element of the distribution definition. All other elements in the distribution definition file are children of this element. The schema version of a distribution file. Use 1 for the version used prior to OS X v The filename of the welcome file in the distribution package—for example, welcome. Identifies the installation choice associated with this node of the installation-choice hierarchy of a distribution package.

The value must match the ID of a choice element. See choice. Do not reference the same ID from more than one line element, not even from different installation-choice hierarchies; if you do so, the behavior is undefined. Applications are considered only if the package that contains this element has been selected for installation. Specifies whether the run and runOnce JavaScript functions can be executed.

Values: false default or true. Specifies whether the user can customize the installation by selecting or deselecting installation choices. A comma-separated list of supported architecture codes. Identifies a package pkg-ref element whose installation operations must be performed as part of the installation of this distribution.

Indicates whether the distribution uses JavaScript code. Values: true default or false. If this value is false , all attributes whose value may be a JavaScript expression must be set to either true or false. Specifies whether the user can choose an installation volume other than the boot volume. Values: true or false. This element is designed for you to use a specific OS version number for the min attribute, and a major OS version number for the before attribute.

The expectation is that you will know an exact minimum version but not an exact major version. This keeps you from having to guess the last minor revision before the next major revision, as you would have to do if the before attribute were inclusive.

The maximum allowed version exclusive. If the OS version is greater than or equal to this version, installation will be disallowed unless the OS falls in the range of another os-version element. If no value is given, there is no upper bound on the range—any version newer than the minimum is allowed. The minimum allowed version inclusive.

If the OS is less than this version, installation will be disallowed unless the OS falls in the range of another os-version element. Indicates whether the package is installed. Values: true default , false. If false , or a JavaScript expression that evaluates to false, the package is not installed, even if its associated choice was selected.

Similarly to pkgbuild , productbuild runs in multiple modes currently the available modes are 5, see the man page for detailed information , two of them being: Analysis mode, to create an initial distribution file. Create a product archive from a distribution file. A distribution file is to the product archive what the component property list is for the component package: it includes all the configuration of the product archive, including see the man page for detailed information : A product license.

The list of component packages. Constraints such as minimum OS version. To create the initial distribution file for our product archive, we run productbuild in analysis mode specifying the list of component packages to include.

In this case we specify the --synthesize option to run productbuild in analysis mode, two component packages with multiple --package options, a requirement file described in the next section and the name of the resulting distribution file distribution. A requirement property list file is a property list whose element is a dictionary in which may constraints can be expressed using a series of keys, including but not limited to : os : Minimum allowable OS version.

To specify a dependency on OS X The specified certificate must be available in an accessible keychain, otherwise the path of a specific keychain must be specified using the --keychain option. A product archive can even be signed after it has been created using the productsign command see the man page for further information. The previously set variables pkgname and pkgver can be used effectively here; e. Before the actual build process starts, all the files referenced in this array will be downloaded or checked for existence, and makepkg will not proceed if any is missing.

Files in the source array with extensions. An array of files listed under source , which should not be extracted from their archive format by makepkg. If an alternative unarchiving tool is used e. Note that while the source array accepts URLs, noextract is just the file name portion:.

An array of PGP fingerprints. If used, makepkg will only accept signatures from the keys listed here and will ignore the trust values from the keyring. If the source file was signed with a subkey, makepkg will still use the primary key for comparison. Only full fingerprints are accepted. They must be uppercase and must not contain whitespace characters. Please read makepkg Signature checking for more information. These variables are arrays whose items are checksum strings that will be used to verify the integrity of the respective files in the source array.

You can also insert SKIP for a particular file, and its checksum will not be tested. The checksum type and values should always be those provided by upstream, such as in release announcements. When multiple types are available, the strongest checksum is to be preferred: sha over sha1 , and sha1 over md5. This best ensures the integrity of the downloaded files, from upstream's announcement to package building.

See makepkg. An array of bit MD5 checksums of the files listed in the source array. An array of bit SHA-1 checksums of the files listed in the source array.

An array of SHA-2 checksums with digest size of bits. An array of SHA-2 checksums with digest sizes , , and bits, respectively. These are less common alternatives to shasums. Namespaces Page Discussion. Views Read View source View history. Related articles Arch package guidelines Creating packages. Note: If upstream uses a timestamp versioning such as , ensure to use the reversed date, i.

Otherwise it will not appear as a newer version. Tip: The ordering of uncommon values can be tested with vercmp 8 , which is provided by the pacman package. See VCS package guidelines The pkgver function for details.

Warning: epoch should only be used when absolutely required to do so. Tip: Some software authors do not provide separate license file and describe distribution rules in section of common ReadMe.



0コメント

  • 1000 / 1000