Re: pkgbase and customised builds via ${SRC}/release/release.sh

Alastair Hogge <[email protected]>
Newsgroups gmane.os.freebsd.current
Message-ID <[email protected]>
On 2025-12-23 18:38, Lexi Winter wrote:

Hi Lexi,

> Alastair Hogge wrote in <[email protected]>:
>> pkg: Unable to open plist file:
>> /usr/obj/usr/src/amd64.amd64/kernelstage/kernel/kernel.FAFNIR-dbg.plist
>>[...] 
>> What is the method for using release.sh to custom build a pkgbase, that
>> also supports tarballs, and install images?
> 
> as far as i'm aware, we don't support building a pkgbase release with
> a kernel other than GENERIC.  even if the build succeeded, you wouldn't
> be able to install using the resulting media since bsdinstall only knows
> how to install GENERIC.

I have made some progress, yes, it looks like the GENERIC kernel is
built and installed, even tho another kernel was the only one
configured.

> my suggestion for now would be to build the release media with GENERIC,
> then put the custom kernels in your base repository and install them
> after booting with GENERIC.

Thanks, I will see about that.

> this is definitely something we want to fix in the future, it just
> wasn't critical enough to make the 15.0 release.  i have a couple
> of other release things i want to fix first, then i'll see about
> fixing this, since i also want custom kernels on install media.

The biggest problem I had come across, was the "tags=package={foo}"
declarations in ${SRC}/etc/mtree/*.dist. I had to remove a couple of
these from a 2 or 3 mtree dists. What is going on in this part of the
build infrastructure? There is a history of similar commits[1][2][3], to
the changes I now have to keep locally, yet, des@ recently added[4] more
tags.

From what I understand when investigating this, the build infra uses
both the mtree dists, and ${SRC}/release/packages/generate-set-ucl.lua
to generate the pkgbase sets? Is that correct? Does that mean there is
duplicated work here, and one of these paths is redundant?

I also noted that a few WITHOUT_foo options had no effect on the World
building stage 1.2, bootstrap tools. Here, when WITHOUT_KERBEROS is
defined, it is still built. I even still have a Kerberos KDC pkgbase
component.

1:
https://codeberg.org/FreeBSD/freebsd-src/commit/00352ef6d2a013650f0ab2a4c9b016c22552ed25
2:
https://codeberg.org/FreeBSD/freebsd-src/commit/1fbdb149aa486961c5d9d6403065e90123b3f5fe
3:
https://codeberg.org/FreeBSD/freebsd-src/commit/2a8a6179eb6cef8ba1a417a4c8a1f7063c704533
4:
https://codeberg.org/FreeBSD/freebsd-src/commit/d4f6cb75424950ee776833ebc6b57855c094a610
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.