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)
Sun, Aug 16, 8:15 PM
Unknown Object (File)
Sun, Aug 16, 7:54 PM
Unknown Object (File)
Sat, Aug 15, 7:47 PM
Unknown Object (File)
Fri, Aug 14, 7:13 PM
Unknown Object (File)
Thu, Aug 13, 7:53 PM
Unknown Object (File)
Tue, Aug 11, 10:50 PM
Unknown Object (File)
Mon, Aug 10, 7:00 AM
Unknown Object (File)
Sun, Aug 9, 1:20 PM

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 :