Page MenuHomeFreeBSD

Overlay support for the ports tree

Authored by bapt on Aug 29 2019, 6:41 PM.
Referenced Files
F86125016: D21468.diff
Sat, Jun 15, 7:39 PM
Unknown Object (File)
Sun, Jun 9, 6:17 AM
Unknown Object (File)
Sat, Jun 1, 9:36 PM
Unknown Object (File)
Mon, May 20, 7:23 PM
Unknown Object (File)
Sun, May 19, 5:43 AM
Unknown Object (File)
Fri, May 17, 12:54 PM
Unknown Object (File)
May 12 2024, 2:59 PM
Unknown Object (File)
Apr 26 2024, 11:36 AM


Group Reviewers
rP510950: Add support for overlays

add overlay support
A user can now define OVERLAYS=path1 path2
The ports tree will lookup into path1 and path2 (the order matters) to find the
path for the port (testing origin/Makefile)

If also have a naive implementation for USES, so one can overwrite existing USES.

Note that for the USES that includes other uses, or will have to also converted
to overlay to be able to properly work

Diff Detail

rP FreeBSD ports repository
Lint Not Applicable
Tests Not Applicable

Event Timeline

Add forgotten scripts update

only add the relevant one

manu added a subscriber: manu.


swills added a subscriber: swills.

Haven't tested, but looks fine.

This revision is now accepted and ready to land.Sep 3 2019, 1:48 PM
This revision was automatically updated to reflect the committed changes.

It would be nice to put a note in CHANGES about this with a quick blurb on how to use it.

~/svn/ports/databases/mysql56-client # grep MASTERDIR Makefile
MASTERDIR=      ${.CURDIR}/../mysql56-server
EXTRA_PATCHES+= ${MASTERDIR}/files/patch-PR225888.diff
.include "${MASTERDIR}/Makefile"
  1. If mysql56-client is pulled from an OVERLAY, wouldn't the mysql56-server Makefile be pulled from the NON overlay directory due to .CURDIR?
  2. I'm immediately wanting to replace a single file in /usr/ports/Mk with an overlay feature at work (not Mk/Uses). Yet this won't work for the same reason as the last I noted.
  3. Keywords/ dir not covered (noted on IRC).

These shortcomings need to be documented.
The .include/.CURDIR issue is a blocker to me as it will lead to confusion for a very common pattern.

I only see a feature like this working if implemented entirely in Poudriere.

This comment was removed by bdrewery.