Page MenuHomeFreeBSD

sysutils/edk2: Add bhyve as a new FLAVOR of edk2
AcceptedPublic

Authored by bcran on Sun, May 8, 2:07 AM.

Details

Summary

Instead of having a separate sysutils/uefi-edk2-bhyve port, add bhyve
as a FLAVOR of edk2.

To support existing users who depend on firmware in /usr/local/share/uefi-firmware
create compatibility symlinks. The packaging list appears to be generated
correctly, however the code as it is doesn't install the files under uefi-firmware.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 45589
Build 42477: arc lint + arc unit

Event Timeline

bcran requested review of this revision.Sun, May 8, 2:07 AM
bcran created this revision.

As I mentioned in the summary, the following code doesn't do what I want it to: it doesn't create /usr/local/share/uefi-firmware.

sysutils/edk2/Makefile
161

I would prefer .if defined

164

Same

168

With the blank line above it's not part of do-install, probably your problem.

sysutils/edk2/Makefile
168

Even when I have the following, the files still aren't being installed.

do-install:
        ${MKDIR} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/
        ${INSTALL_DATA} -v ${WRKDIR}/Build/${PLAT_RESULT} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME}
        ${INSTALL_DATA} -v ${WRKDIR}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE}
        ${INSTALL_DATA} -v ${WRKDIR}/Build/${PLAT_RESULT_VARS} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS}
        ${MKDIR} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/
        ${RLN} -v ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME}
        ${RLN} -v ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_CODE}
        ${RLN} -v ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_VARS}

I don't need to do something to refresh the packaging list apart from running make FLAVOR=bhyve clean followed by make FLAVOR=bhyve do I?

sysutils/edk2/Makefile
168

You need to add those the PLIST_FILES too, sorry I've missed that earlier.

bcran marked 3 inline comments as done.Mon, May 9, 1:09 AM
bcran marked an inline comment as done.
bcran added inline comments.
sysutils/edk2/Makefile
168

Oh of course! Thanks.

You probably need a CONFLICT too for this flavor this you install links at the place of the other port.

bcran marked an inline comment as done.

Deleted sysutils/uefi-edk2-bhyve and added an entry to MOVED.

In D35148#797304, @manu wrote:

You probably need a CONFLICT too for this flavor this you install links at the place of the other port.

It probably makes sense to just delete the other port.

Deleted sysutils/uefi-edk2-bhyve and added an entry to MOVED.

I don't see this in the diff.

Actually deleted sysutils/uefi-edk2-bhyve this time.

LGTM but don't forget to add the MOVED entry too.

This revision is now accepted and ready to land.Mon, May 16, 1:11 PM
This revision now requires review to proceed.Mon, May 16, 1:12 PM
This revision is now accepted and ready to land.Mon, May 16, 1:17 PM

Urgh, I remembered just in time about sysutils/bhyve-firmware that will also need updated.