github bro source

The answer to this question may be “download the source from bro.org”, but I have to ask.

I’m working on a project where we are pulling the source for bro and building it in an automated way. Unfortunately, bro.org is blocked by our proxy currently, so I tried pulling it from github.com instead (https://github.com/bro/bro/archive/v2.5.4.tar.gz).

The problem is that it doesn’t build - the cmake directory in the source archive is empty, as is that directory on the github master branch. I went back to the release source (https://github.com/bro/bro/releases/tag/release) and the 2.5.3 source (https://github.com/bro/bro/releases/tag/v2.5.3) and they both have the same problem.

Is the source in github just not being actively maintained any more?

Try the --recursive flag with git clone:

git clone --recursive git://git.bro.org/bro

(It’s mentioned in the INSTALL file but I’ve overlooked it before myself.)

Or:

git clone --recursive https://github.com/bro/bro.git

(since you mentioned that bro.org is blocked by your proxy)

It is, however Bro's git repos uses submodules and those release
tarfiles are automatically created by GitHub and they do not support
git submodules (it's a feature GitHub would have to implement).

And if you were to recursively clone from GitHub, you'd still have the
problem that the submodule URLs point at git.bro.org. So to
recursively clone purely from GitHub you could try some git URL
rewriting tricks:

  git config --global url.https://github.com/bro.insteadOf git://git.bro.org
  git clone --recursive https://github.com/bro/bro.git

The first command writes to your ~/.config file and so will alter all
subsequent git commands. There's probably some way to roll that into
the clone command via `git -c ...` if you need to. You can also
specify desired branch/tag via a flag to the clone command.

- Jon