Page MenuHomeFreeBSD

PR: 267184
ClosedPublic

Authored by dch on Nov 10 2022, 11:42 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 24, 11:52 PM
Unknown Object (File)
Sun, Jun 23, 1:55 PM
Unknown Object (File)
Sun, Jun 23, 12:44 PM
Unknown Object (File)
Sat, Jun 22, 7:53 AM
Unknown Object (File)
Fri, Jun 21, 1:05 PM
Unknown Object (File)
Fri, Jun 21, 8:30 AM
Unknown Object (File)
Fri, Jun 21, 8:22 AM
Unknown Object (File)
Wed, Jun 19, 12:56 PM

Details

Summary

sysutils/podman-suite: new meta-port combining the full set of OCI
tools and dependencies

  • buildah
  • podman
  • skopeo
Test Plan
  • poudriere OK arm64 + amd64 14.0-CURRENT, 13.1-RELEASE amd64
  • a few more examples via pkg-message will be added so people can get started

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dch requested review of this revision.Nov 10 2022, 11:42 AM
arrowd added inline comments.
net/containernetworking-plugins/Makefile
7 ↗(On Diff #112838)

Maybe https://www.cni.dev/ is a better fit there?

sysutils/buildah/Makefile
7 ↗(On Diff #112838)
11 ↗(On Diff #112838)

These knobs should come in following order: BUILD_DEPENDS, LIB_DEPENDS, RUN_DEPENDS.

See https://docs.freebsd.org/en/books/porters-handbook/book/#porting-order-depends

sysutils/conmon/Makefile
12 ↗(On Diff #112838)

Order of knobs.

sysutils/containers-common/Makefile
16 ↗(On Diff #112838)

This block should be placed after NO_ARCH knob.

sysutils/podman/Makefile
7 ↗(On Diff #112838)

https://podman.io/ too?

11 ↗(On Diff #112838)

Knob order.

sysutils/skopeo/Makefile
12 ↗(On Diff #112838)

Knob order.

sysutils/containers-common/Makefile
16 ↗(On Diff #112838)

Won't that break GH_TAGNAME line since it refers to these values?

sysutils/containers-common/Makefile
16 ↗(On Diff #112838)

Nope, make postpones variable expansion unless you use := instead of =.

You can verify that everything works by running make -V GH_TAGNAME before and after change.

dch marked 10 inline comments as done.Nov 15 2022, 11:34 PM

I'm incorporating these changes + moving PORTVERSION -> DISTVERSION.
This should comply almost everywhere with portlint -AC and portfmt.

I'll push a new version as soon as next build finishes in poudriere.

incorporate feedback from arrowd, portfmt & portlint.
Use DISTVERSION everywhere, and add a few more short examples.

move pkg-message -> files/
mention docker-registry and qemu-static for building images

new pkg-message hook is weird, so ignore its warnings.

Here's what we get from pkg installation now, as quick starts:

`
Message from containernetworking-plugins-0.1:

--
Container networking relies on NAT to allow container network packets
out to the host's network. This requires a PF firewall to perform the
translation. A simple example is included - to use it:

# cp /usr/local/etc/containers/pf.conf.sample /etc/pf.conf
... edit /etc/pf.conf and set egress_if to your network interface ...
# sysrc pf_enable=YES
# service pf start
=====
Message from buildah-1.28.1.d:

--
This port of the buildah image building tool is based on unreleased
sources and should be used for evaluation and testing purposes only.

Basic usage follows:

$ export c=$(sudo buildah from quay.io/dougrabson/freebsd-minimal:13.1)
$ sudo buildah run $c freebsd-version -run
$ sudo buildah run $c ping -c 3 9.9.9.9
=====
Message from podman-4.4.0.d:

--
This port of the podman container engine is based on unreleased
sources and should be used for evaluation and testing purposes only.

$ sudo podman run --rm docker.io/dougrabson/hello
=====
Message from podman-suite-20221029:

--
Optionally, to host your own image registry, or to
create cross-platform images, install in addition:

- sysutils/docker-registry
- emulators/qemu-user-static
`

Looks good from my side.

This revision is now accepted and ready to land.Nov 16 2022, 7:11 AM