From nobody Thu Sep 25 01:01:47 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 4cXFmC6BPHz68kGg; Thu, 25 Sep 2025 01:01:47 +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 4cXFmC23ZQz3bkw; Thu, 25 Sep 2025 01:01:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758762107; 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=sdq5f1zoEF2KJhrgdu97qDe4PswRYbejC6svM2hLlsE=; b=cCABYQxSmgEFiibp6oil8vmVz/gshq56rD0oXQ847SoEIa7qPXxpRnJ+0g68imguCNL7PB GG+wXcZyriuXmR/lrNEj7Xu7olxkzBYOzFOizsRA0l3TaJ0s1rQgdIm69W9NaByl68r4Lt dxgv9PDaDhxwZ+04a7u0jc2bU9MBrXDG7nBosIFw6Yl4p9qEfWJPKgaABkuo5sRhsHiEf/ JGpxh/UI5hWux/OIWf1C7I1zOC0oKJh15sw+DQssA+D8WA5Cmcjfc5o6rFhsXKdCMlA1Jj ZPyfx76bS7Ra83n9INnPrrk83bjzFX/oLvqqcF4kuDnDHasPFvY6FqOe1l+ntA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758762107; 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=sdq5f1zoEF2KJhrgdu97qDe4PswRYbejC6svM2hLlsE=; b=mlD5ESXfpFDjLa7JtvwlpGISaKYJDE2ef0P9pmFEWSRzzaEPjEsHC7lehXKEjVmNn69Vg9 lTACvQYV+0EaFOSDZouD7RZGGcOdQ6Wdxer15vlkpPF3fKgsVHsJQnEMjmySIPkR42GGpY f1mDvwkloxbgG9ObRFKfvTlPHmr2k7T6mOlo3LVI+FIusud5thJyufnQa2FPi+l2rgmoIl fyYzCvXmNnlk6v0TY/ZYwdH80ulACsubcnxqFUN/6VwyERbMsTMJxbf1g/zzM4MlSFilAM y/l5stiOjuQkIHthURl/h4OOL6UNjgB/sg9UBwxg8GmW8hzkzfmuYlSuVSmJKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758762107; a=rsa-sha256; cv=none; b=jy8kSA+9XZ5MXbT8eZG/uXY/9K20QieCpDRQrdKRVXyy5PgW2+MJ6v5ZUifsrooWB3jpvf zWwrnqR21v8HOUbcnGBUKT8KLqvKga14Fjb6D8aJ+H9TN0b9LsOnYDKf6TS0VCONU65GhC DAhaKUo6u9puoMYuFNQXws/b4B5nFKqQss607fhmMevewGAbI3RykF5r0pv3NfSJLIZWCB SjUnm8NMn/2WN2WOJFHPdMW+spdkl2hHlwfrJslOhyPDCNEcv8UnrZP7TKte6S8zNpc9iF 0/+iFHWzZuHteuCqG1736eEBnCQQsNumgo7zrOkCW4+NTccFfPUX27YU3YqRyw== 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 4cXFmC1KtbzwDZ; Thu, 25 Sep 2025 01:01:47 +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 58P11lEJ087132; Thu, 25 Sep 2025 01:01:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58P11l6J087129; Thu, 25 Sep 2025 01:01:47 GMT (envelope-from git) Date: Thu, 25 Sep 2025 01:01:47 GMT Message-Id: <202509250101.58P11l6J087129@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: 1dbe00f75091 - stable/15 - packages: Add some missing dependencies 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: 1dbe00f750915bedb686a9a00ab500db9ffaf376 Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=1dbe00f750915bedb686a9a00ab500db9ffaf376 commit 1dbe00f750915bedb686a9a00ab500db9ffaf376 Author: Lexi Winter AuthorDate: 2025-09-24 18:39:35 +0000 Commit: Lexi Winter CommitDate: 2025-09-25 01:00:41 +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 (cherry picked from commit 014647a30ff4c76a99962ee6b079db0d9cdf5949) --- 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" + }, +}