CMake build system issues #17287
Replies: 1 comment
-
This is on the TODO list long-term, it’s just not something we’ve had a chance to work on yet.
The compatibility issue should be resolved in the latest stable versions and nightlies, provided the platforms in question actually install Protobuf’s CMake package configuration module, we’ve had a workaround for the problem in the master branch since a bit before the v1.45.0 release. For the record, the issue is actually in CMake (https://gitlab.kitware.com/cmake/cmake/-/issues/24321 is the relevant upstream issue) and is by no means specific to Netdata (any project which uses CMake as it’s build system, depends on Protobuf, and searches for Protobuf using Regarding the handling of external projects in general, we need to reevaluate workarounds on our end for some questionable behavior from debhelper to better support these cases, but I do not know how soon that may actually happen.
There are long-term plans to move handling of this into the build system itself, which should greatly simplify things.
An option to skip both of these (and possibly a few other things to simplify things for downstream packaging) is on my TODO list.
This has been brought up before, though I’m currently unable to find any of the issues where it was discussed. Discussion pretty much always ends up dying off with nothing actually being done, though if you want to open an issue about it, that may finally get things moving again.
Please raise this as an issue on it’s own. |
Beta Was this translation helpful? Give feedback.
-
Downstream packaging is a bit painful right now. Some points to address:
GNUInstallDirs
module provided with CMake instead of assuming that the prefix is/
and things go into/usr/lib
etc.install-service.sh
and related files should not be installed. Instead, which service files are to be installed should be a build system option or left to the packager.edit-config
should not be installed into the sysconfig directory. For FHS compliance, it should perhaps be in libexec, or sbin with a name likenetdata-edit-config
.ndsudo
is a suid executable with root permissions. A cursory glance at its implementation tells me I cannot package it for security reasons: It searchesPATH
, which means it still trivially allows running arbitrary programs with root permissions via the netdata user.Beta Was this translation helpful? Give feedback.
All reactions