| 233 | | ... TODO ... |
| | 236 | ==== ARCHITECTURES ==== |
| | 237 | - '''Type:''' One or more of ['ppc', 'x86', 'x86_gcc2', 'any', 'source'], separated by space. - '''Purpose:''' Specifies the state of this port on the given architectures. Packages that can be installed on any architecture (e.g. a Perl script) would be marked with "any", source packages with "source". For packages with architecture-specific content, each of the machine architectures given in the list can be prepended by either '`?`' or '`!`', which marks the package as being untested or broken on that architecture respectively. |
| | 238 | As an example: `ARCHITECTURES="x86_gcc2 ?x86 !ppc"` means that this package works on `x86_gcc2`, has not been tested (but is expected to work) on `x86` but is known to be broken on `ppc`. |
| | 239 | - '''Required:''' Yes |
| | 240 | - '''Default:''' None |
| | 241 | |
| | 242 | ==== BUILD_PREREQUIRES ==== |
| | 243 | - '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 244 | - '''Purpose:''' Defines the set of commands that will be executed on the build host during the build process. Usually, this will be tools like `gcc`, `binutils`, `make`, `sed`, `grep`, etc. |
| | 245 | - '''Required:''' No |
| | 246 | - '''Default:''' `""` |
| | 247 | |
| | 248 | ==== BUILD_REQUIRES ==== |
| | 249 | - '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 250 | - '''Purpose:''' Defines the set of development libraries (or other files with a similar purpose) that are required during the build process. Usually, this will be one `devel`-library specification for every library the built package depends on. |
| | 251 | - '''Required:''' No |
| | 252 | - '''Default:''' `""` |
| | 253 | |
| | 254 | ==== CONFLICTS ==== |
| | 255 | - '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 256 | - '''Purpose:''' Defines a list of things (other packages, commands, libraries, etc.) that this package conflicts with. |
| | 257 | - '''Required:''' No |
| | 258 | - '''Default:''' `""` |
| | 259 | |
| | 260 | ==== COPYRIGHT ==== |
| | 261 | - '''Type:''' Multiline-String, one copyright per line, each starting with a year (empty lines will be ignored). |
| | 262 | - '''Purpose:''' Specifies the copyright(s) on this port. |
| | 263 | - '''Required:''' No |
| | 264 | - '''Default:''' `""` |
| | 265 | |
| | 266 | ==== DESCRIPTION ==== |
| | 267 | - '''Type:''' Multiline-String (empty lines at the beginning and end will be ignored). |
| | 268 | - '''Purpose:''' Provides a detailed description of the port. If a port provides more than one package, they usually share the description. |
| | 269 | - '''Required:''' Yes |
| | 270 | - '''Default:''' None |
| | 271 | |
| | 272 | ==== FRESHENS ==== |
| | 273 | - '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 274 | - '''Purpose:''' Specifies that this package will freshen (override) one or files of the given package, command, etc. |
| | 275 | - '''Required:''' No |
| | 276 | - '''Default:''' `""` |
| | 277 | |
| | 278 | ==== GLOBAL_WRITABLE_FILES ==== |
| | 279 | - '''Type:''' Multiline-String, one `global_writable_file_info`-specification per line (empty lines will be ignored). For details on `global_writable_file_info`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 280 | - '''Purpose:''' Defines one or more global writable files or directories, which are expected to be written to when the program provided by the package executes. This can for instance be a settings file or a directory for cache files. |
| | 281 | - '''Required:''' No |
| | 282 | - '''Default:''' `""` |
| | 283 | |
| | 284 | ==== LICENSE ==== |
| | 285 | - '''Type:''' Multiline-String, one license per line (empty lines will be ignored) |
| | 286 | - '''Purpose:''' Defines the applicable licenses for the port. |
| | 287 | - '''Required:''' No |
| | 288 | - '''Default:''' None |
| | 289 | |
| | 290 | ==== PACKAGE_GROUPS ==== |
| | 291 | - '''Type:''' Multiline-String, one group per line. |
| | 292 | - '''Purpose:''' Defines one or more Unix groups that are required by the package. These groups will be created upon installation of the package. |
| | 293 | - '''Required:''' No |
| | 294 | - '''Default:''' `""` |
| | 295 | |
| | 296 | ==== PACKAGE_USERS ==== |
| | 297 | - '''Type:''' Multiline-String, one `user`-specification per line (empty lines will be ignored). For details on `user`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 298 | - '''Purpose:''' Defines one or more Unix users that are required by the package. These users will be created upon installation of the package. |
| | 299 | - '''Required:''' No |
| | 300 | - '''Default:''' `""` |
| | 301 | |
| | 302 | ==== PROVIDES ==== |
| | 303 | - '''Type:''' Multiline-String, one `entity`-specification per line (empty lines will be ignored). For details on `entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 304 | - '''Purpose:''' Defines the set of commands, libraries, development-libraries, virtual entities, etc. that this package provides. Amongst these, every package provides itself (i.e. `PROVIDES` must include an entity matching the package name. |
| | 305 | - '''Required:''' Yes |
| | 306 | - '''Default:''' None |
| | 307 | |
| | 308 | ==== REPLACES ==== |
| | 309 | - '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 310 | - '''Purpose:''' Defines the set of commands, libraries, packages, etc that this package replaces. This is for instance useful when a package has been split, as you can tell the package manager which packages need to be installed instead of the package that got split. |
| | 311 | - '''Required:''' No |
| | 312 | - '''Default:''' `""` |
| | 313 | |
| | 314 | ==== REQUIRES ==== |
| | 315 | - '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 316 | - '''Purpose:''' Defines the set of commands, libraries, packages, virtual entities, etc. that are required at runtime by the packaged software. The package can only be installed when all its requirements are fulfilled. |
| | 317 | - '''Required:''' No |
| | 318 | - '''Default:''' `""` |
| | 319 | |
| | 320 | ==== SUMMARY ==== |
| | 321 | - '''Type:''' String, single line, preferably not exceeding 70 characters in length. |
| | 322 | - '''Purpose:''' Gives a precise purpose of this package. For ports that provide more than one package of general type, each of these packages should have a (slightly) different summary, expressing what exactly itself is providing. For all non-generic package types, !HaikuPorter will automatically add a suffix to the inherited summary: |
| | 323 | - '''debug:''' The suffix `' (debug info)'` will be appended to the inherited summary of debug packages. |
| | 324 | - '''devel:''' The suffix `' (development files)'` will be appended to the inherited summary of development packages. |
| | 325 | - '''doc:''' The suffix `' (documentation)'` will be appended to the inherited summary of documentation packages. |
| | 326 | - '''source:''' The suffix `' (source files)'` will be appended to the inherited summary of source packages. |
| | 327 | - '''Required:''' Yes |
| | 328 | - '''Default:''' None |
| | 329 | |
| | 330 | ==== SUPPLEMENTS ==== |
| | 331 | - '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 332 | - '''Purpose:''' Defines the set of commands, libraries, packages, etc that this package supplements. This is for instance useful when a library port provides a sibling package containing just the python bindings for that library. This sibling package could specify `SUPPLEMENTS=python` in order to be automatically selected for installation alongside the base package when python is already installed. |
| | 333 | - '''Required:''' No |
| | 334 | - '''Default:''' `""` |
| | 335 | |
| | 336 | ==== USER_SETTINGS_FILES ==== |
| | 337 | - '''Type:''' Multiline-String, one `user_settings_file_info`-specification per line (empty lines will be ignored). For details on `user_settings_file_info`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. |
| | 338 | - '''Purpose:''' Defines one or more user settings files or directories used by the packaged software. |
| | 339 | - '''Required:''' No |
| | 340 | - '''Default:''' `""` |