fml8 Boot Loader To Resolve Version Dependence Dynamically

fml 8 tutorial
Prev |  | Next

# Chapter 28. fml8 Boot Loader To Resolve Version Dependence Dynamically

fml8 provides a boot loader to resolve version dependence dynamically. For example, the loader boot straps fml8 as follows:

    fml (libexec/distribute) boots like this ...

           functions                class
           ----------------------------------------

           main::Bootstrap()        libexec/loader
                |
                V
           main::Bootstrap2()       FML::Process::Switch
                |
                V
           ProcessSwitch()          FML::Process::Switch
                |
                |
                | switch to ($obj = FML::Process:Distribute)
                |
                V
           ProcessStart($obj,$args) FML::Process::Flow

# Case: Distribution

fml8 loader boot straps like this in the case of distribution.

/usr/local/libexec/fml/distributre (is same as /usr/local/libexec/fml/loader in fact) reads /usr/local/etc/fml/main.cf and resolvers the version it should use from $fml_version variable. Let $fml_version current-20010501. The loader uses library perl modules under /usr/local/lib/fml/current-20010501/.

The loader resets @INC (perl include path). It loads FML::Process::Switch and checks $0 (program name in process table). The loader resolves from the name that the role is distribution. It loads FML::Process::Distribute and switches to the class.

The relation between program name and class (perl module) is defined at /usr/local/etc/fml/defaults/$fml_version/modules file.

FML::Process::Flow::ProcessStart() function drives these sequential steps. ProcessStart() takes FML::Process::Distribute object as an argument and drives the object.

Prev | Home | Next
fml8 Internals | Up | FML::Process:: Class Structure

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.