From 697ba8afb52c1c88f5fbbd07f8ce7d851c424f83 Mon Sep 17 00:00:00 2001 From: Robert Gogolok Date: Mon, 23 Dec 2024 17:05:32 +0100 Subject: [PATCH] Status/2024Q4/buildpacks.adoc: Add report --- .../report-2024-10-2024-12/buildpacks.adoc | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 website/content/en/status/report-2024-10-2024-12/buildpacks.adoc diff --git a/website/content/en/status/report-2024-10-2024-12/buildpacks.adoc b/website/content/en/status/report-2024-10-2024-12/buildpacks.adoc new file mode 100644 index 00000000000..28d4768b3c5 --- /dev/null +++ b/website/content/en/status/report-2024-10-2024-12/buildpacks.adoc @@ -0,0 +1,33 @@ +=== Containers and FreeBSD: Cloud Native Buildpacks + +Contact: Robert Gogolok + +link:https://buildpacks.io/[Cloud Native Buildpacks (CNBs)] transform application source code into container images. +Those images can run on any cloud. +With buildpacks, organizations can concentrate the knowledge of container build best practices within a specialized team, instead of having application developers across the organization individually maintain their own Dockerfiles. + +A few weeks ago, I've started to look into FreeBSD support for buildpacks. +My goal is to have working versions of the tools link:https://buildpacks.io/docs/for-platform-operators/concepts/lifecycle/[lifecycle] and link:https://buildpacks.io/docs/for-platform-operators/how-to/integrate-ci/pack/[pack] in the next few months. + +There were previous attempts to bring support for FreeBSD to buildpacks, for example to `lifecycle`: + +* link:https://github.com/buildpacks/lifecycle/pull/1087[Add support for FreeBSD #1087] +* link:https://github.com/buildpacks/lifecycle/pull/1271[Add FreeBSD Support #1271] + +After looking into those changes, I've decided to first introduce some general cleanup steps to keep the required changes for FreeBSD small. + +This resulted in the following changes that were successfully integrated: + +* link:https://github.com/buildpacks/lifecycle/pull/1431[Remove obsolete // +build lines #1431] +* link:https://github.com/buildpacks/lifecycle/pull/1432[Use unix build constraint #1432] +* link:https://github.com/buildpacks/lifecycle/pull/1439[Support FreeBSD build phase #1439] + +With these steps, it is now possible to compile `lifecycle` under FreeBSD. + +The next steps are: + +- Provide missing FreeBSD functionality to `lifecycle`. +- Further investigate FreeBSD as a build target in `lifecycle`. +- Investigate and get the tool `pack` to compile and run under FreeBSD. +- Provide `lifecycle` and/or `pack` via FreeBSD ports. +- Investigate the idea of FreeBSD buildpacks for some popular languages, similar to link:https://paketo.io/[paketo buildpacks].