Mantis/Installer proposed new convention

Keith Hodges keith_hodges at yahoo.co.uk
Thu Dec 21 18:49:42 UTC 2006


Dear Ralph,

there was a previous email message with more explanation, and Installer 
will have an updated class comment pretty soon.

In summary:

Installer is aiming to be single class front-end to anything useful for 
installing. It provides a command line interface for searching and 
installing packages from Monticello and SqueakMap even without squeakmap 
installed, so in theory it supports 3.7 and earlier. Installer can be 
the second item loaded into the 3.9 KernelImage (it needs Network as a 
prerequisite but this could be changed) From that point on Installer can 
be used to load any remaining packages.

The idea is to begin with the minimal KernelImage, point installer at a 
script (in a wiki, or monticello) which will load (and potentially test) 
any configuration that you like. The script could begin with REPLServer 
(a telnet service), some basic Logging, and a Text Based Test Runner. 
(like the one in SSpec.)

Installer Services
1. Search and install from SqueakMap (tested  .st .cs .mcz .sar )
2. Search and install from SqueakMap via http (doesnt need SMLoader etc)
3. Search and install from Monticello project (http only for now)
4. Install from file served by http
5. Execute a Script embedded in a web page according to user defined 
markers (default markers := '<code st>...</code st>' ; html tags in the 
between the markers are stipped out, entities substituted, and the 
resulting script can then be executed. Tested in wiki.squeak.org)

6. List and Install from files uploaded to a given Mantis bug report.
6b. Alert user if mantis bug report has been updated (i.e. if it is more 
recent that the given date).

7.. Execute the last one of any scripts embedded in a Mantis bug report  
user-note field, according to user defined markers. (default := '"fix 
begin"..."fix end" )
7b. Alert user if bug report has been updated (as 6b)

Embedded Scripts (more advanced)
As a feature useful for the KernelImage projects it would be nice to 
load only the esssential code for any one bug fix/script run by 
installer, ignoring the tests. In this case it becomes desirable to tag 
the script with delimeters and a marker which marks the beginning of the 
test code which can be safely ignored. The markers that I settled upon 
were '"fix begin"..."fix test" ..."fix end". I originally chose these in 
order to make the extraction of "load only the test code" easier however 
having improved the implementation it is now possible to use any user 
defined delimeters that make sense.

8. Mantis bug reports can embed scripts which can reference further bug 
report files or scripts, and so on. The ability to ignore the test code 
portion of a script is carried over to any embedded scripts that are 
encountered.

does this help?

The main documentation page http://wiki.squeak.org/Installer (to be 
updated soon with latest info)

best regards

Keith








> On 12/21/06, Keith Hodges <keith_hodges at yahoo.co.uk> wrote:
>>
>> > Ok after some thought I have changed the proposed syntax to be simpler
>> > and easier to parse/execute.
>> "fix begin"
>> Installer mantis bug: 9999 fix: 'Join.4.cs'.
>> Installer fixBug: 1234.
>> "fix test"
>> Installer mantis bug: 9999 fix: 'JoinTest.1.cs'.
>> "fix end"
>
> I don't understand this.  "Simpler to parse execute" does not necessarily
> mean "simpler to understand".
>
> If this is going to become a standard, it needs more documentation than
> an e-mail message..
>
> -Ralph
>
>



Send instant messages to your online friends http://uk.messenger.yahoo.com 



More information about the Squeak-dev mailing list