From nobody Wed Sep 24 18:54:41 2025 X-Original-To: dev-commits-src-main@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 4cX5cd4RMtz68HfV; Wed, 24 Sep 2025 18:54:41 +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 4cX5cd3fwhz4Cc2; Wed, 24 Sep 2025 18:54:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758740081; 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=I0m2VESsZO876cs4zV43aS02lObJYvvdyWckzTHUxGU=; b=yFzbpyfT/N2ygWHZj5oCFYt9oKuUV+UJs8kZ934/QjdIE67QxrCEptNMEwQkRW6v7k8LzL 20FI4lUOMrIHorZ+HO0e90A0orRImt6fJ3CmtsCpvTTekoNx3/55yYDLPgJ4hnSprByBdr 7O9XHuIZuHdowvJNrI+U7WhgUpHhtv0pXgU+aNVg5JeDYO+04RVe91TUMuMkb+LWlbKPs0 P1i9ObZn2nnwuI10jzc9+n2Y5+Ry+ynVxn9hJZ6nZ4ATYX1+H8eqTFkZKReqjZd7rqCgEb P37KKIFkmD4EiyU8ds39ZLOTQV9GNNJfOR9yfdDsLUoR05VvvMxbueoWpiyXVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758740081; 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=I0m2VESsZO876cs4zV43aS02lObJYvvdyWckzTHUxGU=; b=gzvoDlyt0r/eFz7CrxPBHqo7ttTfyy9gbSsnIZngKrEAcdu1duvxhAUSwxL2SHPhirnV1d bc9dfbiIyaTMB8qm/1o6CXq/eQ4mh57DQChwB2gekR05EuyMcW3q3UXLdxt00j/rcE6CZf F1BMzyBTLnDwtLSVG1fI92MvBtrfpn+mb/Zr8hduWvWIBNHuuoF+htZbgh/P6mpndAr3Ae f4Dg1rL9XnnUCrkvb1JMPtUDthUScJ+hqq3LX48mUb4B+J+M/uPfYAEd7THk5nH5hoFREb CVNB4c44oiALgGZA8GIeRb3BOE9pwYmsDS3CgTolHG0Wy8g9DYskBLcUpP9SEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758740081; a=rsa-sha256; cv=none; b=QDlf0GAvOJgHwNvgbbYqvuQSWm0ySNlv29fjW6hVeNxtZ4X5+mYFnWUBo21RJk8/ZO3FqF ueu+fuczZ2RLIWwoQc/0vTteLbYYBhtPIn8Q4k4GUfH1TIFEcp6VYH+mHK4kid2eZL4HiT UIBktY7+rB7v3olyLr5zvOcDBIkmsSOj+CRC/8QR2j03nextsQE4yRFBZQqzgYyBkXbfKX 7i2QFz9hsyL6EGdNcMsL8nAmx+4xsyjvReen6ZhED5G6NM6tvBi2neMg9kTYQs4oXcio9G D3NE7ACWbvZmhJl+Gh4Op2C2HDQovTYkZgRadvCFvY3eMSsSeyJS6XRs6t3x8w== 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 4cX5cd2nkMzk6R; Wed, 24 Sep 2025 18:54:41 +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 58OIsftG092315; Wed, 24 Sep 2025 18:54:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58OIsfga092312; Wed, 24 Sep 2025 18:54:41 GMT (envelope-from git) Date: Wed, 24 Sep 2025 18:54:41 GMT Message-Id: <202509241854.58OIsfga092312@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 014647a30ff4 - main - packages: Add some missing dependencies List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 014647a30ff4c76a99962ee6b079db0d9cdf5949 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=014647a30ff4c76a99962ee6b079db0d9cdf5949 commit 014647a30ff4c76a99962ee6b079db0d9cdf5949 Author: Lexi Winter AuthorDate: 2025-09-24 18:39:35 +0000 Commit: Lexi Winter CommitDate: 2025-09-24 18:39:35 +0000 packages: Add some missing dependencies * at requires cron, since atrun is started by cron and won't work without it, and also requires runtime because at runs jobs under /bin/sh. * bluetooth requires ppp for rfcomm_pppd (a very common use case). * bsdconfig and bsdinstall are written in shell script and therefore require /bin/sh. * devd requires /bin/sh to invoke its hooks. While here, document the policy for adding dependencies in the README. This will hopefully ensure we end up with consistent dependencies. MFC after: 1 day Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D52699 --- release/packages/ucl/README | 29 +++++++++++++++++++++++++++++ release/packages/ucl/at.ucl | 33 +++++++++++++++++++++++++++++++++ release/packages/ucl/bluetooth.ucl | 28 ++++++++++++++++++++++++++++ release/packages/ucl/bsdconfig.ucl | 25 +++++++++++++++++++++++++ release/packages/ucl/bsdinstall.ucl | 25 +++++++++++++++++++++++++ release/packages/ucl/devd.ucl | 25 +++++++++++++++++++++++++ 6 files changed, 165 insertions(+) diff --git a/release/packages/ucl/README b/release/packages/ucl/README index 85b6130c0488..6f1bdb065764 100644 --- a/release/packages/ucl/README +++ b/release/packages/ucl/README @@ -19,3 +19,32 @@ In general, dependencies and post-install scripts should be added in the package-specific manifests, while comment and description should be set in the "-all" manifest. +Policies for package dependencies: + +* If a package requires a shared library from another package, do not add a + dependency, unless pkg(8) doesn't detect the dependency automatically for + some reason (which may happen if the library is loaded with dlopen() at + runtime). + +* If a package contains rc(8) scripts, do not add a dependency on "rc". + Installing "rc" is optional. + +* If a package contains hooks intended to be invoked from devd, do not add + a dependency on "devd". Like rc, devd is optional. The exception is if + the package doesn't work at all without devd, in which case a dependency + is warranted. + +* If a package contains cron(8) jobs in /etc/cron.d, do not a dependency + on "cron", unless the package doesn't work at all without cron. + +* If a package contains periodic(8) reports, do not add a dependency on + "periodic", unless the package only contains periodic reports. + +* If a package contains shell scripts, and the script is *not* one of the + previously mentioned examples (rc, devd, etc.), add a dependency on + "runtime" for /bin/sh. + +* Otherwise, if one component of a package requires another package to work, + add a dependency on the other package even if not everything in the package + requires that dependency. Users expect that all of a package will work + after installing it. diff --git a/release/packages/ucl/at.ucl b/release/packages/ucl/at.ucl new file mode 100644 index 000000000000..25724adfd7af --- /dev/null +++ b/release/packages/ucl/at.ucl @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +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 new file mode 100644 index 000000000000..c87d5e9c8420 --- /dev/null +++ b/release/packages/ucl/bluetooth.ucl @@ -0,0 +1,28 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +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 new file mode 100644 index 000000000000..752c352ae904 --- /dev/null +++ b/release/packages/ucl/bsdconfig.ucl @@ -0,0 +1,25 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +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 new file mode 100644 index 000000000000..6e5cbce4e342 --- /dev/null +++ b/release/packages/ucl/bsdinstall.ucl @@ -0,0 +1,25 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +deps { + # bsdinstall is written in shell script, so it needs /bin/sh + "runtime" { + version = "${VERSION}" + origin = "base" + }, +} diff --git a/release/packages/ucl/devd.ucl b/release/packages/ucl/devd.ucl new file mode 100644 index 000000000000..8d83ab9ee020 --- /dev/null +++ b/release/packages/ucl/devd.ucl @@ -0,0 +1,25 @@ +/* + * SPDX-License-Identifier: ISC + * + * Copyright (c) 2025 Lexi Winter + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +deps { + # devd uses /bin/sh to invoke hooks. + "runtime" { + version = "${VERSION}" + origin = "base" + }, +}