Page MenuHomeFreeBSD

release: fix "make release" with NOPKGBASE=1
Needs ReviewPublic

Authored by asomers on Mon, Dec 8, 11:35 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 10, 3:15 AM
Unknown Object (File)
Tue, Dec 9, 6:36 AM
Unknown Object (File)
Tue, Dec 9, 5:28 AM
Subscribers

Details

Reviewers
emaste
jrtc27
Summary

PKG_ABI must be defined regardless of whether NOPKGBASE is used, because
"pkg_repos install" is run regardless.

MFC after: 2 weeks
Sponsored by: Axcient

Test Plan

manually ran "make release" with and without NOPKGBASE=1

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 69159
Build 66042: arc lint + arc unit

Event Timeline

jrtc27 requested changes to this revision.Mon, Dec 8, 11:43 PM

This cannot just be made unconditional, building on non-FreeBSD with NOPKGBASE=yes NOPKG=yes needs to not attempt to use pkg in any way.

This revision now requires changes to proceed.Mon, Dec 8, 11:43 PM
release/Makefile
85

Presumably this just needs hoisting? I've not tested release/Makefile on non-FreeBSD in a while, and we're behind on merging in CheriBSD so have yet to pull in all the pkgbase fun. (Our CI runs on Linux and builds release media)

release/Makefile
85

What is "hoisting"? Would it be enough to change the condition to .if !defined(NOPKGBASE) || empty(NOPKGBASE) || ${.MAKE.OS} == "FreeBSD"?

release/Makefile
85

"Hoist" as in "lift up", i.e. move line 85 on the left here to the line 78 you deleted. I am assuming that the problem is, for a NOPKGBASE build on FreeBSD, we still install other packages, and at least line 90 references the PKG_ABI on line 82. So if we just put them all in one .if FreeBSD then it should all be fine?

  • Respond to Jessica's feedback.

@jrtc27's suggestion works. Though there are other problems too, that I haven't solved yet.