From nobody Tue Dec 23 09:50:57 2025 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4db9J01KJsz6L4cM for ; Tue, 23 Dec 2025 09:51:12 +0000 (UTC) (envelope-from agh@riseup.net) Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx1.riseup.net", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4db9Hy6zw2z3hj1 for ; Tue, 23 Dec 2025 09:51:10 +0000 (UTC) (envelope-from agh@riseup.net) Authentication-Results: mx1.freebsd.org; none Received: from fews04-sea.riseup.net (fews04-sea-pn.riseup.net [10.0.1.154]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4db9Hj6442zDqP6; Tue, 23 Dec 2025 09:50:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riseup.net; s=squak; t=1766483468; bh=nDCB5nqFiMXynm9WZnkTD0qcvbf2Wdr9YahMLrDrQWY=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=NH6n0s0na17R5ls5+Tl9f5lQqSX3+heIRJirqoZjYSCoL5aZySYu+B1hp6bC1oM+d vd+iAVyeAw1QTMegWrCcBCFr2OsgIXzuc+KIqm9caee7uEInSk/y2cY1JAEVPhcU6G Yqd1YythK/hOwaQ+855A1ZkmUqbM/xN1vo4nGfMk= X-Riseup-User-ID: E4387E5DF0BAD20F7385789F91E6DA6CBB6819CBCB2CB58A480C39E56C4723BC Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews04-sea.riseup.net (Postfix) with ESMTPSA id 4db9Hj3zcPz5whT; Tue, 23 Dec 2025 09:50:57 +0000 (UTC) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Date: Tue, 23 Dec 2025 09:50:57 +0000 From: Alastair Hogge To: Mark Millard Cc: FreeBSD Current Subject: Re: pkgbase and customised builds via ${SRC}/release/release.sh In-Reply-To: References: Message-ID: <1c123424dfcd7f2091ba5109acff2b6d@riseup.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16652, ipnet:198.252.153.0/24, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4db9Hy6zw2z3hj1 On 2025-12-23 12:22, Mark Millard wrote: > Alastair Hogge wrote on > Date: Tue, 23 Dec 2025 02:54:09 UTC : > > My notes here are limited in their coverage. I've > not done the type of thing you are trying to do. > >> For years, I have been using one host to build all customised USB >> images, and tarballs for all other hosts at home. This is reached via >> custom make, and src.conf files, which are codified in a custom >> release.conf. My custom release.conf redefines load_chroot_env() to >> setup the environment with ${SRC}, ${PORTS}, and pkg related files. >> >> On 16-CURRENT (2-3 weeks behind) I am able to use >> ${SRC}/release/release.sh sans customisation, however, when I start to >> introduce customisations, the build never succeeds. At the moment, the >> build fails at: >> >> make[5]: stopped making "create-kernel-packages" in /usr/src >> make[5]: stopped making "create-world-packages" in /usr/src >> make[5]: stopped making "create-world-packages" in /usr/src >> make[4]: stopped making "real-packages" in /usr/src >> make[5]: stopped making "create-kernel-packages" in /usr/src >> make[4]: stopped making "real-packages" in /usr/src >> make[4]: stopped making "real-packages" in /usr/src >> make[3]: stopped making "real-packages" in /usr/src >> make[2]: stopped making "packages" in /usr/src >> make[2]: stopped making "packages" in /usr/src >> make[1]: stopped making "packages" in /usr/src >> make[1]: stopped making "packages" in /usr/src >> make: stopped making "release" in /usr/src/release >> make: stopped making "release" in /usr/src/release >> pkg: Unable to open plist file: >> /usr/obj/usr/src/amd64.amd64/kernelstage/kernel/kernel.FAFNIR-dbg.plist >> >> I have no debug enabled options, and am not interested in debug builds. > > pkgbase has been including debug symbol information > even for non-debug builds. But they go in separate > .pkg files that do not have to be installed. The > bias seems to be to allow somewhat readable backtraces > for failures without having to rebuild, just having > chosen to have the information present by installing > it. I am all for it, right now I think I need a way to disable it. > (I do not know if dist tarballs now do similarly for > non-debug builds.) > > Just having debug symbol information for backtrace > or the like to use need not be considered a > debug-build: no enabling of adding internal checking > for problems, for example. > >> In the past, when I needed debug features, I would edit the kernel >> config, and src.conf files, and start the release build process from >> there; I do not know how to parametrise debug build options. > > Of course, you may not want even backtrace information. > >> What is the method for using release.sh to custom build a pkgbase, that >> also supports tarballs, and install images? > > pkgbase and dist tarballs are mutually exclusive ways > of doing an install. pkgbase does not have to be > involved at all for 15.* , for example. (pkgbase has > its own way of dealing with doing updates as well.) > > Related to such, root/release/Makefile reports: > > # Variables affecting the build process: > . . . > # NODISTSETS: if set, do not include dist sets or MANIFEST > # NOPKGBASE: if set, include dist tarballs rather than pkgbase packages in > # disc1 and dvd1 installation media and build VM/cloud images using > # make installkernel installworld. > . . . Whether it is a generic, or custom build, using ${NOPKGBASE} always results in a pkg failure: -------------------------------------------------------------- >>> Install kernel(s) GENERIC completed in 6 seconds, ncpu: 64, make -j32 -------------------------------------------------------------- [...] --- disc1 --- env INSTALL_AS_USER=yes ASSUME_ALWAYS_YES=yes pkg -o METALOG=METALOG -o ABI= -r disc1 -o REPOS_DIR=/usr/src/release/pkg_repos install -f pkg Installing pkg-2.5.0... Extracting pkg-2.5.0: .......... done pkg: Unknown OS '' in ABI string pkg: Cannot parse configuration file! *** [disc1] Error code 1 make: stopped making "release" in /usr/src/release Or, FreeBSD-base repository update completed. 269 packages processed All repositories are up to date. pkg: Setting ABI requires setting OSVERSION, guessing the OSVERSION as: 1600000 /usr/libexec/flua: /usr/src/release/scripts/pkgbase-stage.lua:47: assertion failed! stack traceback: ▸ [C]: in function 'assert' ▸ /usr/src/release/scripts/pkgbase-stage.lua:47: in upvalue 'select_packages' ▸ /usr/src/release/scripts/pkgbase-stage.lua:101: in local 'main' ▸ /usr/src/release/scripts/pkgbase-stage.lua:107: in main chunk ▸ [C]: in ? *** [disc1] Error code 1 make: stopped making "release" in /usr/src/release --- bootonly --- --- installconfig_subdir_share --- --- installconfig_subdir_share/timedef --- make[4]: stopped making "installconfig" in /usr/src/share make[3]: stopped making "installconfig" in /usr/src make[2]: stopped making "distribution" in /usr/src make[1]: stopped making "installworld installkernel distribution" in /usr/src *** [bootonly] Error code 2 make: stopped making "release" in /usr/src/release make: 2 errors make: stopped making "release" in /usr/src/release > As stands, the above indicates that to get dist > tarballs you turn off the generation of pkgbase > files from the buildworld results: it does one > or the other way, but not both in one run, for > disc1 and dvd1. pkgbase generation does not have > to be involved at all for those. > > (You were not explicit about dist sets or their > MANIFEST but I listed the line for that as well.) > > I'm not sure if you might only want dist tarballs > and not need pkgbase at all. pkgbase does not > have to be involved at all until 16.0-STABLE . I want to move to pkgbase over dists, however, it seems I can not manage either yet.