summaryrefslogtreecommitdiffstats
path: root/tools/path_replacer.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'tools/path_replacer.sh.in')
-rw-r--r--tools/path_replacer.sh.in40
1 files changed, 40 insertions, 0 deletions
diff --git a/tools/path_replacer.sh.in b/tools/path_replacer.sh.in
new file mode 100644
index 0000000..deb1264
--- /dev/null
+++ b/tools/path_replacer.sh.in
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+# Copyright (C) 2014-2020 Internet Systems Consortium, Inc. ("ISC")
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This script replaces @prefix@, @localstatedir@ and other automake/autoconf
+# variables with their actual content.
+#
+# Invocation:
+#
+# ./path_replacer.sh input-file.in output-file
+#
+# This script is initially used to generate configuration files, but it is
+# generic and can be used to generate any text files.
+
+# shellcheck disable=SC2034
+# SC2034: ... appears unused. Verify use (or export if used externally).
+
+# Exit with error if commands exit with non-zero and if undefined variables are
+# used.
+set -eu
+
+prefix="@prefix@"
+sysconfdir="@sysconfdir@"
+localstatedir="@localstatedir@"
+exec_prefix="@exec_prefix@"
+libdir="@libdir@"
+
+echo "Replacing \@prefix\@ with ${prefix}"
+echo "Replacing \@libdir\@ with ${libdir}"
+echo "Replacing \@sysconfdir\@ with ${sysconfdir}"
+echo "Replacing \@localstatedir\@ with ${localstatedir}"
+
+echo "Input file: $1"
+echo "Output file: $2"
+
+sed -e "s@SEP@\@libdir\@@SEP@${libdir}@SEP@g; s@SEP@\@localstatedir\@@SEP@${localstatedir}@SEP@g; s@SEP@\@prefix\@@SEP@${prefix}@SEP@g; s@SEP@\@sysconfdir\@@SEP@${sysconfdir}@SEP@g" "${1}" > "${2}"