Technical data

8. Documentation for Developers
./i586-linux-regexp -c ../check IPADDR 192.168.0.256
using predefined regular expression from base.exp
adding IPADDR='((RE:OCTET)\.){3}(RE:OCTET)'
('^(((1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]))$')
regex error 1 (No match) for value '192.168.0.256' and regexp
'((RE:OCTET)\.){3}(RE:OCTET)'
(unknown:-1) wrong value of variable cmd_var: '192.168.0.256' (invalid ipv4 address)
8.3.7. Extended Checks of the Configuration
Sometimes it is necessary to perform more complex checks. Examples of such complex things
would be i.e. dependencies between packages or conditions that must be satisfied only when
variables take certain values. For example if a PCMCIA ISDN adapter is used the package
“pcmcia” has to be installed, too.
In order to perform these checks you may write small tests to check/<PACKAGE>.ext (also
called ext-script). The language consists of the following elements:
1. Keywords:
Control Flow:
if (expr ) then statement else statement fi
foreach var in set_var do statement done
foreach var in set_var_1 ... set_var_n do statement done
foreach var in var_n do statement done
Dependencies:
provides package version x.y.z
depends on package version x1.y1 x2.y2.z2 x3.y3 ...
Actions:
warning "warning "
error "error "
fatal_error "fatal error "
set var = value
crypt (variable )
stat (filename, res )
fgrep (filename, regex )
split (string, set_variable, character )
2. Data Types: strings, positive integers, version numbers
3. Logical Operations: <, ==, >, !=, !, &&, ||, =~, copy_pending, samenet, subnet
299