The V language per se does not have any prerequisites: its regular grammar, syntax and semantics are separate and distinct from any other computer language. As of 2011, the V language is not subject to any standards or proposed standards.
The VFL runtime, however, does have prerequisites. Vermont for Linux is a single implementation of the V language, designed to run on host computers running the Linux operating system. The initial development platform for the language was the Fedora 14 distribution.
No testing has been done on any other Linux distribution. Furthermore, given the inherent differences of hardware and operating systems, it is unlikely that VFL will work very well on Solaris, BSD, Windows, or MacOS. Nevertheless, the VFL runtime has been developed using the PHP interpreted language, and PHP has been ported to run on many of these systems. Conceptually, much of the VFL runtime could be used as is on those other systems.
The VFL runtime was developed using PHP CLI (common language interface) version 5.3.5, and should therefore work on hosts with similar PHP versions. The CGI version of PHP is not a prerequisite.
VFL plugin modules make use of additional system packages and are therefore dependent upon specific versions of those packages. As a general rule, the third-party developer of a plugin module should provide a statement listing the packages and versions that are required when using those plugins.
VFL should be run using a Linux account that has root permissions. VFL needs this permission in order to traverse directories and inspect file attributes and network settings. VFL does not need to run as the root user itself.
The VFL runtime package, configuration files, and sandbox is installed to the /var/vermont directory. An executable shell and documentation is installed to the /usr directory.
/var
+ /vermont
+ /etc
+ /conf.samples
+ /cron.d
+ /logrotate.d
+ /logwatch
+ /include
+ /log
+ /modules
+ /logfile-modules
+ /resource-modules
+ /sandbox
/usr
+ /bin
+ /share
+ /doc
+ /vermont-1.0
The main program is the file vermont-verify.php. It uses the codebase distributed in the include subdirectory. The vv command is installed in /usr/bin. It executes the main program file by invoking the PHP CLI.
All executable modules—both core VFL modules and plugin modules—are placed in the modules subdirectory.
The sandbox subdirectory contains test files used by the sample rulebook.
By convention, the developer's rulebook is placed in the /etc/vermont/conf.d directory. Nevertheless, rulebook developers may decide to split their work into more than one rulebook, using cron to run each rulebook on a separate schedule. Since each rulebook requires its own directory, these other rulebooks by convention are placed in directories named something like /etc/vermont/conf.daily or /etc/vermont/conf.hourly. Sample cron files are distributed in /var/vermont/cron.d.
For systems that use the logrotate and logwatch packages, scripts for VFL are distributed in /var/vermont/etc/logrotate.d/vermont and /var/vermont/etc/logwatch/conf/logfiles/vermont.conf.
Documentation files are distributed in /usr/share/doc/vermont-1.0.