[SSSD] [PATCH] BUILD: Use $(MKDIR_P) in Makefile.am

Jakub Hrozek jhrozek at redhat.com
Fri Oct 3 14:46:25 UTC 2014


Hi,

While I was talking to the Fedora automake maintainer about an 
enhancement related to test environment, he suggested to make the change
in the attached patch.
-------------- next part --------------
>From aece15896843fba07626241db5c30cf22035142a Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek at redhat.com>
Date: Wed, 1 Oct 2014 14:26:34 +0200
Subject: [PATCH] BUILD: Use $(MKDIR_P) in Makefile.am

It was suggested by the Fedora automake maintainer to use the autoconf
macro $(MKDIR_P) instead of calling "mkdir -p" directly as the macro is
more portable and might actually expand to something else than "mkdir
-p" on some platforms (usually it would be a variant of install.sh)
---
 Makefile.am  | 29 ++++++++++++++++-------------
 configure.ac |  1 +
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 86a057229d394810dc8afcabcf7043d769f4491c..eb0e649437f465d3354a0c063a29c65203824506 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -75,6 +75,8 @@ sudolibdir = @sudolibpath@
 
 UNICODE_LIBS=@UNICODE_LIBS@
 
+MKDIR_P = @MKDIR_P@
+
 AM_CFLAGS =
 if WANT_AUX_INFO
     AM_CFLAGS += -aux-info $@.X
@@ -1182,7 +1184,7 @@ TESTS_ENVIRONMENT = LDB_MODULES_PATH=$(abs_top_builddir)/ldb_mod_test_dir \
                     $(AUX_TESTS_ENVIRONMENT)
 
 ldb_mod_test_dir: memberof.la
-	mkdir -p $(builddir)/ldb_mod_test_dir
+	$(MKDIR_P) $(builddir)/ldb_mod_test_dir
 	cp $(builddir)/.libs/memberof.so $(builddir)/ldb_mod_test_dir
 
 check_LTLIBRARIES = \
@@ -2702,7 +2704,7 @@ src/sysv/systemd/journal.conf: src/sysv/systemd/journal.conf.in Makefile
 	$(replace_script)
 
 installsssddirs::
-	mkdir -p \
+	$(MKDIR_P) \
     $(DESTDIR)$(includedir) \
     $(DESTDIR)$(libdir) \
     $(DESTDIR)$(bindir) \
@@ -2725,7 +2727,8 @@ installsssddirs::
     $(DESTDIR)$(pubconfpath)/krb5.include.d \
     $(DESTDIR)$(gpocachepath) \
     $(DESTDIR)$(sudolibdir) \
-    $(DESTDIR)$(autofslibdir)
+    $(DESTDIR)$(autofslibdir) \
+    $(NULL)
 
 if HAVE_DOXYGEN
 docs:
@@ -2770,15 +2773,15 @@ if BUILD_PYTHON_BINDINGS
 	fi
 endif
 	for doc in $(SSSD_DOCS); do \
-		mkdir -p $$doc $(DESTDIR)/$(docdir); \
+		$(MKDIR_P) $$doc $(DESTDIR)/$(docdir); \
 		cp -a $$doc $(DESTDIR)/$(docdir)/; \
 	done;
 
 if HAVE_SYSTEMD_UNIT
-	mkdir -p $(DESTDIR)$(systemdunitdir)
-	mkdir -p $(DESTDIR)$(systemdconfdir)
+	$(MKDIR_P) $(DESTDIR)$(systemdunitdir)
+	$(MKDIR_P) $(DESTDIR)$(systemdconfdir)
 else
-	mkdir -p $(DESTDIR)$(initdir)
+	$(MKDIR_P) $(DESTDIR)$(initdir)
 endif
 
 install-data-hook:
@@ -2786,7 +2789,7 @@ install-data-hook:
        $(DESTDIR)/$(nsslibdir)/libnss_sss.so
 	mv $(DESTDIR)/$(nsslibdir)/libnss_sss.so.2.0.0 $(DESTDIR)/$(nsslibdir)/libnss_sss.so.2
 	if [ ! $(krb5rcachedir) = "__LIBKRB5_DEFAULTS__" ]; then \
-        mkdir -p $(DESTDIR)/$(krb5rcachedir) ; \
+        $(MKDIR_P) $(DESTDIR)/$(krb5rcachedir) ; \
 	fi
 
 uninstall-hook:
@@ -2835,11 +2838,11 @@ dist_noinst_DATA += \
     COPYING
 
 rpmroot:
-	mkdir -p $(RPMBUILD)/BUILD
-	mkdir -p $(RPMBUILD)/RPMS
-	mkdir -p $(RPMBUILD)/SOURCES
-	mkdir -p $(RPMBUILD)/SPECS
-	mkdir -p $(RPMBUILD)/SRPMS
+	$(MKDIR_P) $(RPMBUILD)/BUILD
+	$(MKDIR_P) $(RPMBUILD)/RPMS
+	$(MKDIR_P) $(RPMBUILD)/SOURCES
+	$(MKDIR_P) $(RPMBUILD)/SPECS
+	$(MKDIR_P) $(RPMBUILD)/SRPMS
 
 rpmbrprep: dist-gzip rpmroot
 if GIT_CHECKOUT
diff --git a/configure.ac b/configure.ac
index 2e1722debbf4d7d4d881fc2e591481021add6d6b..0009605ce33747c75db086fcc1db084f62e6767b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,6 +20,7 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 AC_DISABLE_STATIC
 AC_PROG_INSTALL
 AC_PROG_LIBTOOL
+AC_PROG_MKDIR_P
 LT_LIB_DLLOAD
 AC_CONFIG_MACRO_DIR([m4])
 AM_GNU_GETTEXT([external])
-- 
1.9.3



More information about the sssd-devel mailing list