# bro-devel package?

**URL:** <https://community.zeek.org/t/bro-devel-package/5322>\
**Category:** Development\
**Tags:** development\
**Created:** [May 24, 2018, 7:50pm UTC](https://community.zeek.org/t/bro-devel-package/5322 "2018-05-24T19:50:32Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vlad\_Grigorescu](https://avatars.discourse-cdn.com/v4/letter/v/a3d4f5/32.png) [@Vlad\_Grigorescu](https://community.zeek.org/u/Vlad_Grigorescu)\
**Post date:** [May 24, 2018, 7:50pm UTC](https://community.zeek.org/t/bro-devel-package/5322/1 "2018-05-24T19:50:32Z")

</div>

There are a couple of cases where I think it’d be useful to have a bro-devel package – a package that I can install on a system, and then be able to build plugins against Bro. (This is the same model as other \*-devel packages, such as openssl, libpcap, etc.)

Right now, if I compile Bro from source, run make install, I can’t build a package with what’s in /usr/local – Bro needs the entire source tree, since the required headers are not present in /usr/local.

I’m curious how people are dealing with this issue, and if anyone has thoughts on whether this would be useful, and if so, what it would take to build such a package.

Thanks,

–Vlad

---

<div class="post-metadata">

**Author:** ![Michal\_Purzynski1](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@Michal\_Purzynski1](https://community.zeek.org/u/Michal_Purzynski1)\
**Post date:** [May 24, 2018, 8:04pm UTC](https://community.zeek.org/t/bro-devel-package/5322/2 "2018-05-24T20:04:53Z")

</div>

Well that’s s great question!

Right now my spec for building plugins downloads entire bro tree and does some cmake plugin to avoid waiting for the tree to build.

---

<div class="post-metadata">

**Author:** ![Azoff\_Justin\_S](https://avatars.discourse-cdn.com/v4/letter/a/dec6dc/32.png) [@Azoff\_Justin\_S](https://community.zeek.org/u/Azoff_Justin_S)\
**Post date:** [May 24, 2018, 8:21pm UTC](https://community.zeek.org/t/bro-devel-package/5322/3 "2018-05-24T20:21:47Z")

</div>

I ran into this issue in two places: on our infrastructure and working out how to support bro as a language on travis-ci.

For our installations I worked around it by just building packages that contain bro plus all the plugins I need and dump the entire thing into a single RPM. This works ok for me, but would never work for something like debian that is probably trying to figure out how to package some of the bro plugins.

This also doesn't work for adding bro support for travis.. the OBS RPMs come close.. we can install those plus bro-pkg, but any packages that need to be built against bro won't compile.

---

<div class="post-metadata">

**Author:** ![Jon\_Siwek](https://avatars.discourse-cdn.com/v4/letter/j/71c47a/32.png) [@Jon\_Siwek](https://community.zeek.org/u/Jon_Siwek)\
**Post date:** [May 24, 2018, 8:28pm UTC](https://community.zeek.org/t/bro-devel-package/5322/4 "2018-05-24T20:28:30Z")

</div>

> There are a couple of cases where I think it'd be useful to have a bro-devel  
> package -- a package that I can install on a system, and then be able to  
> build plugins against Bro. (This is the same model as other \*-devel  
> packages, such as openssl, libpcap, etc.)

Yes, I think it's useful and something that should be done. It was  
fairly low on my list of things to try to do before 2.6. Related:

[https://bro-tracker.atlassian.net/browse/BIT-1922](https://bro-tracker.atlassian.net/browse/BIT-1922)

> I'm curious how people are dealing with this issue, and if anyone has  
> thoughts on whether this would be useful, and if so, what it would take to  
> build such a package.

My guess as to what needs to be done:

\* separate bifcl into its own submodule: I think this should be easy  
\* install Bro's headers: at least I think that's all that we need to  
do on our end, it's also a bit of an open question as to whether we  
just install them all for now until we get a more organized API or can  
get away with a smaller subset  
\* update the plugin CMake/configure skeletons and/or bro-config to be  
able to make use of the above two points

- Jon

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/zeek/original/1X/f09d732bc2cc7c7cc7e35db67cf4e1d5233ce7a7.png) [@system](https://community.zeek.org/u/system)\
**Post date:** [May 6, 2022, 3:45pm UTC](https://community.zeek.org/t/bro-devel-package/5322/5 "2022-05-06T15:45:49Z")

</div>


