Changes between Version 21 and Version 22 of Obsolete/MovedToTree/PackageManagement/BuildingPackages


Ignore:
Timestamp:
Jun 22, 2013, 11:29:57 AM (11 years ago)
Author:
bonefish
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Obsolete/MovedToTree/PackageManagement/BuildingPackages

    v21 v22  
    11= Building Packages =
    22
    3 This page provides information regarding the package building process. The first section documents building a package with the low level command `package`. The second section gives details on building packages with the `haikuporter` tool.
     3This page provides information regarding the package building process. The first section documents building a package with the low level command `package`. The second section refers to building packages with the `haikuporter` tool.
    44
    55
     
    123123== Building a Package with "haikuporter" ==
    124124
    125 `haikuporter` is a high level tool for building packages. As input it reads a build recipe file for a certain version of a software (aka port) and produces one or more packages, as declared in the recipe. A recipe specifies package requirements similar to how it is done in a `.PackageInfo` file. When asked to build a port, `haikuporter` resolves the respective dependencies and recursively builds all not-yet-built ports required for the requested port. `haikuporter` itself and a large library of recipe files are hosted at [http://ports.haiku-files.org/ HaikuPorts].
    126 
    127 === The Build Recipe File ===
    128 
    129 For a particular version of a port a recipe file specifies what packages shall be built for that port and it provides all required information for that purpose. A recipe file is named according to the pattern "<portname>-<version>.recipe". The <version> component complies to `version_ref`, though without the revision component. The revision is specified in the recipe itself. It is incremented whenever the recipe itself or a Haiku specific patch for the port changes. A recipe file is a shell script. It is sourced (shell lingo for included) by `haikuporter`. It must set several shell variables and functions that are interpreted and used by `haikuporter`. A set of other variables and functions that can be used in the recipe is defined by `haikuporter` before sourcing it.
     125`haikuporter` is a high level tool for building packages. As input it reads a build recipe file for a certain version of a software (aka port) and produces one or more packages, as declared in the recipe. A recipe specifies package requirements similar to how it is done in a `.PackageInfo` file. When asked to build a port, `haikuporter` resolves the respective dependencies and recursively builds all not-yet-built ports required for the requested port. `haikuporter` itself and a large library of recipe files are hosted at [http://ports.haiku-files.org/ HaikuPorts]. A detailed [http://ports.haiku-files.org/wiki/HaikuPorterForPM documentation for haikuporter] and the [http://ports.haiku-files.org/wiki/HaikuPorterForPM/BuildRecipes recipe format] can also be found there.