From owner-freebsd-config Wed Jun 4 03:04:37 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id DAA13035 for config-outgoing; Wed, 4 Jun 1997 03:04:37 -0700 (PDT) Received: from genesis.atrad.adelaide.edu.au (genesis.atrad.adelaide.edu.au [129.127.96.120]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id DAA13020 for ; Wed, 4 Jun 1997 03:04:34 -0700 (PDT) Received: (from msmith@localhost) by genesis.atrad.adelaide.edu.au (8.8.5/8.7.3) id TAA14370 for config@freebsd.org; Wed, 4 Jun 1997 19:34:27 +0930 (CST) From: Michael Smith Message-Id: <199706041004.TAA14370@genesis.atrad.adelaide.edu.au> Subject: Juliet prototype available for criticism... To: config@freebsd.org Date: Wed, 4 Jun 1997 19:34:27 +0930 (CST) X-Mailer: ELM [version 2.4ME+ PL28 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-config@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hmm, I was hoping to write some documentation, but of course... With my exams and more stupid work looming, I've managed to sneak some time to flesh out some parts of the configuration framework previously proposed. So far, I have been concentrating on the structure of Juliet, the host-side tool. Juliet is meant to be invoked and talked to on stdin/stdout; here is a short session showcasing a few of the basic functions : cain:~/work/rconfig/juliet>./juliet .modules list modules = abi_emulation_module fpr_module tpr_module .modules list nodes = modules primitive.file primitive.file.hosts primitive.file.rc_conf primitive.file.resolv_conf system.abi_emulation .modules methods system.abi_emulation = list linux ibcs2 .system.abi_emulation linux = YES .system.abi_emulation linux NO = OK In the session above, lines starting with "= " are juliet sending me responses, the other gumpf is me talking to it. You invoke methods on nodes by naming the node, the method and any arguments the method may take. There are also some direct commands which didn't at the time make sense to hang off the tree (eg. 'debug') There are three modules included at the moment; the fpr and tpr modules can be considered "builtins"; not for client use, but very useful for building other modules. The abi_emulation module is meant as an example to illustrate the basic structure of modules. One other note; the 'fpr' module reads its default configuration from juliet/modules/fpr/fpr.cf; this defines the various files as living in /tmp, which is sensible for testing purposes. It also expects /tmp/sysconfig for "rc_conf", but that's just because it's all I had lying around; either will work fine, and there is a commented example showing same. If you're interested in commenting, I'd be very happy to have your feedback. Please read the source for more details; there is a reasonable smattering of comments and the structure should be fairly evident from a casual reading. I'd particularly like to hear from anyone that's mixed a Tcl and Perl interpreter into a single binary; the structure of Juliet is intended to allow modules to be written in just about any other language, and Perl is likely to be the most popular. I have various ideas about how to go about this, but could do with some more perspective. It can be had from : ftp://gsoft.com.au/pub/confserv/juliet.tgz -- ]] Mike Smith, Software Engineer msmith@gsoft.com.au [[ ]] Genesis Software genesis@gsoft.com.au [[ ]] High-speed data acquisition and (GSM mobile) 0411-222-496 [[ ]] realtime instrument control. (ph) +61-8-8267-3493 [[ ]] Unix hardware collector. "Where are your PEZ?" The Tick [[