Page MenuHomeFreeBSD

bsd.progs.mk: Create directories first
ClosedPublic

Authored by cperciva on Jul 8 2024, 4:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Oct 11, 2:15 PM
Unknown Object (File)
Fri, Sep 19, 2:21 AM
Unknown Object (File)
Thu, Sep 18, 10:27 PM
Unknown Object (File)
Sun, Sep 14, 8:48 AM
Unknown Object (File)
Sep 12 2025, 11:16 PM
Unknown Object (File)
Sep 9 2025, 9:56 AM
Unknown Object (File)
Sep 2 2025, 1:35 PM
Unknown Object (File)
Sep 1 2025, 3:02 AM

Details

Summary

Order installdirs before the $p.install targets; this is necessary
when a user of <bsd.progs.mk> also creates the directory into which
the binaries are installed.

In particular, without this patch running make installworld -jN can
break when installing tests since the /usr/tests/foo/bar directories
are created during installworld; this has been causing the stable/14
weekly snapshot builds to intermittently fail for months.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Jul 10 2024, 2:47 PM
This revision was automatically updated to reflect the committed changes.
share/mk/bsd.progs.mk
158

FWIW I tend to avoid putting things in .for loops if I can, also you need :
you could put this after the .endfor

.ORDER: installdirs ${PROGS:@p@$p.install@}

share/mk/bsd.progs.mk
158

Oh you just want to ensure installdirs done before $p.install but the later can run in parallel?
In that case you just need :