From 4a5569ff37ae771560e56b564f3b15477b828a79 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sun, 2 Aug 2009 16:12:37 +0000 Subject: [PATCH] Fix permissions when installing --- driver/ghci/ghc.mk | 3 ++- ghc.mk | 10 ++++++---- mk/config.mk.in | 4 +++- rts/ghc.mk | 4 ++-- rules/shell-wrapper.mk | 3 ++- utils/ghc-pkg/ghc.mk | 2 +- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/driver/ghci/ghc.mk b/driver/ghci/ghc.mk index 88c084d..9abccc3 100644 --- a/driver/ghci/ghc.mk +++ b/driver/ghci/ghc.mk @@ -17,8 +17,9 @@ install: install_driver_ghci .PHONY: install_driver_ghci install_driver_ghci: WRAPPER=$(DESTDIR)$(bindir)/ghci-$(ProjectVersion) install_driver_ghci: - "$(MKDIRHIER)" $(DESTDIR)$(bindir) + $(INSTALL_DIR) $(DESTDIR)$(bindir) "$(RM)" $(RM_OPTS) $(WRAPPER) + $(CREATE_SCRIPT) $(WRAPPER) echo '#!$(SHELL)' >> $(WRAPPER) echo 'exec $(bindir)/ghc-$(ProjectVersion) --interactive $${1+"$$@"}' >> $(WRAPPER) $(EXECUTABLE_FILE) $(WRAPPER) diff --git a/ghc.mk b/ghc.mk index 8175db5..82eb531 100644 --- a/ghc.mk +++ b/ghc.mk @@ -713,13 +713,13 @@ install_libs: $(INSTALL_LIBS) done install_libexec_scripts: $(INSTALL_LIBEXEC_SCRIPTS) - "$(MKDIRHIER)" $(DESTDIR)$(libexecdir) + $(INSTALL_DIR) $(DESTDIR)$(libexecdir) for i in $(INSTALL_LIBEXEC_SCRIPTS); do \ $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i $(DESTDIR)$(libexecdir); \ done install_libexecs: $(INSTALL_LIBEXECS) - "$(MKDIRHIER)" $(DESTDIR)$(libexecdir) + $(INSTALL_DIR) $(DESTDIR)$(libexecdir) for i in $(INSTALL_LIBEXECS); do \ $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(DESTDIR)$(libexecdir); \ done @@ -756,8 +756,10 @@ endif install_packages: install_libexecs install_packages: libffi/package.conf.install rts/package.conf.install - "$(MKDIRHIER)" $(DESTDIR)$(libdir) - echo "[]" > $(INSTALLED_PACKAGE_CONF) + $(INSTALL_DIR) $(DESTDIR)$(libdir) + "$(RM)" $(RM_OPTS) $(INSTALLED_PACKAGE_CONF) + $(CREATE_DATA) $(INSTALLED_PACKAGE_CONF) + echo "[]" >> $(INSTALLED_PACKAGE_CONF) "$(INSTALLED_GHC_PKG_REAL)" --force --global-conf $(INSTALLED_PACKAGE_CONF) update libffi/package.conf.install "$(INSTALLED_GHC_PKG_REAL)" --force --global-conf $(INSTALLED_PACKAGE_CONF) update rts/package.conf.install $(foreach p, $(PACKAGES) $(PACKAGES_STAGE2),\ diff --git a/mk/config.mk.in b/mk/config.mk.in index fa9720d..6c4de5b 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -494,6 +494,8 @@ INSTALL_GROUP = # Invocations of `install' for the four different classes # of targets: # +CREATE_SCRIPT = create () { touch $$1 && chmod 755 $$1 ; } && create +CREATE_DATA = create () { touch $$1 && chmod 644 $$1 ; } && create INSTALL_PROGRAM = $(INSTALL) -m 755 INSTALL_SCRIPT = $(INSTALL) -m 755 INSTALL_SHLIB = $(INSTALL) -m 755 @@ -501,7 +503,7 @@ INSTALL_DATA = $(INSTALL) -m 644 INSTALL_HEADER = $(INSTALL) -m 644 INSTALL_MAN = $(INSTALL) -m 644 INSTALL_DOC = $(INSTALL) -m 644 -INSTALL_DIR = $(MKDIRHIER) +INSTALL_DIR = $(INSTALL) -m 755 -d # # runhaskell and hsc2hs are special, in that other compilers besides diff --git a/rts/ghc.mk b/rts/ghc.mk index a14da3b..a7bfd12 100644 --- a/rts/ghc.mk +++ b/rts/ghc.mk @@ -368,8 +368,8 @@ install : install_rts .PHONY: install_rts install_rts: - "$(MKDIRHIER)" $(DESTDIR)$(libdir) - "$(MKDIRHIER)" $(DESTDIR)$(libdir)/include + $(INSTALL_DIR) $(DESTDIR)$(libdir) + $(INSTALL_DIR) $(DESTDIR)$(libdir)/include "$(CP)" $(ALL_RTS_LIBS) $(DESTDIR)$(libdir) # ----------------------------------------------------------------------------- diff --git a/rules/shell-wrapper.mk b/rules/shell-wrapper.mk index acdb06e..312504e 100644 --- a/rules/shell-wrapper.mk +++ b/rules/shell-wrapper.mk @@ -57,8 +57,9 @@ install: install_$1_$2_wrapper .PHONY: install_$1_$2_wrapper install_$1_$2_wrapper: WRAPPER=$$(DESTDIR)$$(bindir)/$$($1_$2_INSTALL_SHELL_WRAPPER_NAME) install_$1_$2_wrapper: - "$$(MKDIRHIER)" $$(DESTDIR)$$(bindir) + $$(INSTALL_DIR) $$(DESTDIR)$$(bindir) "$$(RM)" $$(RM_OPTS) $$(WRAPPER) + $$(CREATE_SCRIPT) $$(WRAPPER) echo '#!$$(SHELL)' >> $$(WRAPPER) echo 'executablename=$$(libexecdir)/$$($1_$2_PROG)' >> $$(WRAPPER) echo 'datadir=$$(datadir)' >> $$(WRAPPER) diff --git a/utils/ghc-pkg/ghc.mk b/utils/ghc-pkg/ghc.mk index 289c67c..6c582d0 100644 --- a/utils/ghc-pkg/ghc.mk +++ b/utils/ghc-pkg/ghc.mk @@ -95,7 +95,7 @@ install: install_utils/ghc-pkg_link .PNONY: install_utils/ghc-pkg_link install_utils/ghc-pkg_link: - "$(MKDIRHIER)" $(DESTDIR)$(bindir) + $(INSTALL_DIR) $(DESTDIR)$(bindir) "$(RM)" $(RM_OPTS) $(DESTDIR)$(bindir)/ghc-pkg $(LN_S) ghc-pkg-$(ProjectVersion) $(DESTDIR)$(bindir)/ghc-pkg endif -- 1.7.10.4