Changes between Version 6 and Version 7 of BepFile
- Timestamp:
- 01/04/08 00:47:49 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BepFile
v6 v7 9 9 === Key types === 10 10 11 There are three types of keys in a !BepFile: single-value, list-of-values and shell -commands.11 There are three types of keys in a !BepFile: single-value, list-of-values and shell commands. 12 12 13 13 The key label is subject to the following rules: 14 * the key label must be in all capitals and consist only of letters (A-Z) and underscores14 * the key label must be in all capitals and consist only of letters (A-Z), numbers (0-9) and underscores 15 15 * there may be no whitespace in front of the key label 16 * there may be whitespace around the '=', but it is not required17 16 18 17 ==== A key with a '''single value''' ==== … … 23 22 24 23 The syntax is subject to the following rules: 24 * there may be whitespace around the '=', but it is not required 25 25 * the value should be enclosed within double quotes 26 26 * there may be whitespace after the closing quote … … 45 45 {{{ 46 46 KEY = { 47 command148 command249 command347 line1 48 line2 49 line3 50 50 } 51 51 }}} 52 52 53 53 The syntax is subject to these rules: 54 * the line of the key label end with an opening brace '{', with no command following it 55 * one command is entered per line 56 * every command is indented by whitespace (tabs or spaces) 54 * the line of the key label ends with an opening brace '{', with nothing following it (except for whitespace) 55 * each line is indented by whitespace (tabs or spaces) 57 56 * the closing brace '}' is on on a seperate line, preceded by whitespace 57 * the lines between the braces are interpreted as a shell script (bash); hence, it is possible to use conditional execution and insert comments using '#' (see below) 58 58 59 59 === List of keys === … … 70 70 ||{{{STATUS_HAIKU}}}||indicates the status of this port on Haiku||single||status ({{{untested}}}, {{{unstable}}}, {{{stable}}})||no||{{{untested}}}|| 71 71 ||{{{DEPEND}}}||(list of) !BePort(s) this port depends upon||single, list||{{{category/portname >= portversion}}}||no||-|| 72 ||{{{BUILD}}}||list of shell commands to execute in order to build the port||shell||shell commands||no||-||72 ||{{{BUILD}}}||list of shell commands (script) to execute in order to build the port||shell||shell commands||no||-|| 73 73 ||{{{INSTALL}}}||list of shell commands to execute in order to install the port||shell||shell commands||no||-|| 74 75 Inside the BUILD and INSTALL scripts, it is possible to distinguish between the different BeOS platforms using the {{{BEPORTS_PLATFORM}}} environment variable. It can be one of {{{R5}}}, {{{BONE}}} or {{{HAIKU}}}. 76 77 An example of a build script is shown below. 78 {{{ 79 BUILD { 80 cd xyz-1.0.0 81 if [ "$BEPORTS_PLATFORM" = "BONE" ] ; then 82 export EXTRA_CONFARGS = "--enable-debug" # there are still some problems on BONE 83 else 84 export EXTRA_CONFARGS = "" 85 fi 86 ./configure --prefix=/boot/home/config $EXTRA_CONFARGS 87 make 88 } 89 }}} 74 90 75 91 When a key is not listed in the BepFile, BePorter assumes the default value, or an empty string/list (if no default value is specified above).
