Automatically install packages by parsing CMake logs
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
cmake-package-installer
This is a solution to the eternal problem of figuring out what packages to install, depending on what the CMake project requires.
The tool accomplishes this by parsing the CMake logs and then using the distribution's existing packaging channels to lookup which packages provide the necessary libraries, package configurations, etc.
This tool is a proof of concept.
Design Goals
- Attempt to support every distribution supported by
kdesrc-build
:- Debian
- OpenSUSE
- Fedora
- Mageia
- Gentoo
- Arch Linux
- Alpine
- FreeBSD
- Parse the following types of missing packages:
- CMake packages
- Pkgconfig packages
- QML runtime dependencies
Current Blockers
- The distribution MUST support grabbing arbitrary file information from packages
- Debian (unknown)
- OpenSUSE (unknown)
- Fedora (supported via
dnf provides
) - Mageia (unknown)
- Gentoo (probably won't work, but there is a community database)
- Arch Linux (think so)
- Alpine (unknown)
- FreeBSD (unknown)
Architecture
- The user runs a CMake build, probably through
kdesrc-build
. - The build fails, presumably due to missing packages.
cmake-package-installer
parses the CMake log, and finds the probable missing packages that contain the required files that CMake is looking for.- The package list is compiled and suggested to the user to install.