Skip to content

[Feat]: Allow building with system corrosion instead of requiring fetch at configure time #23436

Description

@nethershaw

Problem

Fetching any thing from the Internet during any build of any software is extremely problematic.

Description

This is a polite reminder that any sandboxed build system that correctly forbids the practice of downloading any dependencies at build time (cf. OpenWRT, Gentoo Linux) will also correctly fail at the point downloading corrosion during configuration is attempted. This condition is true when ENABLE_PLUGIN_NETFLOW and ENABLE_PLUGIN_OTEL are not explicitly set to OFF.

As a general rule: any external dependency you might bundle or download yourselves at build time for any reason should also be made acceptable from a system source through a build option (precedent: ENABLE_BUNDLED_PROTOBUF, etc.).

Importance

really want

Value proposition

  • By precedent (cf. Protobuf) and by the necessities that a valid build strategy imposes.
  • Generally helpful for adoption not to make building incompatible with more strict build environments when it is just as easy to avoid such incompatibilities.
  • Netdata (and any trusted application) should always be possible to build from a prepared and validated set of source code without access to the Internet.

Proposed implementation

As done previously with bundled dependencies: if -DENABLE_BUNDLED_<DEP>=OFF is passed, look for <DEP> to be provided by the build system and do not attempt to use/fetch your own.

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestNew featuresneeds triageIssues which need to be manually labelledpriority/lowA 'nice to have' not critical issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions