[Freeipa-devel] [PATCH] 0036 make install doesn't create needed directories

Alexander Bokovoy abokovoy at redhat.com
Thu Nov 17 16:56:20 UTC 2011


On Thu, 17 Nov 2011, Rob Crittenden wrote:

> Alexander Bokovoy wrote:
> >When installing client from source with 'make client-install'
> >some essential directories are not created which makes
> >ipa-client-install to fail.
> >
> >I have opted to allow creating /etc/ipa and
> >/var/lib/ipa-client/sysrestore only if DESTDIR is specified.
> >Distributing ipa-client in source form is defeating purpose of
> >FreeIPA, in most cases proper packaging should be preferred. What's
> >important is to hint to packagers what directories should be
> >essential, and thus created in $(DESTDIR). Even source-based
> >distributions have one or another form of packaging that makes this
> >issue less problematic.
> >
> >https://fedorahosted.org/freeipa/ticket/1849
> 
> I wonder if we should @echo something about DESTDIR not set so we
> aren't creating the directories.
How about attached variant?

-- 
/ Alexander Bokovoy
-------------- next part --------------
>From b685d68ba19d6f9a328e8984a65982d6ca300e2a Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy <abokovoy at redhat.com>
Date: Thu, 17 Nov 2011 10:45:15 +0200
Subject: [PATCH 3/3] Create directories for client install

When ``make client-install`` is called, create /etc/ipa and /var/lib/ipa-client/sysrestore
directories required for successful use of ipa-client-install.
Do it only if DESTDIR is set to help packagers to notice that these directories have to exist

https://fedorahosted.org/freeipa/ticket/1849
---
 Makefile |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index 318364ad2980580764908cd73801f47d80569ba7..baf6eee5c151a88e9a668b3e4c3da3b3b2687886 100644
--- a/Makefile
+++ b/Makefile
@@ -68,7 +68,7 @@ install: all server-install
 		(cd $$subdir && $(MAKE) $@) || exit 1; \
 	done
 
-client-install: client
+client-install: client client-dirs
 	@for subdir in $(CLIENTDIRS); do \
 		(cd $$subdir && $(MAKE) install) || exit 1; \
 	done
@@ -79,6 +79,15 @@ client-install: client
 		python setup-client.py install --root $(DESTDIR); \
 	fi
 
+client-dirs:
+	@if [ "$(DESTDIR)" != "" ] ; then \
+		mkdir -p $(DESTDIR)/etc/ipa ; \
+		mkdir -p $(DESTDIR)/var/lib/ipa-client/sysrestore ; \
+	else \
+		echo "DESTDIR was not set, please create /etc/ipa and /var/lib/ipa-client/sysrestore" ; \
+		echo "Without those directories ipa-client-install will fail" ; \
+	fi
+
 lint:
 	./make-lint $(LINT_OPTIONS)
 
-- 
1.7.7.2



More information about the Freeipa-devel mailing list