0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-17 19:22:40 +00:00
netdata_netdata/system/Makefile.am
Austin S. Hemmelgarn 56e22c16e8
Cleanly reimplement system/edit-config.in. ()
* Cleanly reimplement system/edit-config.in

- Added support for pulling config files from Docker containers.
- Added auto-detection for Docker containers.
- Use directory the script is in for target directory for config files
  instead of templating it in at build time.
- Prefix error messages with `ERROR:`.
- Robustly check for a valid editor _before_ invoking it.
- Add support for actual command-line options, including a proper
  `--help` option.
- Use prefix matching of absolute paths to determine file validity
  instead of blindly excluding certain path types.
- If editing a non-existing file we do not provide a stock copy of,
  create an empty file instead of throwing an error.
- Make the whole script properly modular.

* Improve robustness of container autodetection.

Instead of relying on the lack of certain directories on a host system,
use some relatively standard checks to determine if we appear to be
running in a container.

* Auto-detect stock config paths at runtinme instead of hard-coding them at build time.

THis will simplify testing of the script, as well as making it a bit
more resilient to users moving things around.

* Add an option to list known config files.

* Fix container environment check to not require root.

* Fix help output.

* Fix path prefix check.

* Fix file path handling.

* Use correct variable when editing files.

* Use correct path for `env`.

* Source profile before running `set -e`.

To prevent questionablly written profiles from causing the script to
exit.

* Produce columnar output when listing valid files.

* Fix copy check.

* Fix build issues.

* fix build issues

* formatting

Co-authored-by: ilyam8 <ilya@netdata.cloud>
2022-12-06 10:53:30 -05:00

69 lines
1.5 KiB
Makefile

# Copyright (C) 2015 Alon Bar-Lev <alon.barlev@gmail.com>
# SPDX-License-Identifier: GPL-3.0-or-later
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
CLEANFILES = \
netdata-openrc \
netdata.logrotate \
netdata.service \
netdata.service.v235 \
netdata-init-d \
netdata-lsb \
netdata-freebsd \
netdata.plist \
netdata.crontab \
netdata-updater.service \
$(NULL)
include $(top_srcdir)/build/subst.inc
SUFFIXES = .in
dist_config_SCRIPTS = \
edit-config \
$(NULL)
dist_config_DATA = \
.install-type \
$(NULL)
# Explicitly install directories to avoid permission issues due to umask
install-exec-local:
$(INSTALL) -d $(DESTDIR)$(configdir)
$(INSTALL) -d $(DESTDIR)$(libsysdir)
libexecnetdatadir=$(libexecdir)/netdata
nodist_libexecnetdata_SCRIPTS = \
install-service.sh \
$(NULL)
nodist_libsys_DATA = \
netdata-openrc \
netdata.logrotate \
netdata.service \
netdata.service.v235 \
netdata-init-d \
netdata-lsb \
netdata-freebsd \
netdata.plist \
netdata.crontab \
netdata-updater.service \
$(NULL)
dist_libsys_DATA = \
netdata-updater.timer \
$(NULL)
dist_noinst_DATA = \
install-service.sh.in \
netdata-openrc.in \
netdata.logrotate.in \
netdata.service.in \
netdata.service.v235.in \
netdata-init-d.in \
netdata-lsb.in \
netdata-freebsd.in \
netdata.plist.in \
netdata.conf \
netdata.crontab.in \
netdata-updater.service.in \
$(NULL)