Date: Sat, 07 Mar 2026 16:59:25 +0000 From: =?utf-8?Q?Jes=C3=BAs?= Daniel Colmenares Oviedo <dtxdf@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 78d07a643388 - main - sysutils/py-dbuild: New port: Build, test, and push FreeBSD OCI container images Message-ID: <69ac596d.44287.6b77e64e@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by dtxdf: URL: https://cgit.FreeBSD.org/ports/commit/?id=78d07a64338818483fa2b1122a3735ca8dbf5e1e commit 78d07a64338818483fa2b1122a3735ca8dbf5e1e Author: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org> AuthorDate: 2026-03-07 16:57:23 +0000 Commit: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org> CommitDate: 2026-03-07 16:58:48 +0000 sysutils/py-dbuild: New port: Build, test, and push FreeBSD OCI container images dbuild is a build tool for daemonless container images. It reads a project directory containing Containerfile templates and an optional .daemonless/config.yaml, then handles the full image lifecycle: build, integration test, SBOM generation, and registry push. WWW: https://daemonless.io/guides/dbuild --- sysutils/Makefile | 1 + sysutils/py-dbuild/Makefile | 50 +++++++++++++++++++++++ sysutils/py-dbuild/distinfo | 3 ++ sysutils/py-dbuild/files/patch-dbuild_ci__test.py | 10 +++++ sysutils/py-dbuild/pkg-descr | 4 ++ 5 files changed, 68 insertions(+) diff --git a/sysutils/Makefile b/sysutils/Makefile index 27e3cf6116b9..cf6cf43021b3 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -1050,6 +1050,7 @@ SUBDIR += py-cron-descriptor SUBDIR += py-croniter SUBDIR += py-croniter2 + SUBDIR += py-dbuild SUBDIR += py-debian-inspector SUBDIR += py-dict-toolbox SUBDIR += py-diffoscope diff --git a/sysutils/py-dbuild/Makefile b/sysutils/py-dbuild/Makefile new file mode 100644 index 000000000000..c642f89f6bb9 --- /dev/null +++ b/sysutils/py-dbuild/Makefile @@ -0,0 +1,50 @@ +PORTNAME= dbuild +DISTVERSIONPREFIX= v +DISTVERSION= 1.4.0 +CATEGORIES= sysutils python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= dtxdf@FreeBSD.org +COMMENT= Build, test, and push FreeBSD OCI container images +WWW= https://daemonless.io/guides/dbuild + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \ + buildah:sysutils/buildah \ + podman:sysutils/podman + +USES= python +USE_GITHUB= yes +GH_ACCOUNT= daemonless +USE_PYTHON= autoplist pep517 + +NO_ARCH= yes + +PORTDOCS= README.md + +OPTIONS_DEFINE= COMPOSE_TESTING DOCS MULTI_ARCH_MANIFESTS SBOM \ + SCREENSHOT_TESTING +OPTIONS_DEFAULT= MULTI_ARCH_MANIFESTS SBOM + +COMPOSE_TESTING_DESC= Compose testing +MULTI_ARCH_MANIFESTS_DESC= Multi-arch manifests +SBOM_DESC= SBOM generation +SCREENSHOT_TESTING_DESC= Screenshot testing + +COMPOSE_TESTING_RUN_DEPENDS= podman-compose:sysutils/podman-compose +MULTI_ARCH_MANIFESTS_RUN_DEPENDS= skopeo:sysutils/skopeo +SBOM_RUN_DEPENDS= trivy:security/trivy +SCREENSHOT_TESTING_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scikit-image>=0:graphics/py-scikit-image@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}selenium>=0:www/py-selenium@${PY_FLAVOR} \ + chromium>=0:www/chromium + +do-install-DOCS-on: + @${MKDIR} ${STAGEDIR}/${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}/${DOCSDIR} + +.include <bsd.port.mk> diff --git a/sysutils/py-dbuild/distinfo b/sysutils/py-dbuild/distinfo new file mode 100644 index 000000000000..05393656c55b --- /dev/null +++ b/sysutils/py-dbuild/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1772857558 +SHA256 (daemonless-dbuild-v1.4.0_GH0.tar.gz) = b4dcbbf7421f1310027f6087ec4a89e0f6d7c51980d195cf3ae5c9327337c06c +SIZE (daemonless-dbuild-v1.4.0_GH0.tar.gz) = 75512 diff --git a/sysutils/py-dbuild/files/patch-dbuild_ci__test.py b/sysutils/py-dbuild/files/patch-dbuild_ci__test.py new file mode 100644 index 000000000000..807c239b9a72 --- /dev/null +++ b/sysutils/py-dbuild/files/patch-dbuild_ci__test.py @@ -0,0 +1,10 @@ +--- dbuild/ci_test.py.orig 2026-03-07 16:44:08 UTC ++++ dbuild/ci_test.py +@@ -97,6 +97,7 @@ def _check_ocijail_annotation(annotation: str, base_im + *podman._priv_prefix(), + "podman", "run", "--rm", + "--annotation", f"{annotation}=true", ++ "--entrypoint", "", + base_image, + "/bin/echo", "ok", + ] diff --git a/sysutils/py-dbuild/pkg-descr b/sysutils/py-dbuild/pkg-descr new file mode 100644 index 000000000000..708815e2235d --- /dev/null +++ b/sysutils/py-dbuild/pkg-descr @@ -0,0 +1,4 @@ +dbuild is a build tool for daemonless container images. It reads a +project directory containing Containerfile templates and an optional +.daemonless/config.yaml, then handles the full image lifecycle: +build, integration test, SBOM generation, and registry push.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69ac596d.44287.6b77e64e>
