Comments (5)
This reproduces with the default template.
To expand on this, we install SCRIPTS
registered with spicy_add_analyzer
iff SPICY_SCRIPTS_OUTPUT_DIR_INSTALL
is set,
cmake/ZeekSpicyAnalyzerSupport.cmake
Lines 75 to 84 in cc92336
The original code in zeek/spicy-plugin populated this from spicyz --print-plugin-path
, https://github.com/zeek/spicy-plugin/blob/a3e38215e7eb3ee733132c43cc3942379b038fc4/cmake/ZeekSpicyAnalyzerSupport.cmake#L161-L163
That flag now returns nothing for the version on the Zeek master branch, https://github.com/zeek/spicy-plugin/blob/a3e38215e7eb3ee733132c43cc3942379b038fc4/cmake/ZeekSpicyAnalyzerSupport.cmake#L161-L163
I am not really sure where the right location would be. Any ideas @rsmmr?
from cmake.
The default package template for Spicy analyzers should set a script_dir
in zkg.meta
which makes analyzer Zeek scripts accessible at runtime, so this does not seem to be an issue. That being said, if one installs a Spicy analyzer directly from a manual CMake build, they will not be installed; this is similar to how manual installs of other Zeek plugin behave (also require manual copy).
I looked and the Spicy analyzers have behaved this way since the 5.x timeframe so the CMake code under that conditional has been dead code for some time.
from cmake.
this is similar to how manual installs of other Zeek plugin behave (also require manual copy).
I'm not following here. Doing a make install
of a classic plugin copies its scripts to lib/zeek/plugins/<plugin_name>
(tested using latest package template). Zeek 4.2 even introduced zeek_plugin_scripts()
to trigger rebuilds on script changes.
Long story short: make install
not resulting in a working installation is an issue that should be fixed. In case fiddling with scripts is out of scope, the install target should be removed altogether.
from cmake.
I'm not following here. Doing a make install of a classic plugin copies its scripts to lib/zeek/plugins/<plugin_name>
Sorry, that was me adding to the confusion because I thought that didn't quite work with normal plugins either. But that was about a non-default scripts_dir in zkg.meta. The ./scripts
dir is always installed - with some quirks around zkg interaction.
https://zeekorg.slack.com/archives/CSZBXF6TH/p1687910485598759?thread_ts=1687887010.223089&cid=CSZBXF6TH
amzn/zeek-plugin-s7comm@1737987
Long story short: make install not resulting in a working installation is an issue that should be fixed. In case fiddling with scripts is out of scope, the install target should be removed altogether.
Re-opening is the right call. Pinging @rsmmr again, if he had a preferred solution.
from cmake.
Iirc these used to go into a scripts directory associated with the plugin, which the plugin would automatically add to ZEEK_PATH so that they would be found. With the the plugin now part of Zeek, I''m thinking these should probably now just install into Zeek's site
directory under the analyzer's name.
from cmake.
Related Issues (10)
- Packaging Plugins creates RPMs with File Conflicts HOT 5
- scripts not added through zeek_plugin_script are still added to packaging
- cmake policy warning CMP0110 HOT 1
- Plugin-level scripts install via symlink back into the source tree
- Remove vendored cmake files?
- zeek_add_plugin: No zeek_plugin_scripts() equivalent? HOT 4
- BifCl.cmake needs Zeek::BifCl triggered when touching CMakeLists.txt HOT 1
- Required compiler versions are out-of-date from Zeek documentation
- Consider installing Spicy grammars for bundled Spicy parsers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmake.