rpm:examine
Analyzes RPM build.log failures to provide error summary, root cause, and actionable fixes.
/plugin marketplace add opendatahub-io/ai-helpers/plugin install python-packaging@odh-ai-helpersrpm:examine
/rpm:examine <copr-chroot-url>
/rpm:examine <build-log-url> <srpm-url>
/rpm:examine <build.log> <specfile|dist-git> [sources]
Analyze RPM build.log failures. Provide a comprehensive analysis with error summary, root cause, and actionable fixes.
Provide a single Copr build results URL to automatically fetch all build artifacts or provide two URLs - one for build.log and one for SRPM.
What gets downloaded:
build-live.log.gz or build.log - Main build log*.src.rpm - Source RPM containing spec file, sources, and patchesroot.log.gz, state.log - Additional context logs (optional)Provide paths to local build artifacts.
Arguments:
<build.log> - Path to build log file (required)<specfile|dist-git> - Path to spec file or dist-git repo clone (required)[sources] - Path to source tarball or unpacked sources (optional)Context gathering: If sources not provided, search in:
curl -LO <copr-url>/builder-live.log.gz
curl -LO <copr-url>/*.src.rpm
curl -LO <copr-url>/root.log.gz # optional
curl -LO <copr-url>/state.log # optional
gunzip *.log.gz (if needed)rpm2cpio *.src.rpm | cpio -idmv*.tar.* or *.src.rpmCollect all relevant information before analysis:
Spec file analysis:
Additional context:
git diff to check uncommitted changes%{name}.conf, %{name}.desktop, systemd unitsroot.log, state.log, mock.logSource code (if needed):
CMakeLists.txt, Makefile.am, setup.py, etc.%prep - Source unpacking and patch application%build - Compilation and building%install - Installation to buildroot%check - Test suite execution"Error:", "FAILED", "fatal error:""configure: error:", "No such file""undefined reference", "make: ***""CMake Error", "ninja: build stopped""ModuleNotFoundError", "ImportError""Ignoring extra path from command line" - May indicate broken line continuation in spec file"add_subdirectory given source" + "not an existing directory" - May indicate missing options due to spec formattingSpec file whitespace issues:
\ instead of \) - Breaks line continuation, causing subsequent lines to be completely ignored by the shell%if blocks)cat -A specfile.spec to reveal trailing spaces (shows as \ $ at end of line) or grep '\\ $' specfile.specProvide a clear, structured analysis:
Brief description of what failed (1-2 sentences)
Technical explanation of why it failed:
Specific, actionable steps to resolve:
Optional section for: