As part of the CMake porting process, I think it makes sense to clean up Broctl's initial installation process, which currently creates a dependence between some of the `broctl install` functionality and the Bro distribution source dir. That's not going to be compatible when we want to have Broctl packaged individually as a Bro optional/add-on package.
I propose that we let CMake take care of the dependency checking (other Bro components need to be installed first) 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).
The specific functionality that would be lost is `broctl install --make` (used by current Makefile) and also the DevMode=1 feature that seems to basically turn `broctl install` into a `broctl install --make` in order to update the files from the distribution source. Instead, the `make install` target generated by CMake can accomplish that task and probably remind the user that they must also `broctl install` if they want to update scripts/config or sync to workers.
I think I've nearly thought this all the way through and wrote the details down here, for the curious:
Good plan or bad plan?
- Jon