package/podman: new package (branch yem/podman)
v2 cover package/podman: new package (branch yem/podman)
Hello All!
This series introduce podman, an alternative to Docker. Podman is daemon-less, and does not need root either.
The series starts with preparatory commits in existing packages and the testing infra: then it introduces new packages on which podman will rely.
Not required by podman, skopeo is made a target package as well, as it was of help debugging podman (and Docker in a separate series).
Changes v1 -> v2:
- add licensing info for netavark and podman (Julien)
Regards,
Yann E. MORIN.
----------------------------------------------------------------
Yann E. MORIN (8):
support/testing: set date in emulated machine package/shadow: install to staging for subids package/conmon: depends on systemd when enabled package/skopeo: add target variant package/cgroupfs-mount: tweak the kernel config package/cgroupfs-v2-mount: new package package/netavark: new package package/podman: new package
package/Config.in | 4 + package/cgroupfs-mount/Config.in | 12 +-- package/cgroupfs-mount/cgroupfs-mount.mk | 11 +++ package/cgroupfs-v2-mount/Config.in | 10 ++ package/cgroupfs-v2-mount/S30cgroupfs2 | 43 +++++++++ package/cgroupfs-v2-mount/cgroupfs-v2-mount.mk | 16 ++++ package/conmon/conmon.mk | 4 + package/netavark/Config.in | 10 ++ package/netavark/netavark.hash | 3 + package/netavark/netavark.mk | 19 ++++ package/podman/Config.in | 38 ++++++++ package/podman/podman.hash | 3 + package/podman/podman.mk | 112 ++++++++++++++++++++++ package/podman/policy.json | 7 ++ package/podman/registries.conf | 1 + package/shadow/shadow.mk | 1 + package/skopeo/Config.in | 25 +++++ package/skopeo/skopeo.mk | 10 ++ support/testing/infra/emulator.py | 5 + support/testing/tests/package/test_podman.py | 124 +++++++++++++++++++++++++ support/testing/tests/package/test_skopeo.py | 41 ++++++++ 21 files changed, 488 insertions(+), 11 deletions(-) create mode 100644 package/cgroupfs-v2-mount/Config.in create mode 100644 package/cgroupfs-v2-mount/S30cgroupfs2 create mode 100644 package/cgroupfs-v2-mount/cgroupfs-v2-mount.mk create mode 100644 package/netavark/Config.in create mode 100644 package/netavark/netavark.hash create mode 100644 package/netavark/netavark.mk create mode 100644 package/podman/Config.in create mode 100644 package/podman/podman.hash create mode 100644 package/podman/podman.mk create mode 100644 package/podman/policy.json create mode 100644 package/podman/registries.conf create mode 100644 package/skopeo/Config.in create mode 100644 support/testing/tests/package/test_podman.py create mode 100644 support/testing/tests/package/test_skopeo.py
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/8 support/testing: set date in emulated machine
When time comes to check certificates, the date and time in the emulated machine should be close enough to the actual values, so that certificate validity can be checked.
Set the date to the date of the system. This is going to be accurate to the second, which is, by far, enough for our purpose.
The Emulator() class does inherit from unittest.TestCase, so we can't call any of the usual self.assertXXX() methods; instead, we just raise a standard exception, like is done a few lines above to detect the login prompt.
---
Changes v1 -> v2:
- catch failure to set the date
--- support/testing/infra/emulator.py | 5 +++++ 1 file changed, 5 insertions(+)
support/testing/infra/emulator.py +5 -0
@@ -5,6 +5,7 @@ import os import pexpect import pexpect.replwrap +import time import infra
@@ -152,6 +153,10 @@ class Emulator(object): self.connect_shell() + output, exit_code = self.run(f"date @{int(time.time())}") + if exit_code: + raise SystemError("Cannot set date in virtual machine") + def connect_shell(self): extra_init_cmd = " && ".join([ 'export PAGER=cat',
Signature · 6 lines
2.47.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 2/8 package/shadow: install to staging for subids
In reply to Yann E. MORINWhen the subids feature is enabled, shadow will install a library and a header:
$ sort output/build/shadow-4.16.0/.files-list.txt
[...]
shadow,./lib/libsubid.la
shadow,./lib/libsubid.so
shadow,./lib/libsubid.so.5
shadow,./lib/libsubid.so.5.0.0
[...]
shadow,./usr/include/shadow/subid.h
[...]Install to staging in that case.
--- package/shadow/shadow.mk | 1 + 1 file changed, 1 insertion(+)
package/shadow/shadow.mk +1 -0
@@ -46,6 +46,7 @@ SHADOW_CONF_OPTS += --disable-account-tools-setuid endif ifeq ($(BR2_PACKAGE_SHADOW_SUBORDINATE_IDS),y) +SHADOW_INSTALL_STAGING = YES SHADOW_CONF_OPTS += --enable-subordinate-ids define SHADOW_SUBORDINATE_IDS_PERMISSIONS /usr/bin/newuidmap f 4755 0 0 - - - - -
Signature · 6 lines
2.47.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 3/8 package/conmon: depends on systemd when enabled
In reply to Yann E. MORINWhen it detects it runs under systemd, conmon will want to log to the journal. However, it needs to be linked with libsystemd to do so and if it is not, will error out:
Feb 22 11:10:03 buildroot conmon[199]: conmon 3b462ce6f2cc64f75c42 <error>: Include journald in compilation path to log to systemd journal
This prevents starting any container.
Add a dependency to systemd when it is enabled.
--- package/conmon/conmon.mk | 4 ++++ 1 file changed, 4 insertions(+)
package/conmon/conmon.mk +4 -0
@@ -18,6 +18,10 @@ else CONMON_DISABLE_SECCOMP = 1 endif +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +CONMON_DEPENDENCIES += systemd +endif + define CONMON_CONFIGURE_CMDS printf '#!/bin/bash\necho "$(CONMON_DISABLE_SECCOMP)"\n' > \ $(@D)/hack/seccomp-notify.sh
Signature · 6 lines
2.47.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 4/8 package/skopeo: add target variant
In reply to Yann E. MORINSkopeo can be used to manipulate container images, and so can be usefull on target devices that are going to be used as a host to run containers.
So, add a target variant for skopeo.
... with a runtime test while at it.
--- package/Config.in | 1 + package/skopeo/Config.in | 25 ++++++++++++ package/skopeo/skopeo.mk | 10 +++++ support/testing/tests/package/test_skopeo.py | 41 ++++++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 package/skopeo/Config.in create mode 100644 support/testing/tests/package/test_skopeo.py
package/Config.in +1 -0
@@ -2892,6 +2892,7 @@ menu "System tools" source "package/sdbusplus/Config.in" source "package/seatd/Config.in" source "package/shadow/Config.in" + source "package/skopeo/Config.in" source "package/smack/Config.in" source "package/start-stop-daemon/Config.in" source "package/supervisor/Config.in"
package/skopeo/Config.in new file +25 -0
@@ -0,0 +1,25 @@ +config BR2_PACKAGE_SKOPEO + bool "skopeo" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_USE_MMU # btrfs-progs, libgpgme, lvm2 + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme + depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs, lvm2 + depends on !BR2_STATIC_LIBS # lvm2 + select BR2_PACKAGE_HOST_GO + select BR2_PACKAGE_BTRFS_PROGS + select BR2_PACKAGE_LIBGPGME + select BR2_PACKAGE_LVM2 + help + skopeo is a command line utility that performs various + operations on container images and image repositories. + + https://github.com/containers/skopeo + +comment "skopeo needs a toolchain w/ threads, sahred libs" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_USE_MMU + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS
package/skopeo/skopeo.mk +10 -0
@@ -11,13 +11,23 @@ SKOPEO_LICENSE = Apache-2.0 SKOPEO_LICENSE_FILES = LICENSE SKOPEO_CPE_ID_VALID = YES +SKOPEO_DEPENDENCIES = \ + host-pkgconf \ + btrfs-progs \ + libgpgme \ + lvm2 + HOST_SKOPEO_DEPENDENCIES = \ host-btrfs-progs \ host-libgpgme \ host-lvm2 \ host-pkgconf +SKOPEO_GO_ENV = PKG_CONFIG_PATH=$(HOST_DIR)/lib/pkgconfig +SKOPEO_BUILD_TARGETS = cmd/skopeo + HOST_SKOPEO_GO_ENV = PKG_CONFIG_PATH=$(HOST_DIR)/lib/pkgconfig HOST_SKOPEO_BUILD_TARGETS = cmd/skopeo +$(eval $(golang-package)) $(eval $(host-golang-package))
support/testing/tests/package/test_skopeo.py new file +41 -0
41 lines not on this page · raw message
Signature · 6 lines
2.47.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 5/8 package/cgroupfs-mount: tweak the kernel config
In reply to Yann E. MORINWhen it was introduced in 2016 with commit 0e1547a87cfd (cgroupfs-mount:
new package), we did not yet have the infrastrucutre for package to set kernel config options, which only came 4 years later with commit 0aed4c2dae76 (linux: allow packages to set kernel config options).
So at that time, the requirements for cgroupfs-mount were documented in the help for the Kconfig symbol.
But now that we do have tha infrastructure in place, actually use it to set the required options, and drop the list from the Lconfig entry (that would be duplication, prone to bit-rot with time, and other packages do not document their requirements in LKconfig, they just use the infra to set the options).
--- package/cgroupfs-mount/Config.in | 12 +----------- package/cgroupfs-mount/cgroupfs-mount.mk | 11 +++++++++++ 2 files changed, 12 insertions(+), 11 deletions(-)
package/cgroupfs-mount/Config.in +1 -11
@@ -4,16 +4,6 @@ config BR2_PACKAGE_CGROUPFS_MOUNT help cgroupfs mount and umount scripts. - requires a Linux kernel >= 3.0 with the following options - enabled: - - - CONFIG_BLK_CGROUP - - CONFIG_CGROUPS - - CONFIG_CGROUP_CPUACCT - - CONFIG_CGROUP_DEVICE - - CONFIG_CGROUP_FREEZER - - CONFIG_CGROUP_WRITEBACK - - CONFIG_CGROUP_SCHED - - CONFIG_CGROUP_PIDS + Requires a Linux kernel >= 3.0 https://github.com/tianon/cgroupfs-mount
package/cgroupfs-mount/cgroupfs-mount.mk +11 -0
@@ -10,6 +10,17 @@ CGROUPFS_MOUNT_LICENSE = GPL-3.0+ CGROUPFS_MOUNT_LICENSE_FILES = debian/copyright CGROUPFS_MOUNT_CPE_ID_VALID = YES +define CGROUPFS_MOUNT_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_CGROUP) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_WRITEBACK) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED) + $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_PIDS) +endef + define CGROUPFS_MOUNT_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/cgroupfs-mount $(TARGET_DIR)/usr/bin/cgroupfs-mount $(INSTALL) -D -m 0755 $(@D)/cgroupfs-umount $(TARGET_DIR)/usr/bin/cgroupfs-umount
Signature · 6 lines
2.47.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 6/8 package/cgroupfs-v2-mount: new package
In reply to Yann E. MORINCurrently, the cgroupfs-mount package only mounts a cgroup v1 hierarchy, but v1 is considered legacy and obsolete, while v2 has ben around for a while now, and is required by some packages (e.g. podman whines about v1).
cgroupfs-mount has not had a release in almost 8 years now, and only the occasional commit since then and until more than 3 years ago. It's not going to evolve...
Add a new package with a simple-enough sysv startup script, that mounts the cgroup v2 hierarchy filesystem. For systemd, there's nothing to do, as systemd handles the mount by itself.
Since both cgroup v1 and v2 use the same mountpoint, we can't have both enabled at the same time, and thus we restrict the v2 to be hidden when v1 is enabled (quite a few packages select the v1; changing those would require that they be validated against v2 first...)
Note that, due to limitations in Kconfig, cgroupfs-v2-mount will appear indented below cgroupfs-mount, because it has a (negative) dependnecy on it. This spurious indentation is unfortunate and annoying, but benign; fixing that would require breaking the dependency with a random Kconfig symbole, which we dont have, and which we decided not to introduce jsut for this one use-case (well, there's host-gnupg and host-gnupg2 that have the exact same issue, but meh...)
--- package/Config.in | 1 + package/cgroupfs-v2-mount/Config.in | 10 +++++ package/cgroupfs-v2-mount/S30cgroupfs2 | 43 +++++++++++++++++++ .../cgroupfs-v2-mount/cgroupfs-v2-mount.mk | 16 +++++++ 4 files changed, 70 insertions(+) create mode 100644 package/cgroupfs-v2-mount/Config.in create mode 100644 package/cgroupfs-v2-mount/S30cgroupfs2 create mode 100644 package/cgroupfs-v2-mount/cgroupfs-v2-mount.mk
package/Config.in +1 -0
@@ -2808,6 +2808,7 @@ menu "System tools" source "package/balena-engine/Config.in" source "package/bubblewrap/Config.in" source "package/cgroupfs-mount/Config.in" + source "package/cgroupfs-v2-mount/Config.in" source "package/circus/Config.in" source "package/conmon/Config.in" source "package/containerd/Config.in"
package/cgroupfs-v2-mount/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_CGROUPFS_V2_MOUNT + bool "cgroupfs-v2-mount" + depends on !BR2_INIT_SYSTEMD + depends on !BR2_PACKAGE_CGROUPFS_MOUNT + help + Mount the cgroup v2 hierarchy filesystem. + +comment "cgroupfs-v2-mount is incompatible with cgroupfs-mount" + depends on !BR2_INIT_SYSTEMD + depends on BR2_PACKAGE_CGROUPFS_MOUNT
package/cgroupfs-v2-mount/S30cgroupfs2 new file +43 -0
43 lines not on this page · raw message
package/cgroupfs-v2-mount/cgroupfs-v2-mount.mk new file +16 -0
@@ -0,0 +1,16 @@ +################################################################################ +# +# cgroupfs-v2-mount +# +################################################################################ + +CGROUPFS_V2_MOUNT_VERSION = +CGROUPFS_V2_MOUNT_SITE = + +define CGROUPFS_V2_MOUNT_INSTALL_INIT_SYSV + $(INSTALL) -m 0755 -D \ + $(CGROUPFS_V2_MOUNT_PKGDIR)/S30cgroupfs2 \ + $(TARGET_DIR)/etc/init.d/S30cgroupfs2 +endef + +$(eval $(generic-package))
Signature · 6 lines
2.47.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 7/8 package/netavark: new package
In reply to Yann E. MORIN---
Changes v1 -> v2:
- add licensing information (Julien)
--- package/Config.in | 1 + package/netavark/Config.in | 10 ++++++++++ package/netavark/netavark.hash | 3 +++ package/netavark/netavark.mk | 19 +++++++++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 package/netavark/Config.in create mode 100644 package/netavark/netavark.hash create mode 100644 package/netavark/netavark.mk
package/Config.in +1 -0
@@ -2559,6 +2559,7 @@ endif source "package/ndisc6/Config.in" source "package/net-tools/Config.in" source "package/netatalk/Config.in" + source "package/netavark/Config.in" source "package/netcalc/Config.in" source "package/netcat/Config.in" source "package/netcat-openbsd/Config.in"
package/netavark/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_NETAVARK + bool "netavark" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_RUSTC + help + Netavark is a rust based network stack for containers. It + is being designed to work with Podman but is also applicable + for other OCI container management applications. + + https://github.com/containers/netavark
package/netavark/netavark.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally computed +sha256 09471bd116fdebfd3f7a8100b37809e3a306d0f18e5feee8445ed1e01a22e0aa netavark-v1.14.0-git4-cargo2.tar.gz +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE
package/netavark/netavark.mk new file +19 -0
@@ -0,0 +1,19 @@ +################################################################################ +# +# netavark +# +################################################################################ + +NETAVARK_VERSION = v1.14.0 +NETAVARK_SITE = https://github.com/containers/netavark +NETAVARK_SITE_METHOD = git + +NETAVARK_LICENSE = Apache-2.0 +NETAVARK_LICENSE_FILES = LICENSE + +# For protoc +NETAVARK_DEPENDENCIES = host-protobuf + +NETAVARK_CARGO_ENV = PROTOC=$(HOST_DIR)/bin/protoc + +$(eval $(cargo-package))
Signature · 6 lines
2.47.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 8/8 package/podman: new package
In reply to Yann E. MORINPodman is a container manager not unlike Docker, but is daemon-less.
Similalry to docker-engine, quite a few kernel config options are required; as they are very similar in goals and features, the options from docker-engine ahve been duplicated for podma. As that was not enough, a few additoinal options have been added after trial-and-error testing.
The documentation [0] states that seccomp can be disabled (i.e. not enabled), but we were unable to start a container without seccomp support in podman. So we make that mandatory.
Similar to Docker, podman can inject a minimalist init as PID1 in containers, and like Docker, this is optional; podman however can only use catatonit as such an init. Given the size of catatonit (1.3% that of podman!), we do not bother to make it optional, and always enable it.
podman requires at least two config files; they can be either per-user or system-wide:
- policy.json [1]: defines what signature to accept to validate
images; without one such file, podman just refuses to pull images;
- registries.conf [2]: defines where to pull iamges from; without it, podman does not know how to pull un-qualified images (i.e. images where the registry is not specified in the path, and which Docker would fetch from the Docker Hub, e.g. "busybox:latest").
For those two files, we provide a very minimal default that allows pulling unqualified images from the Docker Hub, as is traditional, and that allows pulling images which signature can't be verified. Providing actual files is going to be use-case dependent, and interested parties will have to provide their own confoig files, e.g. in a rootfs overlay.
Finally, we add a runtime test for podman. The official busybox image on the Docker Hub supports a lot of architectures, of which armv7 which we use for this runtime test. Finding a small image that also supports armv7 on other registries was a bit of a challenge; we eventually found one busybox image on quay.io, but it is not an official busybox image; still, it fits the bill, so we use it.
The default kernel used in runtime tests is missing a lot of features, so w eneed to build our own. We can't use cpio either, because we need a filesystem that can be used as a lower and upper of overlayfs, which i not possible withe filesystem the cpio is extracted into; ext2 fits the bill, so we use that. We need a bit of space to store images and stuff, so let's be generous and allocate 256M.
[0] https://podman.io/docs/installation#get-source-code
[1] https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md
[2] https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md
---
Changes v1 -> v2:
- add licensing information (Julien)
--- package/Config.in | 1 + package/podman/Config.in | 38 ++++++ package/podman/podman.hash | 3 + package/podman/podman.mk | 112 +++++++++++++++++ package/podman/policy.json | 7 ++ package/podman/registries.conf | 1 + support/testing/tests/package/test_podman.py | 124 +++++++++++++++++++ 7 files changed, 286 insertions(+) create mode 100644 package/podman/Config.in create mode 100644 package/podman/podman.hash create mode 100644 package/podman/podman.mk create mode 100644 package/podman/policy.json create mode 100644 package/podman/registries.conf create mode 100644 support/testing/tests/package/test_podman.py
package/Config.in +1 -0
@@ -2868,6 +2868,7 @@ menu "System tools" source "package/openvmtools/Config.in" source "package/pamtester/Config.in" source "package/petitboot/Config.in" + source "package/podman/Config.in" source "package/polkit/Config.in" source "package/powerpc-utils/Config.in" source "package/procps-ng/Config.in"
package/podman/Config.in new file +38 -0
@@ -0,0 +1,38 @@ +config BR2_PACKAGE_PODMAN + bool "podman" + depends on BR2_USE_MMU # catatonit, conmon, btrfs-progs, libgpgme + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS # host-go + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # netavark + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme + depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # libseccomp + depends on BR2_TOOLCHAIN_HAS_THREADS # conmon, btrfs-progs + depends on BR2_USE_WCHAR # conmon + select BR2_PACKAGE_HOST_GO + select BR2_PACKAGE_CA_CERTIFICATES # runtime + select BR2_PACKAGE_CATATONIT # runtime + select BR2_PACKAGE_CGROUPFS_V2_MOUNT if !BR2_PACKAGE_CGROUPFS_MOUNT && !BR2_INIT_SYSTEMD + select BR2_PACKAGE_CONMON # runtime + select BR2_PACKAGE_IPTABLES # runtime + select BR2_PACKAGE_LIBGPGME + select BR2_PACKAGE_LIBSECCOMP + select BR2_PACKAGE_NETAVARK # runtime + select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime + help + The best free & open source container tools + + Manage containers, pods, and images with Podman. Seamlessly + work with containers and Kubernetes from your local + environment. + + https://podman.io/ + +comment "podman needs a toolchain w/ headers >= 3.17, threads, wchar" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 \ + || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_USE_WCHAR
package/podman/podman.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally computed +sha256 e5cae3433931e6d6259b72d8d6513661f70cb083ea338068604c47fff5666127 podman-v5.4.0-git4-go2.tar.gz +sha256 62fb8a3a9621dc2388174caaabe9c2317b694bb9a1d46c98bcf5655b68f51be3 LICENSE
package/podman/podman.mk new file +112 -0
112 lines not on this page · raw message
package/podman/policy.json new file +7 -0
@@ -0,0 +1,7 @@ +{ + "default": [ + { + "type": "insecureAcceptAnything" + } + ] +}
package/podman/registries.conf new file +1 -0
@@ -0,0 +1 @@ +unqualified-search-registries = ["docker.io"]
support/testing/tests/package/test_podman.py new file +124 -0
124 lines not on this page · raw message
Signature · 6 lines
2.47.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot