• Ian's blog post: state of the build

  last modified November 8, 2007 by ianb

Fassembler is starting to get somewhere now.  I've made starting to use it as easy as possible (probably the first use of the extensability features of virtualenv):

  svn cat https://svn.openplans.org/svn/fassembler/trunk/fassembler-boot.py > fassembler-boot.py
  python fassembler-boot.py ENV

This will install fassembler proper so you can call ENV/bin/fassembler

To see all the builds available, do:

  fassembler --list-projects

For now they are just all in fassembler itself (which is why they are each fassembler:something); they might be moved out later.  The project fassembler:topp creates the basic structure for the site.  You can do:

  ENV/bin/fassembler fassembler:topp base_port=9000

This sets it up so that all the applications will be installed in a block starting at port 9000 (currently 9000-9005).

From there you can do:

  ENV/bin/fassembler fassembler:supervisor fassembler:tasktracker

And so on, to build the individual projects.  There's a patch I want to do to supervisor to get it to really work for us (to make the config files more manageable), but my plan is to use supervisor for all the process management.  Starting up the supervisor instance will effectively start up our "site", and stopping it will shut it down.  All the many server processes we have are then kind of aggregated as children of supervisor.  But it doesn't quite work until I get those config files working.

I have opencore building kind of, in that it successfully runs and puts a bunch of files in place.  I haven't attempted to use it yet.  It's also a slow build; I know enough about the build that I'll probably try to make that build fast, so that I can debug later problems more quickly.

A lot of effort has gone into debugging tools, as people will encounter system-specific bugs either as code changes, or because of their platforms.  So if you encounter any errors there will probably be an interactive prompt with some options.  Whenever I've hit a confusing error I've tried to make it less confusing this way.

Also, if you are curious about a specific build, you can do:

  fassembler -H fassembler:opencore

And you'll see a list of all the settings available and what exactly the build will do.  I've tried to make these pretty clear, so I think they should be helpful.  Technically you can use a config file, but so far there's been no need, and I'm not really sure if there will be a need.

Anyway, my next steps are to work on opencore, and to do general cleanup; there's some name drift, everything should have docstrings, etc.