From nobody Fri Oct 10 04:43:29 2025 X-Original-To: dev-commits-src-all@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 4cjYz56QFGz6BGbH; Fri, 10 Oct 2025 04:43:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cjYz52G5cz4PgK; Fri, 10 Oct 2025 04:43:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760071409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gpH4b6EXC3GJx2Yb3RgwcwpT7IPBU5OOYbEI+clm5Dk=; b=jSI2OiFaU4R9jcq1UexPQay2ueM5/AjGGfClpZdBAKCsHELpqPP4s158m2atdlIMJdOVeg UdthsAleMp45o83ZdIaffxfWg6xV3gOo1wMD60E4eEVSoY250PvqcRuAr6cvF1/Puj5OPs 8C0e4GXefXe9ax78Z5Aca3Ub5cYtZCa+vUpkA3vIVxtiw4cCMsOJJoF4dpmdeF7AuDQz9L 9Zobl9num1yEkD0MlhSuNj4wfwA6LjT0ofdFrUpIRsmZiRPSERLP3GBODzRUX0AKQi1UMH s1LlBy8IWkyndmslvsFhfR65tW8W+NzRN1gHGIXhke0nSHCzYUj4pw+pVlT51g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760071409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gpH4b6EXC3GJx2Yb3RgwcwpT7IPBU5OOYbEI+clm5Dk=; b=KG8qV3082u3npTGuGxQ+rzSGRgYejuQLACLwAORu136cFzWPOjTT6qBDvPHLt/FGeeXK7l gEFySJv9pe+pMUu1RmzDOBaaPtyWhGHl9G57947gCUPkPdjLRnJsIbaSahP+kOE9uDojDL Yzqlm/hvEXpKP2yP5RxS3ULDF+3aeE21sYHeln7W/GV0h6BfmV6TuOiaYddYmbc3G50ilr UOcPbg7IunAYwFd8Y+Lu6vgtcEP3UH5ERHshq9vedwhfYBhNTHsHSPTtEVndkbF4EJQ+gV RgMlt1paBTYDTRc+lso/G7cmATBhj6kLBvON4HySAH6DosrNImSyNZy8nNQ7sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760071409; a=rsa-sha256; cv=none; b=S8x/lrl/CNNzYUUAYfZDDgETDqbMd0F+wjHoJFePxtGgUt+7Dug8XikkxwTB/Crn8snp1f KE/0adwlWOJMQghG+s3Xil0M1C31dA0RmOa3sr/Kslkam+9NSysOJs6WQ/+ARcRslCg9rU 4Z7UP+ZBk1T1lX7ZCPG4m0wNEoLOY62AmMPOvz8ii6icmwrNaY4LkbwVTOVFyt0rRQV8Li p2WoNqdZGcULaoeC3a5/+62ZeD31PvmEoAkwc0OR2KNvTWEraAA+aCeU0tSlnILNmdCpbE 6IPNnQXBeV2Z/MH5F04p2tdb1SsUxuQd5wCshd5miMi14EukxHMS3Ir0NEmH/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cjYz51rtszpQZ; Fri, 10 Oct 2025 04:43:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59A4hTPk096796; Fri, 10 Oct 2025 04:43:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59A4hTRV096793; Fri, 10 Oct 2025 04:43:29 GMT (envelope-from git) Date: Fri, 10 Oct 2025 04:43:29 GMT Message-Id: <202510100443.59A4hTRV096793@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 77f609aa6e3f - stable/15 - packages: Set dependency origin in generate-ucl.lua List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 77f609aa6e3fd6661f7f436525eba85c75ac4ea7 Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=77f609aa6e3fd6661f7f436525eba85c75ac4ea7 commit 77f609aa6e3fd6661f7f436525eba85c75ac4ea7 Author: Lexi Winter AuthorDate: 2025-10-08 03:24:25 +0000 Commit: Lexi Winter CommitDate: 2025-10-10 04:29:52 +0000 packages: Set dependency origin in generate-ucl.lua Commit 822fd5606748 changed the origin of packages from "base" to "base/", but the old origin was still used for dependencies. Aside from being wrong, this confuses pkg <= 2.3.1 and causes "pkg info -d" to show the dependencies as "-(null)" instead of the correct version string. Remove the explicit origin from dependencies in the UCL files, and instead populate this during the build in generate-ucl.lua. In the (very unlikely) case that an explicit origin is still needed, don't overwrite one if it's already present. MFC after: 1 day Fixes: 822fd5606748 ("pkgbase: set origin for each packages as base/FreeBSD-*") Reported by: bapt Reviewed by: cperciva, bapt Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D52892 (cherry picked from commit a507a7026c402a4c10902f3aadb3c6a70c442964) --- release/packages/generate-set-ucl.lua | 10 +++++----- release/packages/generate-ucl.lua | 4 +++- release/packages/set-template.ucl | 2 +- release/packages/sets/base-dbg.ucl | 2 -- release/packages/sets/base-jail-dbg.ucl | 2 -- release/packages/sets/base-jail.ucl | 3 --- release/packages/sets/base.ucl | 3 --- release/packages/sets/optional-dbg.ucl | 1 - release/packages/sets/optional-jail-dbg.ucl | 1 - release/packages/sets/optional-jail.ucl | 1 - release/packages/sets/optional.ucl | 1 - release/packages/ucl/at.ucl | 2 -- release/packages/ucl/bluetooth.ucl | 1 - release/packages/ucl/bsdconfig.ucl | 1 - release/packages/ucl/bsdinstall.ucl | 1 - release/packages/ucl/caroot.ucl | 1 - release/packages/ucl/certctl.ucl | 1 - release/packages/ucl/clang.ucl | 2 -- release/packages/ucl/devd.ucl | 1 - release/packages/ucl/newsyslog.ucl | 1 - release/packages/ucl/periodic.ucl | 1 - release/packages/ucl/rc.ucl | 1 - release/packages/ucl/rcmds.ucl | 1 - release/packages/ucl/sendmail.ucl | 1 - release/packages/ucl/tests-all.ucl | 3 --- release/packages/ucl/yp.ucl | 1 - 26 files changed, 9 insertions(+), 40 deletions(-) diff --git a/release/packages/generate-set-ucl.lua b/release/packages/generate-set-ucl.lua index 3c8474bf8e68..ab8765c8cf2d 100755 --- a/release/packages/generate-set-ucl.lua +++ b/release/packages/generate-set-ucl.lua @@ -75,15 +75,15 @@ end -- Add dependencies from SET_DEPENDS. for dep in string.gmatch(pkgdeps, "[^%s]+") do obj["deps"][dep] = { - ["origin"] = "base" + ["origin"] = "base/"..dep } end --- Add a version key to all dependencies, otherwise pkg doesn't like it. +-- Add a version and origin key to all dependencies, otherwise pkg +-- doesn't like it. for dep, opts in pairs(obj["deps"]) do - if obj["deps"][dep]["version"] == nil then - obj["deps"][dep]["version"] = pkgversion - end + obj["deps"][dep]["origin"] = obj["deps"][dep]["origin"] or "base/"..dep + obj["deps"][dep]["version"] = obj["deps"][dep]["version"] or pkgversion end -- If there are no dependencies, remove the deps key, otherwise pkg raises an diff --git a/release/packages/generate-ucl.lua b/release/packages/generate-ucl.lua index c61cbb251d8b..d9125182a1a4 100755 --- a/release/packages/generate-ucl.lua +++ b/release/packages/generate-ucl.lua @@ -161,7 +161,7 @@ if add_gen_dep(pkgname, pkggenname) then end obj["deps"][pkggenname] = { ["version"] = pkgversion, - ["origin"] = "base" + ["origin"] = "base/"..pkgprefix.."-"..pkggenname, } end @@ -217,6 +217,8 @@ if pkgprefix ~= nil and obj["deps"] ~= nil then newdeps = {} for dep, opts in pairs(obj["deps"]) do local newdep = pkgprefix .. "-" .. dep + -- Make sure origin is set. + opts["origin"] = opts["origin"] or "base/"..newdep newdeps[newdep] = opts end obj["deps"] = newdeps diff --git a/release/packages/set-template.ucl b/release/packages/set-template.ucl index b7ea2b830168..ff2c2d3e6057 100644 --- a/release/packages/set-template.ucl +++ b/release/packages/set-template.ucl @@ -4,7 +4,7 @@ name = "${PKG_NAME_PREFIX}-set-${PKGNAME}" prefix = "/" -origin = "base" +origin = "base/${PKG_NAME_PREFIX}-set-${PKGNAME}" categories = [ base ] version = "${VERSION}" maintainer = "${PKG_MAINTAINER}" diff --git a/release/packages/sets/base-dbg.ucl b/release/packages/sets/base-dbg.ucl index d9eeb2c49677..79e5de22522e 100644 --- a/release/packages/sets/base-dbg.ucl +++ b/release/packages/sets/base-dbg.ucl @@ -25,10 +25,8 @@ EOD deps { "set-minimal-dbg" { version = "${VERSION}" - origin = "base" }, "set-devel-dbg" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/sets/base-jail-dbg.ucl b/release/packages/sets/base-jail-dbg.ucl index 7996b9afbb21..56a130367fa3 100644 --- a/release/packages/sets/base-jail-dbg.ucl +++ b/release/packages/sets/base-jail-dbg.ucl @@ -25,10 +25,8 @@ EOD deps { "set-minimal-jail-dbg" { version = "${VERSION}" - origin = "base" }, "set-devel-dbg" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/sets/base-jail.ucl b/release/packages/sets/base-jail.ucl index d1dc17bc9860..88861510f954 100644 --- a/release/packages/sets/base-jail.ucl +++ b/release/packages/sets/base-jail.ucl @@ -28,14 +28,11 @@ EOD deps { "set-minimal-jail" { version = "${VERSION}" - origin = "base" }, "set-optional-jail" { version = "${VERSION}" - origin = "base" }, "set-devel" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/sets/base.ucl b/release/packages/sets/base.ucl index 823e2342fab8..6a970668c13e 100644 --- a/release/packages/sets/base.ucl +++ b/release/packages/sets/base.ucl @@ -31,14 +31,11 @@ EOD deps { "set-minimal" { version = "${VERSION}" - origin = "base" }, "set-optional" { version = "${VERSION}" - origin = "base" }, "set-devel" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/sets/optional-dbg.ucl b/release/packages/sets/optional-dbg.ucl index a221327518f9..882469c3ad57 100644 --- a/release/packages/sets/optional-dbg.ucl +++ b/release/packages/sets/optional-dbg.ucl @@ -26,6 +26,5 @@ EOD deps { "set-minimal-dbg" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/sets/optional-jail-dbg.ucl b/release/packages/sets/optional-jail-dbg.ucl index 84c76fa407fe..54e7309abdf1 100644 --- a/release/packages/sets/optional-jail-dbg.ucl +++ b/release/packages/sets/optional-jail-dbg.ucl @@ -26,6 +26,5 @@ EOD deps { "set-minimal-jail-dbg" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/sets/optional-jail.ucl b/release/packages/sets/optional-jail.ucl index da6d5fb00825..877023a10eed 100644 --- a/release/packages/sets/optional-jail.ucl +++ b/release/packages/sets/optional-jail.ucl @@ -29,6 +29,5 @@ EOD deps { "set-minimal-jail" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/sets/optional.ucl b/release/packages/sets/optional.ucl index f50fa17e4297..8b44dfe1f3ea 100644 --- a/release/packages/sets/optional.ucl +++ b/release/packages/sets/optional.ucl @@ -28,6 +28,5 @@ EOD deps { "set-minimal" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/at.ucl b/release/packages/ucl/at.ucl index 25724adfd7af..1e2495028b30 100644 --- a/release/packages/ucl/at.ucl +++ b/release/packages/ucl/at.ucl @@ -20,13 +20,11 @@ deps { # atrun relies on cron to work. "cron" { version = "${VERSION}" - origin = "base" }, # at(1) passes the command to /bin/sh "runtime" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/bluetooth.ucl b/release/packages/ucl/bluetooth.ucl index c87d5e9c8420..e9c4787fdbfb 100644 --- a/release/packages/ucl/bluetooth.ucl +++ b/release/packages/ucl/bluetooth.ucl @@ -20,7 +20,6 @@ deps { # rfcomm_pppd(8) uses ppp(8) "ppp" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/bsdconfig.ucl b/release/packages/ucl/bsdconfig.ucl index 752c352ae904..98981f65bea4 100644 --- a/release/packages/ucl/bsdconfig.ucl +++ b/release/packages/ucl/bsdconfig.ucl @@ -20,6 +20,5 @@ deps { # bsdconfig is written in shell script, so it needs /bin/sh "runtime" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/bsdinstall.ucl b/release/packages/ucl/bsdinstall.ucl index 6e5cbce4e342..7fe8898b9427 100644 --- a/release/packages/ucl/bsdinstall.ucl +++ b/release/packages/ucl/bsdinstall.ucl @@ -20,6 +20,5 @@ deps { # bsdinstall is written in shell script, so it needs /bin/sh "runtime" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/caroot.ucl b/release/packages/ucl/caroot.ucl index 4d2b52d300fc..e43c9d0771f2 100644 --- a/release/packages/ucl/caroot.ucl +++ b/release/packages/ucl/caroot.ucl @@ -1,7 +1,6 @@ deps { "certctl": { version = "${VERSION}" - origin = "base" } } scripts: { diff --git a/release/packages/ucl/certctl.ucl b/release/packages/ucl/certctl.ucl index f12158459c5e..d2b4790946ec 100644 --- a/release/packages/ucl/certctl.ucl +++ b/release/packages/ucl/certctl.ucl @@ -19,6 +19,5 @@ deps { "openssl": { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/clang.ucl b/release/packages/ucl/clang.ucl index 956b769a1ee7..3c15d9b7ef03 100644 --- a/release/packages/ucl/clang.ucl +++ b/release/packages/ucl/clang.ucl @@ -1,11 +1,9 @@ deps { "lld" { version = "${VERSION}" - origin = "base" } "libcompiler_rt-dev" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/devd.ucl b/release/packages/ucl/devd.ucl index 8d83ab9ee020..c5fcfef1c368 100644 --- a/release/packages/ucl/devd.ucl +++ b/release/packages/ucl/devd.ucl @@ -20,6 +20,5 @@ deps { # devd uses /bin/sh to invoke hooks. "runtime" { version = "${VERSION}" - origin = "base" }, } diff --git a/release/packages/ucl/newsyslog.ucl b/release/packages/ucl/newsyslog.ucl index b1dfa8253737..27b212a42b77 100644 --- a/release/packages/ucl/newsyslog.ucl +++ b/release/packages/ucl/newsyslog.ucl @@ -2,6 +2,5 @@ deps { # newsyslog uses bzip2 to compress log files. "bzip2" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/periodic.ucl b/release/packages/ucl/periodic.ucl index c8b8ac57c676..2a8a482f959f 100644 --- a/release/packages/ucl/periodic.ucl +++ b/release/packages/ucl/periodic.ucl @@ -19,6 +19,5 @@ deps { "cron" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/rc.ucl b/release/packages/ucl/rc.ucl index 1a734aaa187c..854963a81ca1 100644 --- a/release/packages/ucl/rc.ucl +++ b/release/packages/ucl/rc.ucl @@ -19,7 +19,6 @@ deps { "runtime": { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/rcmds.ucl b/release/packages/ucl/rcmds.ucl index b572ff25e6c3..de608487e07d 100644 --- a/release/packages/ucl/rcmds.ucl +++ b/release/packages/ucl/rcmds.ucl @@ -20,7 +20,6 @@ deps { # The RPC daemons require rpcbind. "utilities" { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/sendmail.ucl b/release/packages/ucl/sendmail.ucl index 62d0a1f2bc61..318fd5aabbe5 100644 --- a/release/packages/ucl/sendmail.ucl +++ b/release/packages/ucl/sendmail.ucl @@ -20,6 +20,5 @@ deps { # sendmail requires make to build its configuration file. "bmake": { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/tests-all.ucl b/release/packages/ucl/tests-all.ucl index 1f3b027b7037..3ad2d0f50e6b 100644 --- a/release/packages/ucl/tests-all.ucl +++ b/release/packages/ucl/tests-all.ucl @@ -27,20 +27,17 @@ deps { # Nearly all the tests require atf to run. "atf": { version = "${VERSION}" - origin = "base" }, # The test framework requires Kyua. "kyua": { version = "${VERSION}" - origin = "base" }, # Since the purpose of the tests is to test the base system, the base # system must be installed. "set-base": { version = "${VERSION}" - origin = "base" } } diff --git a/release/packages/ucl/yp.ucl b/release/packages/ucl/yp.ucl index be4310c85591..9babdbe98fb1 100644 --- a/release/packages/ucl/yp.ucl +++ b/release/packages/ucl/yp.ucl @@ -20,6 +20,5 @@ deps { # YP requires bmake to rebuild the database. "bmake": { version = "${VERSION}" - origin = "base" } }