diff mbox series

trace-cmd: Have /etc paths honor $(prefix) if not the default

Message ID 20200129104312.2ba4a7a1@gandalf.local.home (mailing list archive)
State Accepted
Commit e8fb01140eb2800f9ef419a0f8e5bfeb51292c55
Headers show
Series trace-cmd: Have /etc paths honor $(prefix) if not the default | expand

Commit Message

Steven Rostedt Jan. 29, 2020, 3:43 p.m. UTC
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

As some files need to be placed in the root directory to take effect (like
the bash_completion) and not the normal /usr/local directory, they ignore
the $(prefix) and install directly. Unfortunately, this means that if
someone does a build like "make O=/tmp/mydir install" those files will still
try to be installed in the root "/etc" directory, and that will not work if
the user installing does not have permission.

Have the "/etc" directory change if prefix is something other than
"/usr/local".

Reported-by: Julia Lawall <julia.lawall@inria.fr>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=206277
Fixes: 77bdcb9b2 ("trace-cmd: Install trace-cmd.bash when installing")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 Makefile | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 477625f7..d75f1437 100644
--- a/Makefile
+++ b/Makefile
@@ -51,6 +51,13 @@  libdir_SQ = '$(subst ','\'',$(libdir))'
 includedir = $(prefix)/include
 includedir_SQ = '$(subst ','\'',$(includedir))'
 
+ifeq ($(prefix),/usr/local)
+etcdir ?= /etc
+else
+etcdir ?= $(prefix)/etc
+endif
+etcdir_SQ = '$(subst ','\'',$(etcdir))'
+
 export man_dir man_dir_SQ html_install html_install_SQ INSTALL
 export img_install img_install_SQ
 export DESTDIR DESTDIR_SQ
@@ -87,8 +94,8 @@  HELP_DIR = -DHELP_DIR=$(html_install)
 HELP_DIR_SQ = '$(subst ','\'',$(HELP_DIR))'
 #' emacs highlighting gets confused by the above escaped quote.
 
-BASH_COMPLETE_DIR ?= /etc/bash_completion.d
-LD_SO_CONF_DIR ?= /etc/ld.so.conf.d
+BASH_COMPLETE_DIR ?= $(etcdir)/bash_completion.d
+LD_SO_CONF_DIR ?= $(etcdir)/ld.so.conf.d
 TRACE_LD_FILE ?= trace.conf
 
 export PLUGIN_DIR_TRACEEVENT