HomeFreeBSD

Makefile: Force DISTDIR=/ for (update-)packages

Description

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

(cherry picked from commit f7dc7d7af3683836fcca68018a678b242d2e2620)

Details

Provenance
ivyAuthored on Wed, Oct 8, 3:22 AM
Reviewer
imp
Differential Revision
D52929: Makefile: Force DISTDIR=/ for (update-)packages
Parents
rGe3df9a78da6b: MFC: Merge commit '1fdae2e33fdc751bc2ec74c81fcde14323e4e965'
Branches
Unknown
Tags
Unknown