| Version 1 (modified by scottmc, 6 years ago) (diff) |
|---|
HaikuPorter
Introduction
HaikuPorter is a command line Python application that, using the information contained in a HaikuPort's BepFile:
- fetches the original source code archive
- extracts this archive
- patches the sources for compilation on Haiku
- builds the software
- installs the software
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.
HaikuPorter depends on two files:
- /etc/HaikuPorts.conf - contains global HaikuPorts options (perhaps this should be moved to B_COMMON_SETTINGS_DIRECTORY?)
- a BepFile - contains specific information about a HaikuPort
Requirements
HaikuPorter is implemented in Python (dev-lang/python) which is included with the Haiku R1/Alpha1 release.
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:
- rm (included with Haiku)
- tar (included with Haiku)
- unzip (included with Haiku)
- patch (included with Haiku)
- any programs used for building and installing HaikuPorts. These should be limited to:
- GNU make (included with Haiku)
- gcc-2.95.3 (included with Haiku)
- CMake
- others?
Other dependencies should be listed in the port's BepFile.
Usage
WARNING - HaikuPorter is currently in alpha stage. No one should be actually using it!
Usage information can be obtained by invoking HaikuPorter with the -h option:
$ haikuporter -h usage: haikuporter [options] portname[-portversion] options: --version show program's version number and exit -h, --help show this help message and exit -p, --nopatch don't patch the sources, just download and unpack -b, --nobuild don't build the port, just download, unpack and patch -i, --install also install the port (the default is to only build) -c, --clean clean the working directory of the specified port
Note that this information may become obsolete as new versions of HaikuPorter might add or remove command line options.
When passing only a port name to HaikuPorter, it will return the port versions available, if any.
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.
