rsyslog_build
This skill standardizes the environment setup and build process for the rsyslog project. It ensures that agents use the most efficient build commands and handle bootstrap logic correctly.
Quick Start
- Setup Environment: Run
.agent/skills/rsyslog_build/scripts/setup.shto install dependencies. - Efficient Build: Use
make -j$(nproc) check TESTS=""for incremental builds. - Bootstrap: Use
./autogen.sh --enable-debug [options]ifMakefileis missing or build configuration changes.
Detailed Instructions
1. Environment Setup
The project requires a set of development libraries (C toolchain, libcurl, libfastjson, etc.).
- Use the provided script:
bash .agent/skills/rsyslog_build/scripts/setup.sh - This script wraps
devtools/codex-setup.shand ensures all CI-standard tools are present.
2. Bootstrapping (autogen.sh)
You MUST run ./autogen.sh in the following cases:
- After a fresh checkout (no
Makefileexists). - If you modify
configure.ac, anyMakefile.am, or files underm4/. - If you need to enable/disable specific modules (e.g.,
--enable-imkafka).
Example:
./autogen.sh --enable-debug --enable-testbench --enable-imdiag --enable-omstdout
3. High-Performance Build
Always prefer the incremental build-only command. It builds the core and all test dependencies without the overhead of running the full test suite.
Command:
make -j$(nproc) check TESTS=""
4. Runtime & Library Considerations
When modifying runtime/ or exported symbols:
- Ensure the library version script (if touched) is consistent.
- Incremental builds handle
-M../runtime/.libscorrectly for dynamic loading.
Related Skills
rsyslog_test: For running validations after a successful build.rsyslog_module: For module-specific build flags.