Page MenuHomeFreeBSD

bsd.progs.mk: Create directories first
ClosedPublic

Authored by cperciva on Jul 8 2024, 4:37 PM.
Tags
None
Referenced Files
F143210786: D45923.id.diff
Tue, Jan 27, 12:37 PM
F143199017: D45923.id.diff
Tue, Jan 27, 8:01 AM
Unknown Object (File)
Thu, Jan 22, 7:13 AM
Unknown Object (File)
Dec 11 2025, 1:41 PM
Unknown Object (File)
Dec 7 2025, 5:39 AM
Unknown Object (File)
Nov 20 2025, 11:11 AM
Unknown Object (File)
Nov 10 2025, 11:10 PM
Unknown Object (File)
Nov 9 2025, 7:10 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 Skipped
Unit
Tests Skipped
Build Status
Buildable 58572
Build 55460: arc lint + arc unit

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 :