Makefile: Force DISTDIR=/ for (update-)packages
The make(1) variable DISTDIR is used by both ports and src with a different meaning. Some users may set DISTDIR in /etc/make.conf for ports, which previously worked fine when building src since the src targets which used this variable were not very commonly used (mainly, make distributeworld). Unfortunately, with pkgbase becoming the default, this is no longer true since make (update-)packages invokes make stageworld, which is sensitive to DISTDIR, and these users find that their build now fails. A correct fix for this probably requires renaming one or both of the DISTDIR variables, but for now, work around the problem by setting DISTDIR=/ for the user-facing pkgbase targets, packages and update-package. Since setting DISTDIR doesn't work for these targets anyway, this should not break any existing configurations. MFC after: 1 week PR: 290010 Reported by: Oleh Vinichenko <moonlapse81@gmail.com> Reviewed by: imp, bapt Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D52929
This commit is contained in:
@@ -175,7 +175,7 @@ TGTS= all all-man buildenv buildenvvars buildetc buildkernel buildworld \
|
||||
create-packages-world create-packages-kernel \
|
||||
create-packages-kernel-repo create-packages-world-repo \
|
||||
create-packages-source create-packages \
|
||||
update-packages packages installconfig real-packages real-update-packages \
|
||||
installconfig real-packages real-update-packages \
|
||||
sign-packages package-pkg print-dir test-system-compiler test-system-linker \
|
||||
test-includes
|
||||
|
||||
@@ -521,6 +521,9 @@ kernels: .PHONY
|
||||
worlds: .PHONY
|
||||
@cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=buildworld universe
|
||||
|
||||
packages update-packages: .PHONY
|
||||
${_+_}@cd ${.CURDIR}; ${_MAKE} DISTDIR=/ ${.TARGET}
|
||||
|
||||
#
|
||||
# universe
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user