| | 1 | = !HaikuPorter = |
| | 2 | |
| | 3 | == Introduction == |
| | 4 | |
| | 5 | !HaikuPorter is a command line Python application that, using the information contained in a !HaikuPort's BepFile: |
| | 6 | * fetches the original source code archive |
| | 7 | * extracts this archive |
| | 8 | * patches the sources for compilation on Haiku |
| | 9 | * builds the software |
| | 10 | * installs the software |
| | 11 | |
| | 12 | Currently !HaikuPorter can not automatically resolve any dependencies. The !HaikuPorts project's main objective is the porting of software to Haiku, and not to create a package management system as powerful as Gentoo Portage or the FreeBSD ports system. Automatic dependency handling is therefor not high on the to-do list. |
| | 13 | |
| | 14 | !HaikuPorter depends on two files: |
| | 15 | * [HaikuPortsConf /etc/HaikuPorts.conf] - contains global !HaikuPorts options (perhaps this should be moved to B_COMMON_SETTINGS_DIRECTORY?) |
| | 16 | * a BepFile - contains specific information about a !HaikuPort |
| | 17 | |
| | 18 | == Requirements == |
| | 19 | |
| | 20 | !HaikuPorter is implemented in Python ([wiki:dev-lang/python]) which is included with the Haiku R1/Alpha1 release. |
| | 21 | |
| | 22 | One of the goals of !HaikuPorter is to be as simple as possible. This includes minimizing dependence on external programs. Currently !BePorter requires the following: |
| | 23 | |
| | 24 | * rm (included with Haiku) |
| | 25 | * tar (included with Haiku) |
| | 26 | * unzip (included with Haiku) |
| | 27 | * patch (included with Haiku) |
| | 28 | * any programs used for building and installing !HaikuPorts. These should be limited to: |
| | 29 | * GNU make (included with Haiku) |
| | 30 | * gcc-2.95.3 (included with Haiku) |
| | 31 | * CMake |
| | 32 | * others? |
| | 33 | |
| | 34 | Other dependencies should be listed in the port's BepFile. |
| | 35 | |
| | 36 | == Usage == |
| | 37 | |
| | 38 | '''WARNING''' - !HaikuPorter is currently in alpha stage. No one should be actually using it! |
| | 39 | |
| | 40 | Usage information can be obtained by invoking !HaikuPorter with the {{{-h}}} option: |
| | 41 | |
| | 42 | {{{ |
| | 43 | $ haikuporter -h |
| | 44 | usage: haikuporter [options] portname[-portversion] |
| | 45 | |
| | 46 | options: |
| | 47 | --version show program's version number and exit |
| | 48 | -h, --help show this help message and exit |
| | 49 | -p, --nopatch don't patch the sources, just download and unpack |
| | 50 | -b, --nobuild don't build the port, just download, unpack and patch |
| | 51 | -i, --install also install the port (the default is to only build) |
| | 52 | -c, --clean clean the working directory of the specified port |
| | 53 | }}} |
| | 54 | |
| | 55 | Note that this information may become obsolete as new versions of !HaikuPorter might add or remove command line options. |
| | 56 | |
| | 57 | When passing only a port name to !HaikuPorter, it will return the port versions available, if any. |
| | 58 | |
| | 59 | To fetch, patch and build a port, both the port name and the port version need to be specified, separated with a hyphen. By default, !HaikuPorter will not install the port. You need to specify the {{{--install}}} (or {{{-i}}}) option for that. |