mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 23:04:33 +00:00
Avoid building as root with sudo make install
When running `sudo make install`, we only want to run the actual install as root, the building of the documentation and the distribution folder should happen as the non-root user. Related to #13728.
This commit is contained in:
parent
5248b1187d
commit
23c26617cb
@ -14,16 +14,34 @@ else
|
|||||||
MAYBE_DISABLE_VERIFY=
|
MAYBE_DISABLE_VERIFY=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
install: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir
|
install:
|
||||||
|
ifeq (root user, $(USER) $(patsubst %,user,$(SUDO_USER)))
|
||||||
|
# Build the dist as the original user
|
||||||
|
$(Q)sudo -u "$$SUDO_USER" $(MAKE) prepare_install
|
||||||
|
else
|
||||||
|
$(Q)$(MAKE) prepare_install
|
||||||
|
endif
|
||||||
$(Q)cd tmp/empty_dir && sh ../../tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --prefix="$(DESTDIR)$(CFG_PREFIX)" --libdir="$(DESTDIR)$(CFG_LIBDIR)" --mandir="$(DESTDIR)$(CFG_MANDIR)" "$(MAYBE_DISABLE_VERIFY)"
|
$(Q)cd tmp/empty_dir && sh ../../tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --prefix="$(DESTDIR)$(CFG_PREFIX)" --libdir="$(DESTDIR)$(CFG_LIBDIR)" --mandir="$(DESTDIR)$(CFG_MANDIR)" "$(MAYBE_DISABLE_VERIFY)"
|
||||||
# Remove tmp files while we can because they may have been created under sudo
|
# Remove tmp files because it's a decent amount of disk space
|
||||||
$(Q)rm -R tmp/dist
|
$(Q)rm -R tmp/dist
|
||||||
|
|
||||||
uninstall: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir
|
prepare_install: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
ifeq (root user, $(USER) $(patsubst %,user,$(SUDO_USER)))
|
||||||
|
# Build the dist as the original user
|
||||||
|
$(Q)sudo -u "$$SUDO_USER" $(MAKE) prepare_uninstall
|
||||||
|
else
|
||||||
|
$(Q)$(MAKE) prepare_uninstall
|
||||||
|
endif
|
||||||
$(Q)cd tmp/empty_dir && sh ../../tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --uninstall --prefix="$(DESTDIR)$(CFG_PREFIX)" --libdir="$(DESTDIR)$(CFG_LIBDIR)" --mandir="$(DESTDIR)$(CFG_MANDIR)"
|
$(Q)cd tmp/empty_dir && sh ../../tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --uninstall --prefix="$(DESTDIR)$(CFG_PREFIX)" --libdir="$(DESTDIR)$(CFG_LIBDIR)" --mandir="$(DESTDIR)$(CFG_MANDIR)"
|
||||||
# Remove tmp files while we can because they may have been created under sudo
|
# Remove tmp files because it's a decent amount of disk space
|
||||||
$(Q)rm -R tmp/dist
|
$(Q)rm -R tmp/dist
|
||||||
|
|
||||||
|
prepare_uninstall: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir
|
||||||
|
|
||||||
|
.PHONY: install prepare_install uninstall prepare_uninstall
|
||||||
|
|
||||||
tmp/empty_dir:
|
tmp/empty_dir:
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user