Page MenuHomeFreeBSD

Mk: Support multiple directories in {BUILD,CONFIGURE,INSTALL,TEST}_WRKSRC
AbandonedPublic

Authored by rakuco on Dec 25 2016, 5:03 PM.
Tags
None
Referenced Files
F80165303: D8902.diff
Thu, Mar 28, 7:14 PM
Unknown Object (File)
Feb 19 2024, 12:15 AM
Unknown Object (File)
Feb 18 2024, 2:12 PM
Unknown Object (File)
Dec 20 2023, 12:53 AM
Unknown Object (File)
Nov 11 2023, 6:33 PM
Unknown Object (File)
Nov 9 2023, 6:34 PM
Unknown Object (File)
Nov 8 2023, 5:58 PM
Unknown Object (File)
Oct 8 2023, 5:29 PM
Subscribers

Details

Reviewers
adridg
tijl
tcberner
Group Reviewers
portmgr
kde
Summary

Make the do-build, do-configure, do-install and do-test targets in bsd.port.mk iterate through all values in their respective WRKSRC variables, and adjust most .mk files in Mk and Mk/Uses accordingly. A few have been left out (e.g. bsd.ruby.mk, Uses/gem.mk, bsd.apache.mk) because it is not clear if it makes sense for them to support multiple directories at all.

This change allows us to remove or reduce the size of several post-* targets in ports which only needed to build and/or install additional directories, as can be seen from the non-Mk bits of this CL.

The only limitation so far is that ALL_TARGET and INSTALL_TARGET are passed to all BUILD_WRKSRC and INSTALL_WRKSRC directories respectively, as I could not think of a syntax that made sense that associated directories and target names. This means some post-build targets were not modified, as they do things such as make docs which need a different target name than all or whatever ALL_TARGET is set to.

Test Plan
  • Get review from portmgr and others.
  • Ask for an exp-run (I've tested the ports changed in this diff, but I need to check all ports for possible regressions).

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

rakuco retitled this revision from to Mk: Support multiple directories in {BUILD,CONFIGURE,INSTALL,TEST}_WRKSRC.
rakuco updated this object.
rakuco edited the test plan for this revision. (Show Details)
rakuco added reviewers: tijl, kde, adridg, portmgr.
rakuco set the repository for this revision to rP FreeBSD ports repository.

I don't feel qualified to comment on the general purpose of this patch, nor on its effect on ports in general.

The last.fm port is a little strange, since you're now adding contortions to the build process there to get it to fit the multiple-WRKSRC model. That's one I might suggest leaving alone.

The indentation of dot-directives for Make (e.g. .for) is inconsistent between bsd.java.mk and the rest (but maybe it's already inconsistent and you're staying consistent within the file).

tcberner edited edge metadata.

Looks reasonable.

This is interesting, I wonder what will break.

This is interesting, I wonder what will break.

I've finally filed an exp-run request: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216113

From the exp-run PR:

Antoine Brodin 2017-01-17 07:08:14 UTC
Exp-run fails to start (lots of make errors, probably from perl5.mk)

Does it make any sense to pursue this further?

I think this can be closed ^^

Yeah. It's something good to have, but I don't have time to pursue this one.