Page MenuHomeFreeBSD

bsd.progs.mk: Create directories first
ClosedPublic

Authored by cperciva on Jul 8 2024, 4:37 PM.
Tags
None
Referenced Files
F163139728: D45923.id140701.diff
Mon, Jul 20, 11:10 AM
Unknown Object (File)
Sun, Jul 19, 6:02 PM
Unknown Object (File)
Mon, Jul 13, 5:00 AM
Unknown Object (File)
Mon, Jun 22, 12:56 AM
Unknown Object (File)
Jun 6 2026, 10:34 AM
Unknown Object (File)
Jun 6 2026, 9:34 AM
Unknown Object (File)
Jun 6 2026, 12:19 AM
Unknown Object (File)
Jun 4 2026, 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 :