[Installer] BSDInstaller analysis
ivoras at freebsd.org
Thu May 7 10:21:09 PDT 2009
I had a look at bsdinstaller and here are some thoughts about it:
* While finstall is front-end driven, bsdinstaller is backend-driven.
The difference is in the approach - finstall provides the backend as a
library of useful functions like "create partition", "configure
network interface", "modify /etc/rc.conf" etc. and the front-end keeps
the logic and calls these functions as it sees fit. BSDinstaller has
the logic in the backend, and the backend calls the front-end with
requests to display information - the front-end is a "dumb terminal"
style applications, responsible for presenting information to the user
and relaying his responses to the backend. There are good and bad
sides to both approach.
* I said yesterday that I'd like to switch the frontend-backend
protocol to something standard like XML-RPC, but I did it under the
assumption that the backend is built in a similar way to finstall (the
"library of functions" approach). Since it's closely tied to the
client and it's only used to relay information to the front-end (i.e.
it's not generally usable without the front-end), it will gain nothing
by switching to a standard protocol. The protocol currently used is
very domain-specific and closely tied to how the backend works.
* I like how Lua is used, I'd only move it to the front-end :)
More information about the Installer