[Bro-Dev] Broctl installation process clean up

Jonathan Siwek jsiwek at ncsa.illinois.edu
Mon Nov 8 11:30:28 PST 2010

> I agree. One reason for the current installation is to essentially
> get around the fact that there's no coherent way of installing all
> the pieces easily, and broctl's install tries to hide that as good
> as it can and just assembles what it needs.

While I was looking into it, I was thinking that the Python distutils could have done the broctl installation.  Not saying that I want to go with distutils here, just wondering if you had considered it since (from broccoli bindings thread) it sounds like it may be desirable for Bro to maintain distutils build/installation of Python stuff as a standard.

> >  and initial installation of the Broctl files while `broctl install`
> >  would still be responsible for generating scripts from templates,
> >  updating to new version of .cfg and site policy files, and syncing
> >  to worker nodes (at least I think that's a summary of what broctl
> >  does).
> That sounds good. The one additional thing we should think about
> (per earlier mails) is getting rid of generating scripts from
> templates. How much work do you think would it be to adapt the
> installation to (1) generate a single shell script, say
> broctl-config.sh[1], with all (relevant) configure options; and (2)
> use static versions for all the helper scripts which then source
> broctl-config.sh before doing anything else. That way, we should be
> able to get rid of (nearly?) all the Target/TargetDev entries in
> BroControl/install.py, leaving them to CMake instead. I'm thinking
> we need to do that anyway eventually, and doing so later would then
> again require to work on the installation.

That doesn't sound hard to do, but I'm not sure I understand completely (and don't know what earlier mails you're referencing).

Do you mean that CMake installs something like a broctl-config.sh.in and that `broctl install` transforms it into the broctl-config.sh that the now-static scripts will source?

Or that everything is now static, broctl-config.sh and also the scripts?
> > The policy files into $broctl_prefix/share/bro ?
> Better into a subdirectory of that, to keep them seperate from
> Bro's.

Right; thanks.  I see that they get put in $prefix/share/bro/broctl currently.

> One more thing: some easy way to change the default paths where the
> various broctl pieces go would be nice; seems distributions will
> need that (also, if it makes sense to change any of the default
> paths generally (for broctl, or also Bro itself), now would be the
> right time for that as well).

I'll try to anticipate as much as I can, but getting things perfect for packaging purposes will probably require another iteration after the basic CMake build is done (or else my head might explode).

- Jon

More information about the bro-dev mailing list