diff options
437 files changed, 17717 insertions, 4260 deletions
@@ -1,4 +1,4 @@ -build*/ +/build*/ pyshtables.py *.swp *.orig @@ -6,3 +6,4 @@ pyshtables.py /*.patch *~ scripts/lib/wic/plugins/source/__pycache__ +lib/oeqa/runtime/cases/__pycache__ diff --git a/MAINTAINERS b/MAINTAINERS index 1bb9a24a..4b41bad2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -32,3 +32,5 @@ M: Christopher Clark <christopher.w.clark@gmail.com> F: recipes-extended/xen/ F: recipes-extended/uxen/ F: recipes-extended/images/*xen*.bb +F: recipes-extended/images/xtf*.bb +F: dynamic-layers/raspberrypi/ @@ -8,7 +8,7 @@ The bbappend files for some recipes (e.g. linux-yocto) in this layer need to have 'virtualization' in DISTRO_FEATURES to have effect. To enable them, add in configuration file the following line. - DISTRO_FEATURES_append = " virtualization" + DISTRO_FEATURES:append = " virtualization" If meta-virtualization is included, but virtualization is not enabled as a distro feature a warning is printed at parse time: @@ -53,8 +53,6 @@ layers: meta-oe meta-filesystems meta-python -BBFILE_PRIORITY_openembedded-layer = "4" - Required for Xen XSM policy: URI: git://git.yoctoproject.org/meta-selinux branch: master @@ -68,9 +66,7 @@ revision: HEAD prio: default Required for cri-o: -URI: git://github.com/advancedtelematic/meta-updater URI: git://git.yoctoproject.org/meta-selinux -URI: git://git.yoctoproject.org/meta-security branch: master revision: HEAD prio: default @@ -80,7 +76,7 @@ Community / Colaboration Repository: https://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization/ Mailing list: https://lists.yoctoproject.org/g/meta-virtualization -IRC: freenode #meta-virt channel +IRC: libera.chat #meta-virt channel Maintenance ----------- diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..9fe8a8e2 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,23 @@ +How to Report a Potential Vulnerability? +======================================== + +If you would like to report a public issue (for example, one with a released +CVE number), please report it using the mailing list as described in README.md +If you have a patch ready, submit it following the same procedure as any other +patch as described in the same file. + +If you are dealing with a not-yet released or urgent issue, please send a +message to the layer maintainer, including as many details as +possible: the software module affected, the recipe and its version, +and any example code, if available. + +Branches maintained with security fixes +--------------------------------------- + +See [https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS Stable release and LTS] +for detailed info regarding the policies and maintenance of Stable branches. + +The [https://wiki.yoctoproject.org/wiki/Releases Release page] contains a list of all +releases of the Yocto Project. Versions in grey are no longer actively maintained with +security patches, but well-tested patches may still be accepted for them for +significant issues. diff --git a/classes/cni_networking.bbclass b/classes/cni_networking.bbclass index 9df02b81..2e81d63f 100644 --- a/classes/cni_networking.bbclass +++ b/classes/cni_networking.bbclass @@ -1,12 +1,12 @@ -DEPENDS_append_class-target = " cni" +DEPENDS:append:class-target = " cni" -PACKAGES_prepend = "${PN}-cni " +PACKAGES:prepend = "${PN}-cni " -FILES_${PN}-cni = "${sysconfdir}/cni/net.d/*" +FILES:${PN}-cni = "${sysconfdir}/cni/net.d/*" -RDEPENDS_${PN}-cni = "cni" +RDEPENDS:${PN}-cni = "cni" -do_install_append() { +do_install:append() { if [ -z "${CNI_NETWORKING_FILES}" ]; then bbfatal "cni-networking was inherited, but no networking configuration was provided via CNI_NETWORKING_FILES" fi diff --git a/classes/container-host.bbclass b/classes/container-host.bbclass new file mode 100644 index 00000000..99a75fea --- /dev/null +++ b/classes/container-host.bbclass @@ -0,0 +1,15 @@ +# This class is the collection point for automatic dependencies, +# package installs, rootfs postprocessing, etc, that are used +# by container host images and recipes. + +# It currently is largely empty, and simply adds RDEPENDS, but +# will expand to CRI/CNI configurations in the future. +# + +RDEPENDS:${PN}:append = " container-host-config" + +do_install:append() { + # placeholder for additional package install, or configuration + # of the rootfs + true +} diff --git a/classes/image-oci-sloci-image.inc b/classes/image-oci-sloci-image.inc new file mode 100644 index 00000000..9248489f --- /dev/null +++ b/classes/image-oci-sloci-image.inc @@ -0,0 +1,89 @@ +IMAGE_CMD:oci() { + sloci_options="" + + bbdebug 1 "OCI image settings:" + bbdebug 1 " author: ${OCI_IMAGE_AUTHOR}" + bbdebug 1 " author email: ${OCI_IMAGE_AUTHOR_EMAIL}" + bbdebug 1 " tag: ${OCI_IMAGE_TAG}" + bbdebug 1 " arch: ${OCI_IMAGE_ARCH}" + bbdebug 1 " subarch: ${OCI_IMAGE_SUBARCH}" + bbdebug 1 " entrypoint: ${OCI_IMAGE_ENTRYPOINT}" + bbdebug 1 " entrypoing args: ${OCI_IMAGE_ENTRYPOINT_ARGS}" + bbdebug 1 " labels: ${OCI_IMAGE_LABELS}" + bbdebug 1 " uid: ${OCI_IMAGE_RUNTIME_UID}" + bbdebug 1 " working dir: ${OCI_IMAGE_WORKINGDIR}" + bbdebug 1 " env vars: ${OCI_IMAGE_ENV_VARS}" + bbdebug 1 " ports: ${OCI_IMAGE_PORTS}" + + # Change into the image deploy dir to avoid having any output operations capture + # long directories or the location. + cd ${IMGDEPLOYDIR} + + oci_image_label_options="" + if [ -n "${OCI_IMAGE_LABELS}" ]; then + for l in ${OCI_IMAGE_LABELS}; do + oci_image_label_options="${oci_image_label_options} --label ${l}" + done + fi + oci_image_env_options="" + if [ -n "${OCI_IMAGE_ENV_VARS}" ]; then + for l in ${OCI_IMAGE_ENV_VARS}; do + oci_image_env_options="${oci_image_env_options} --env ${l}" + done + fi + oci_image_port_options="" + if [ -n "${OCI_IMAGE_PORTS}" ]; then + for l in ${OCI_IMAGE_PORTS}; do + oci_image_port_options="${oci_image_port_options} --port ${l}" + done + fi + + if [ -n "${OCI_IMAGE_RUNTIME_UID}" ]; then + oci_image_user_options="--user ${OCI_IMAGE_RUNTIME_UID}" + fi + + if [ -n "${OCI_IMAGE_WORKINGDIR}" ]; then + oci_image_working_dir_options="--working-dir ${OCI_IMAGE_WORKINGDIR}" + fi + + if [ -n "${OCI_IMAGE_TAR_OUTPUT}" ]; then + sloci_options="$sloci_options --tar" + fi + + # options that always appear are required for a valid oci container image + # others are optional based on settings. + sloci-image $sloci_options \ + --arch ${OCI_IMAGE_ARCH} \ + --arch-variant "${OCI_IMAGE_SUBARCH}" \ + --entrypoint ${OCI_IMAGE_ENTRYPOINT} \ + --cmd "${OCI_IMAGE_ENTRYPOINT_ARGS}" \ + --author ${OCI_IMAGE_AUTHOR_EMAIL} \ + ${oci_image_user_options} \ + ${oci_image_label_options} \ + ${oci_image_env_options} \ + ${oci_image_working_dir_options} \ + ${oci_image_port_options} \ + ${IMAGE_ROOTFS} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci:${OCI_IMAGE_TAG} + + if [ -n "${OCI_IMAGE_TAR_OUTPUT}" ]; then + # if tar is specified, sloci-image is removing the directory that we need for a secondary + # tar format, so we need to restore it. + tar xf ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci-${OCI_IMAGE_TAG}-${OCI_IMAGE_ARCH}-linux.oci-image.tar + fi + + # create a convenience symlink + ln -sf ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci ${IMAGE_BASENAME}-${OCI_IMAGE_TAG}-oci + + if [ -n "${OCI_IMAGE_TAR_OUTPUT}" ]; then + # move the sloci output to a naming convention that matches what we do with umoci, thie + # default creates a subdirectory, so it get the "-dir" in the name + mv ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci-${OCI_IMAGE_TAG}-${OCI_IMAGE_ARCH}-linux.oci-image.tar ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci-${OCI_IMAGE_TAG}-${OCI_IMAGE_ARCH}-linux.oci-dir.tar + ln -sf ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci-${OCI_IMAGE_TAG}-${OCI_IMAGE_ARCH}-linux.oci-dir.tar ${IMAGE_BASENAME}-${OCI_IMAGE_TAG}-oci-dir.tar + + ( + cd "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci" + tar -cf ../"${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci-${OCI_IMAGE_TAG}-${OCI_IMAGE_ARCH}-linux.oci-image.tar" "." + ) + ln -sf "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci-${OCI_IMAGE_TAG}-${OCI_IMAGE_ARCH}-linux.oci-image.tar" ${IMAGE_BASENAME}-${OCI_IMAGE_TAG}-oci.tar + fi +} diff --git a/classes/image-oci-umoci.inc b/classes/image-oci-umoci.inc new file mode 100644 index 00000000..c77750fb --- /dev/null +++ b/classes/image-oci-umoci.inc @@ -0,0 +1,135 @@ +IMAGE_CMD:oci() { + umoci_options="" + + bbdebug 1 "UMOCI image settings:" + bbdebug 1 " author: ${OCI_IMAGE_AUTHOR}" + bbdebug 1 " author email: ${OCI_IMAGE_AUTHOR_EMAIL}" + bbdebug 1 " tag: ${OCI_IMAGE_TAG}" + bbdebug 1 " arch: ${OCI_IMAGE_ARCH}" + bbdebug 1 " subarch: ${OCI_IMAGE_SUBARCH}" + bbdebug 1 " entrypoint: ${OCI_IMAGE_ENTRYPOINT}" + bbdebug 1 " entrypoint args: ${OCI_IMAGE_ENTRYPOINT_ARGS}" + bbdebug 1 " labels: ${OCI_IMAGE_LABELS}" + bbdebug 1 " uid: ${OCI_IMAGE_RUNTIME_UID}" + bbdebug 1 " working dir: ${OCI_IMAGE_WORKINGDIR}" + bbdebug 1 " env vars: ${OCI_IMAGE_ENV_VARS}" + bbdebug 1 " ports: ${OCI_IMAGE_PORTS}" + + OCI_REUSE_IMAGE="" + + # Change into the image deploy dir to avoid having any output operations capture + # long directories or the location. + cd ${IMGDEPLOYDIR} + + new_image=t + image_name="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci" + image_bundle_name="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci-bundle" + if [ -n "$OCI_REUSE_IMAGE" ]; then + if [ -d $image_name ]; then + bbdebug 1 "OCI: reusing image directory" + new_image="" + fi + else + bbdebug 1 "OCI: removing existing container image directory" + rm -rf $image_name $image_bundle_name + fi + + if [ -z "${OCI_IMAGE_TAG}" ]; then + OCI_IMAGE_TAG="initial-tag" + fi + + if [ -n "$new_image" ]; then + bbdebug 1 "OCI: umoci init --layout $image_name" + umoci init --layout $image_name + umoci new --image $image_name:${OCI_IMAGE_TAG} + umoci unpack --rootless --image $image_name:${OCI_IMAGE_TAG} $image_bundle_name + else + # todo: create a different tag, after checking if the passed one exists + true + fi + + bbdebug 1 "OCI: populating rootfs" + bbdebug 1 "OCI: cp -r ${IMAGE_ROOTFS}/* $image_bundle_name/rootfs/" + cp -r ${IMAGE_ROOTFS}/* $image_bundle_name/rootfs + + bbdebug 1 "OCI: umoci repack --image $image_name:${OCI_IMAGE_TAG} $image_bundle_name" + umoci repack --image $image_name:${OCI_IMAGE_TAG} $image_bundle_name + + bbdebug 1 "OCI: configuring image" + if [ -n "${OCI_IMAGE_LABELS}" ]; then + for l in ${OCI_IMAGE_LABELS}; do + bbdebug 1 "OCI: umoci config --image $image_name:${OCI_IMAGE_TAG} --config.label \"$l\"" + umoci config --image $image_name:${OCI_IMAGE_TAG} --config.label "$l" + done + fi + if [ -n "${OCI_IMAGE_ENV_VARS}" ]; then + for l in ${OCI_IMAGE_ENV_VARS}; do + bbdebug 1 "umoci config --image $image_name:${OCI_IMAGE_TAG} --config.env \"$l\"" + umoci config --image $image_name:${OCI_IMAGE_TAG} --config.env "$l" + done + fi + if [ -n "${OCI_IMAGE_PORTS}" ]; then + for l in ${OCI_IMAGE_PORTS}; do + bbdebug 1 "umoci config --image $image_name:${OCI_IMAGE_TAG} --config.exposedports $l" + umoci config --image $image_name:${OCI_IMAGE_TAG} --config.exposedports $l + done + fi + if [ -n "${OCI_IMAGE_RUNTIME_UID}" ]; then + bbdebug 1 "umoci config --image $image_name:${OCI_IMAGE_TAG} --config.user ${OCI_IMAGE_RUNTIME_UID}" + umoci config --image $image_name:${OCI_IMAGE_TAG} --config.user ${OCI_IMAGE_RUNTIME_UID} + fi + if [ -n "${OCI_IMAGE_WORKINGDIR}" ]; then + bbdebug 1 "umoci config --image $image_name:${OCI_IMAGE_TAG} --config.workingdir ${OCI_IMAGE_WORKINGDIR}" + umoci config --image $image_name:${OCI_IMAGE_TAG} --config.workingdir ${OCI_IMAGE_WORKINGDIR} + fi + if [ -n "${OCI_IMAGE_STOPSIGNAL}" ]; then + bbdebug 1 "umoci config --image $image_name:${OCI_IMAGE_TAG} --config.stopsignal ${OCI_IMAGE_STOPSIGNAL}" + umoci config --image $image_name:${OCI_IMAGE_TAG} --config.stopsignal ${OCI_IMAGE_STOPSIGNAL} + fi + if [ -n "${OCI_IMAGE_OS}" ]; then + bbdebug 1 "umoci config --image $image_name:${OCI_IMAGE_TAG} --os ${OCI_IMAGE_OS}" + umoci config --image $image_name:${OCI_IMAGE_TAG} --os ${OCI_IMAGE_OS} + fi + + bbdebug 1 "umoci config --image $image_name:${OCI_IMAGE_TAG} --architecture ${OCI_IMAGE_ARCH}" + umoci config --image $image_name:${OCI_IMAGE_TAG} --architecture ${OCI_IMAGE_ARCH} + # NOTE: umoci doesn't currently expose setting the architecture variant, + # so if you need it use sloci instead + if [ -n "${OCI_IMAGE_SUBARCH}" ]; then + bbnote "OCI: image subarch is set to: ${OCI_IMAGE_SUBARCH}, but umoci does not" + bbnote " expose variants. use sloci instead if this is important" + fi + umoci config --image $image_name:${OCI_IMAGE_TAG} \ + ${@" ".join("--config.entrypoint %s" % s for s in d.getVar("OCI_IMAGE_ENTRYPOINT").split())} + if [ -n "${OCI_IMAGE_ENTRYPOINT_ARGS}" ]; then + umoci config --image $image_name:${OCI_IMAGE_TAG} ${@" ".join("--config.cmd %s" % s for s in d.getVar("OCI_IMAGE_ENTRYPOINT_ARGS").split())} + fi + umoci config --image $image_name:${OCI_IMAGE_TAG} --author ${OCI_IMAGE_AUTHOR_EMAIL} + + # OCI_IMAGE_TAG may contain ":", but these are not allowed in OCI file + # names so replace them + image_tag="${@d.getVar("OCI_IMAGE_TAG").replace(":", "_")}" + + # make a tar version of the image direcotry + # 1) image_name.tar: compatible with oci tar format, blobs and rootfs + # are at the top level. Can load directly from something like podman + # 2) image_name-dir.tar: original format from meta-virt, is just a tar'd + # up oci image directory (compatible with skopeo :dir format) + if [ -n "${OCI_IMAGE_TAR_OUTPUT}" ]; then + ( + cd "$image_name" + tar -cf ../"$image_name.tar" "." + ) + tar -cf "$image_name-dir.tar" "$image_name" + + # create a convenience symlink + ln -sf "$image_name.tar" "${IMAGE_BASENAME}-$image_tag-oci.tar" + ln -sf "$image_name-dir.tar" "${IMAGE_BASENAME}-$image_tag-oci-dir.tar" + fi + + # We could make this optional, since the bundle is directly runnable via runc + rm -rf $image_bundle_name + + # This is the OCI image directory, which is technically the "image" as specified + ln -sf $image_name ${IMAGE_BASENAME}-$image_tag-oci +} diff --git a/classes/image-oci.bbclass b/classes/image-oci.bbclass index c256b12c..0ec5c487 100644 --- a/classes/image-oci.bbclass +++ b/classes/image-oci.bbclass @@ -16,19 +16,32 @@ # And then create the bundle: # % oci-image-tool create --ref name=latest container-base-<arch>-<stamp>.rootfs-oci container-base-oci-bundle # +# Alternatively, the bundle can be created with umoci (use --rootless if sudo is not available) +# % sudo umoci unpack --image container-base-<arch>-<stamp>.rootfs-oci:latest container-base-oci-bundle +# # Or to copy (push) the oci image to a docker registry, skopeo can be used (vary the # tag based on the created oci image: # # % skopeo copy --dest-creds <username>:<password> oci:container-base-<arch>-<stamp>:latest docker://zeddii/container-base # +# If your build host architecture matches the target, you can execute the unbundled +# container with runc: +# +# % sudo runc run -b container-base-oci-bundle ctr-build +# / % uname -a +# Linux mrsdalloway 4.18.0-25-generic #26-Ubuntu SMP Mon Jun 24 09:32:08 UTC 2019 x86_64 GNU/Linux +# # We'd probably get this through the container image typdep, but just # to be sure, we'll repeat it here. ROOTFS_BOOTSTRAP_INSTALL = "" # we want container and tar.bz2's to be created -IMAGE_TYPEDEP_oci = "container tar.bz2" +IMAGE_TYPEDEP:oci = "container tar.bz2" + # sloci is the script/project that will create the oci image -do_image_oci[depends] += "sloci-image-native:do_populate_sysroot" +# OCI_IMAGE_BACKEND ?= "sloci-image" +OCI_IMAGE_BACKEND ?= "umoci" +do_image_oci[depends] += "${OCI_IMAGE_BACKEND}-native:do_populate_sysroot" # # image type configuration block @@ -39,12 +52,13 @@ OCI_IMAGE_AUTHOR_EMAIL ?= "${PATCH_GIT_USER_EMAIL}" OCI_IMAGE_TAG ?= "latest" OCI_IMAGE_RUNTIME_UID ?= "" -OCI_IMAGE_ARCH ?= "${TARGET_ARCH}" +OCI_IMAGE_ARCH ?= "${@oe.go.map_arch(d.getVar('TARGET_ARCH'))}" OCI_IMAGE_SUBARCH ?= "${@oci_map_subarch(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}" OCI_IMAGE_ENTRYPOINT ?= "sh" OCI_IMAGE_ENTRYPOINT_ARGS ?= "" OCI_IMAGE_WORKINGDIR ?= "" +OCI_IMAGE_STOPSIGNAL ?= "" # List of ports to expose from a container running this image: # PORT[/PROT] @@ -75,70 +89,7 @@ def oci_map_subarch(a, f, d): return '' return '' -IMAGE_CMD_oci() { - sloci_options="" - - bbdebug 1 "OCI image settings:" - bbdebug 1 " author: ${OCI_IMAGE_AUTHOR}" - bbdebug 1 " author email: ${OCI_IMAGE_AUTHOR_EMAIL}" - bbdebug 1 " tag: ${OCI_IMAGE_TAG}" - bbdebug 1 " arch: ${OCI_IMAGE_ARCH}" - bbdebug 1 " subarch: ${OCI_IMAGE_SUBARCH}" - bbdebug 1 " entrypoint: ${OCI_IMAGE_ENTRYPOINT}" - bbdebug 1 " entrypoing args: ${OCI_IMAGE_ENTRYPOINT_ARGS}" - bbdebug 1 " labels: ${OCI_IMAGE_LABELS}" - bbdebug 1 " uid: ${OCI_IMAGE_RUNTIME_UID}" - bbdebug 1 " working dir: ${OCI_IMAGE_WORKINGDIR}" - bbdebug 1 " env vars: ${OCI_IMAGE_ENV_VARS}" - bbdebug 1 " ports: ${OCI_IMAGE_PORTS}" - - # Change into the image deploy dir to avoid having any output operations capture - # long directories or the location. - cd ${IMGDEPLOYDIR} - - oci_image_label_options="" - if [ -n "${OCI_IMAGE_LABELS}" ]; then - for l in ${OCI_IMAGE_LABELS}; do - oci_image_label_options="${oci_image_label_options} --label ${l}" - done - fi - oci_image_env_options="" - if [ -n "${OCI_IMAGE_ENV_VARS}" ]; then - for l in ${OCI_IMAGE_ENV_VARS}; do - oci_image_env_options="${oci_image_env_options} --env ${l}" - done - fi - oci_image_port_options="" - if [ -n "${OCI_IMAGE_PORTS}" ]; then - for l in ${OCI_IMAGE_PORTS}; do - oci_image_port_options="${oci_image_port_options} --port ${l}" - done - fi - - if [ -n "${OCI_IMAGE_RUNTIME_UID}" ]; then - oci_image_user_options="--user ${OCI_IMAGE_RUNTIME_UID}" - fi - - if [ -n "${OCI_IMAGE_WORKINGDIR}" ]; then - oci_image_working_dir_options="--working-dir ${OCI_IMAGE_WORKINGDIR}" - fi - - if [ -n "${OCI_IMAGE_TAR_OUTPUT}" ]; then - sloci_options="$sloci_options --tar" - fi +# the IMAGE_CMD:oci comes from the .inc +OCI_IMAGE_BACKEND_INC ?= "${@"image-oci-" + "${OCI_IMAGE_BACKEND}" + ".inc"}" +include ${OCI_IMAGE_BACKEND_INC} - # options that always appear are required for a valid oci container image - # others are optional based on settings. - sloci-image $sloci_options \ - --arch ${OCI_IMAGE_ARCH} \ - --arch-variant "${OCI_IMAGE_SUBARCH}" \ - --entrypoint ${OCI_IMAGE_ENTRYPOINT} \ - --cmd "${OCI_IMAGE_ENTRYPOINT_ARGS}" \ - --author ${OCI_IMAGE_AUTHOR_EMAIL} \ - ${oci_image_user_options} \ - ${oci_image_label_options} \ - ${oci_image_env_options} \ - ${oci_image_working_dir_options} \ - ${oci_image_port_options} \ - ${IMAGE_ROOTFS} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}-oci:${OCI_IMAGE_TAG} -} diff --git a/classes/meta-virt-container-cfg.bbclass b/classes/meta-virt-container-cfg.bbclass new file mode 100644 index 00000000..9a4b144e --- /dev/null +++ b/classes/meta-virt-container-cfg.bbclass @@ -0,0 +1,10 @@ +# We need to set the Xen meta-virt config components, only if "xen" +# is in the distro features. Since we don't know the distro flags during +# layer.conf load time, we delay using a special bbclass that simply includes +# the META_VIRT_CONTAINER_CONFIG_PATH file. + +# the defaults are valid if we do or don't have virtualization enabled, so +# we include it in either case below. But we leave the pattern in place, to +# match the other configs of the layer and in case the above statement isn't +# always true in the future. +include ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${META_VIRT_CONTAINER_CONFIG_PATH}', '${META_VIRT_CONTAINER_CONFIG_PATH}', d)} diff --git a/classes/meta-virt-depreciated-warning.bbclass b/classes/meta-virt-depreciated-warning.bbclass new file mode 100644 index 00000000..97495bbf --- /dev/null +++ b/classes/meta-virt-depreciated-warning.bbclass @@ -0,0 +1,3 @@ +do_compile:append() { + bbwarn "${PN} is depreciated and should not be used, it will be removed in the future" +} diff --git a/classes/meta-virt-hosts.bbclass b/classes/meta-virt-hosts.bbclass new file mode 100644 index 00000000..80aefb76 --- /dev/null +++ b/classes/meta-virt-hosts.bbclass @@ -0,0 +1,29 @@ +# This doesn't work, since it seems to be too late for sanity checking. +# IMAGE_FEATURES[validitems] += ' ${@bb.utils.contains("DISTRO_FEATURES", "virtualization", "virt-unique-hostname; ", "",d)}' + +ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "virt-unique-hostname", "virt_gen_hostname; ", "",d)}' +ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "virt-unique-hostname", "virt_set_hostname; ", "",d)}' + +python virt_gen_hostname() { + import uuid + + targetname = d.getVar("VIRT_TARGETNAME") + if targetname != None: + return + + status, date = oe.utils.getstatusoutput("date +%d-%m-%y") + if status: + bb.warn("Can't get the date string for target hostname") + + uuid = ':'.join(['{:02x}'.format((uuid.getnode() >> ele) & 0xff) for ele in range(0,8*6,8)][::-1]) + if uuid: + targetname = "%s-%s" % (d.getVar("MACHINE"), uuid.split(":")[0]) + else: + targetname = "%s-%s" % (d.getVar("MACHINE"), date) + + d.setVar("VIRT_TARGETNAME", targetname) +} + +virt_set_hostname() { + echo "${VIRT_TARGETNAME}" > ${IMAGE_ROOTFS}/etc/hostname +} diff --git a/classes/qemuboot-testimage-network.bbclass b/classes/qemuboot-testimage-network.bbclass new file mode 100644 index 00000000..57e03551 --- /dev/null +++ b/classes/qemuboot-testimage-network.bbclass @@ -0,0 +1,51 @@ +# The recipe for init-ifupdown in core has a special-case for all +# the Qemu MACHINES: it removes all external network interfaces +# by default. However, eth0 is needed for testimage, so enable it here. + +# If QB_NETWORK_XEN_BRIDGE is set, configure bridging for the network. +QB_NETWORK_XEN_BRIDGE ??= "" + +enable_runqemu_network() { + : # no-op for non-qemu MACHINES +} + +enable_runqemu_network:qemuall() { + # Do not override a network configuration for eth0 if one is present + if ! grep -q eth0 "${IMAGE_ROOTFS}${sysconfdir}/network/interfaces" ; then + + # Xen host networking: use bridging to support guest networks + if [ -n "${QB_NETWORK_XEN_BRIDGE}" ] ; then + # Configure a Xen host network bridge and put eth0 on it + cat <<EOF >>${IMAGE_ROOTFS}${sysconfdir}/network/interfaces + +# Bridged host network for Xen testimage +iface eth0 inet manual + +auto xenbr0 +iface xenbr0 inet dhcp + bridge_ports eth0 +EOF + +# Add a script to create the bridge and add eth0 if necessary + cat <<EOF >>${IMAGE_ROOTFS}${sysconfdir}/network/if-pre-up.d/xenbr0 +#!/bin/sh + +if [ "\$IFACE" = xenbr0 ]; then + brctl addbr xenbr0 || /bin/true + brctl addif xenbr0 eth0 || /bin/true + ifconfig eth0 up +fi +EOF + chmod 755 ${IMAGE_ROOTFS}${sysconfdir}/network/if-pre-up.d/xenbr0 + else + # Just configure eth0 + cat <<EOF >>${IMAGE_ROOTFS}${sysconfdir}/network/interfaces + +# Network for testimage +auto eth0 +iface eth0 inet dhcp +EOF + fi + fi +} +ROOTFS_POSTPROCESS_COMMAND += 'enable_runqemu_network;' diff --git a/classes/qemuboot-xen-defaults.bbclass b/classes/qemuboot-xen-defaults.bbclass new file mode 100644 index 00000000..460cbe6a --- /dev/null +++ b/classes/qemuboot-xen-defaults.bbclass @@ -0,0 +1,42 @@ +# Set defaults for booting Xen images with qemuboot + +# Xen and Dom0 command line options +QB_XEN_CMDLINE_EXTRA ??= "dom0_mem=192M" +QB_XEN_DOM0_BOOTARGS ??= \ + "console=hvc0 earlyprintk clk_ignore_unused root=/dev/vda" + +# Launch with one initial domain, dom0, with one boot module, the kernel +DOM0_KERNEL ??= "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}" +DOM0_KERNEL_LOAD_ADDR ??= "0x45000000" +QB_XEN_DOMAIN_MODULES ??= "${DOM0_KERNEL}:${DOM0_KERNEL_LOAD_ADDR}:multiboot,kernel" + +# Qemuboot for Arm uses the QB_DEFAULT_KERNEL method to load Xen +# and the device loader option for the dom0 kernel: +QB_OPT_APPEND:append:aarch64 = " \ + -device loader,file=${DOM0_KERNEL},addr=${DOM0_KERNEL_LOAD_ADDR} \ + " +QB_OPT_APPEND:append:qemuarm = " \ + -device loader,file=${DOM0_KERNEL},addr=${DOM0_KERNEL_LOAD_ADDR} \ + " +QB_DEFAULT_KERNEL:qemuarm64 = "xen-${MACHINE}" +QB_DEFAULT_KERNEL:qemuarm = "xen-${MACHINE}" + +# 64-bit Arm: gic version 3 +QB_MACHINE:qemuarm64 = "-machine virt,gic-version=3 -machine virtualization=true" +# 32-bit Arm: highmem=off +# Disable highmem so that qemu does not use highmem IO regions that end up +# being placed at the 256GiB mark (e.g. ECAM space) and can cause issues in Xen. +QB_MACHINE:qemuarm = "-machine virt,highmem=off -machine virtualization=true" + +# Increase the default qemu memory allocation to allow for the hypervisor. +# Use a weak assignment to allow for change of default and override elsewhere. +QB_MEM_VALUE ??= "512" +QB_MEM = "-m ${QB_MEM_VALUE}" + +# 64-bit Arm: qemuboot with a device tree binary +QB_DTB:qemuarm64 = "${IMAGE_NAME}.qemuboot.dtb" +QB_DTB_LINK:qemuarm64 = "${IMAGE_LINK_NAME}.qemuboot.dtb" + +# 32-bit Arm: qemuboot with a device tree binary +QB_DTB:qemuarm = "${IMAGE_NAME}.qemuboot.dtb" +QB_DTB_LINK:qemuarm = "${IMAGE_LINK_NAME}.qemuboot.dtb" diff --git a/classes/qemuboot-xen-dtb.bbclass b/classes/qemuboot-xen-dtb.bbclass new file mode 100644 index 00000000..d43d23a3 --- /dev/null +++ b/classes/qemuboot-xen-dtb.bbclass @@ -0,0 +1,210 @@ +# Enable booting Xen with qemuboot / runqemu: generate device tree +# +# Copyright (c) 2021 Star Lab Corp. All rights reserved. +# +# Author: Christopher Clark <christopher.clark@starlab.io> + +# Interface variables: +# +# QB_DTB : defined in qemuboot.bbclass. +# If set, this class will generate the specified device tree file. +# +# QB_XEN_CMDLINE_EXTRA : +# A string to be appended to the default Xen hypervisor boot command line, +# for supplying Xen boot options. +# The device tree that this bbclass generates will contain Xen command +# line options to connect the Xen console to the Qemu serial port. +# +# QB_XEN_DOMAIN_MODULES : +# A space-separated list of colon-separated entries: +# "<file for the module>:<load memory address>:<module compatibility string>" +# +# QB_XEN_DOM0_BOOTARGS : +# A string for specifying Dom0 boot options for the Xen section of the device +# tree. +# +# QB_XEN_DTB_TASK_DEPENDS : +# The task dependencies for the DTB generation. A default is provided. +# +# See also: Other QB_ variables as defined by the qemuboot.bbclass. + +write_lops_xen_section() { + DOM0_BOOTARGS="$2" + cat <<EOF >"$1" +/dts-v1/; +/ { + compatible = "system-device-tree-v1"; + lops { + /* Connect the Xen console to Qemu dtuart */ + lop_1 { + compatible = "system-device-tree-v1,lop,code-v1"; + code = " + chosen = node.tree['/chosen'] + stdout_path = str(chosen['stdout-path'].value[0]) + chosen['xen,xen-bootargs'] = \ + 'console=dtuart dtuart=%s' % stdout_path + return True + "; + }; + lop_2 { + compatible = "system-device-tree-v1,lop,modify"; + modify = "/chosen:xen,dom0-bootargs:${DOM0_BOOTARGS}"; + }; + lop_3 { + compatible = "system-device-tree-v1,lop,modify"; + modify = "/chosen:#address-cells:<1>"; + }; + lop_4 { + compatible = "system-device-tree-v1,lop,modify"; + modify = "/chosen:#size-cells:<1>"; + }; + }; +}; +EOF +} + +write_lop_add_to_xen_cmdline() { + EXTRA_XEN_BOOTARGS="$2" + cat <<EOF >"$1" +/dts-v1/; +/ { + compatible = "system-device-tree-v1"; + lops { + lop_1 { + compatible = "system-device-tree-v1,lop,code-v1"; + options = "extra_xen_bootargs:${EXTRA_XEN_BOOTARGS}"; + code = " + chosen = node.tree['/chosen'] + xen_bootargs = str(chosen['xen,xen-bootargs'].value) + chosen['xen,xen-bootargs'] = '%s %s' % \ + (xen_bootargs, extra_xen_bootargs) + return True + "; + }; + }; +}; +EOF +} + +write_lop_add_chosen_module() { + ADDR="$2" + SIZE="$3" + MODULE_TYPE="$4" + cat <<EOF >"$1" +/dts-v1/; +/ { + compatible = "system-device-tree-v1"; + lops { + lop_1 { + compatible = "system-device-tree-v1,lop,add"; + node_src = "module@${ADDR}"; + node_dest = "/chosen/module@${ADDR}"; + + module@${ADDR} { + compatible = "multiboot,module", "${MODULE_TYPE}"; + reg = <${ADDR} ${SIZE}>; + }; + }; + }; +}; +EOF +} + +generate_xen_qemuboot_dtb() { + # First: invoke qemu to generate an initial device tree. + # Parameters supplied here inspired by inspection of: + # runqemu "${IMAGE_BASENAME}" nographic slirp \ + # qemuparams='-dtb "" -machine dumpdtb=${B}/qemu-dumped.dtb' + ${QB_SYSTEM_NAME} \ + -device qemu-xhci \ + -device usb-tablet \ + -device usb-kbd \ + ${QB_MACHINE} \ + ${QB_CPU} \ + ${QB_SMP} \ + ${QB_MEM} \ + -nographic \ + -serial mon:stdio \ + -machine "dumpdtb=${B}/qemu-dumped.dtb" + + # Lopper generates temporary files in cwd, so run it within ${B} + cd "${B}" + write_lops_xen_section "${B}/lop-insert-xen-section.dts" \ + "${QB_XEN_DOM0_BOOTARGS}" + + write_lop_add_to_xen_cmdline "${B}/lop-xen-cmdline.dts" \ + "${QB_XEN_CMDLINE_EXTRA}" + + if [ -z "${QB_XEN_DOMAIN_MODULES}" ]; then + bbwarn "No domain modules: please set QB_XEN_DOMAIN_MODULES" + fi + + for DOMAIN_MODULE in ${QB_XEN_DOMAIN_MODULES} + do + MODULE_FILE="$(echo ${DOMAIN_MODULE} | cut -f1 -d:)" + ADDR="$(echo ${DOMAIN_MODULE} | cut -f2 -d:)" + MODULE_TYPE="$(echo ${DOMAIN_MODULE} | cut -f3 -d:)" + RESOLVED_FILE="$(readlink -f ${MODULE_FILE})" + SIZE=$(printf '0x%x\n' $(stat -c '%s' "${RESOLVED_FILE}")) + [ "x${SIZE}" != "x0x0" ] || bbfatal No module: "${MODULE_FILE}" + write_lop_add_chosen_module "${B}/lop-add-module-${ADDR}.dts" \ + "${ADDR}" "${SIZE}" "${MODULE_TYPE}" + LOP_MODULE_ARGS="${LOP_MODULE_ARGS} -i ${B}/lop-add-module-${ADDR}.dts" + done + + QEMUBOOT_DTB="${IMGDEPLOYDIR}/${QB_DTB}" + QEMUBOOT_DTB_LINK="${IMGDEPLOYDIR}/${QB_DTB_LINK}" + + lopper --werror --verbose \ + -i "${B}/lop-insert-xen-section.dts" \ + -i "${B}/lop-xen-cmdline.dts" \ + ${LOP_MODULE_ARGS} \ + -f -o "${QEMUBOOT_DTB}" \ + "${B}/qemu-dumped.dtb" + + # To assist debugging: + dtc -I dtb -O dts -o "${B}/output.dts" "${QEMUBOOT_DTB}" + + if [ "${QEMUBOOT_DTB_LINK}" != "${QEMUBOOT_DTB}" ] ; then + if [ -e "${QEMUBOOT_DTB_LINK}" ] ; then + rm "${QEMUBOOT_DTB_LINK}" + fi + ln -s "${QB_DTB}" "${QEMUBOOT_DTB_LINK}" + fi +} + +do_write_xen_qemuboot_dtb() { + # Not all architectures qemuboot with a device tree binary, so check + # to see if one is needed. This allows this bbclass file to be used + # in the same image recipe for multiple architectures. + if [ -n "${QB_DTB}" ] && [ -n "${QB_SYSTEM_NAME}" ] ; then + generate_xen_qemuboot_dtb + fi +} + +addtask do_write_xen_qemuboot_dtb after do_write_qemuboot_conf before do_image +# Task dependency: +# An expected common case is that the kernel for at least one of the initial +# domains (eg. dom0) is deployed from the virtual/kernel recipe, so +# add virtual/kernel:do_deploy as a task dependency here since the kernel size +# needs to be known for generating the device tree. +# Dependencies are only introduced if a device tree will be generated. +QB_XEN_DTB_TASK_DEPENDS ?= " \ + ${@[ ' \ + qemu-helper-native:do_populate_sysroot \ + lopper-native:do_populate_sysroot \ + dtc-native:do_populate_sysroot \ + virtual/kernel:do_deploy \ + ', ''][d.getVar('QB_DTB') == '' or d.getVar('QB_DTB') is None]} \ + " +do_write_xen_qemuboot_dtb[depends] = "${QB_XEN_DTB_TASK_DEPENDS}" + +def qemuboot_dtb_vars(d): + build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE', + 'KERNEL_IMAGETYPE', 'IMAGE_NAME', 'IMAGE_LINK_NAME', + 'STAGING_DIR_NATIVE', 'STAGING_BINDIR_NATIVE', + 'STAGING_DIR_HOST', 'SERIAL_CONSOLES'] + return build_vars + [k for k in d.keys() if k.startswith('QB_')] + +do_write_qemuboot_dtb[vardeps] += "${@' '.join(qemuboot_dtb_vars(d))}" +do_write_qemuboot_dtb[vardepsexclude] += "TOPDIR" diff --git a/conf/distro/include/meta-virt-container.inc b/conf/distro/include/meta-virt-container.inc new file mode 100644 index 00000000..c3ac8394 --- /dev/null +++ b/conf/distro/include/meta-virt-container.inc @@ -0,0 +1,40 @@ +# These variables represent groupings of functionality in the CNCF +# landscape. In particular, they are areas where there is a choice +# between more than one implementation or an area where abstraction +# is beneficial. +# +# The contents of the variables are are runtime components that +# recipes may use for RDEPENDS. +# +# Build dependencies are not typically flexible, so do not currently +# have DEPENDS equivalents for the components (i.e. DEPENDS on runc +# versus crun). +# +# Distro features such as kubernetes or other container stacks +# can be used to set different defaults for these variables. +# +# Note: these are "global" values, since they represent choices. +# If more than of a grouping is required on target, then the variable +# can be appended or set to multiple values. That being said, Recipes +# should generally agree on the values, hence the global namespace. +# Recipe specific choices can still be done, but they risk +# conflicting on target or causing runtime issues / errors. +# + +## CNCF "components" + +# engines: docker-ce/docker-moby, virtual-containerd, cri-o, podman +VIRTUAL-RUNTIME_container_engine ??= "podman" +# runtime: runc, crun, runv, runx +VIRTUAL-RUNTIME_container_runtime ??= "virtual-runc" +# networking: cni, netavark +VIRTUAL-RUNTIME_container_networking ??= "cni" +# dns: cni, aardvark-dns +VIRTUAL-RUNTIME_container_dns ??= "cni" +# orchestration: k8s, k3s +VIRTUAL-RUNTIME_container_orchestration ??= "k3s" + +## Kubernetes terminology "components" + +VIRTUAL-RUNTIME_cri ??= "virtual-containerd" +VIRTUAL-RUNTIME_cni ??= "cni" diff --git a/conf/distro/include/meta-virt-default-versions.inc b/conf/distro/include/meta-virt-default-versions.inc index 8a2db702..b62ec38d 100644 --- a/conf/distro/include/meta-virt-default-versions.inc +++ b/conf/distro/include/meta-virt-default-versions.inc @@ -1,4 +1,4 @@ # Meta-virtuailization PREFERED_VERSION -PREFERRED_VERSION_xen ?= "4.15+stable%" -PREFERRED_VERSION_xen-tools ?= "4.15+stable%" +PREFERRED_VERSION_xen ?= "4.18+stable%" +PREFERRED_VERSION_xen-tools ?= "4.18+stable%" diff --git a/conf/distro/include/meta-virt-xen.inc b/conf/distro/include/meta-virt-xen.inc index 02a78105..5fbb57f8 100644 --- a/conf/distro/include/meta-virt-xen.inc +++ b/conf/distro/include/meta-virt-xen.inc @@ -1,12 +1,15 @@ # Make sure Xen mode is enabled in qemu -PACKAGECONFIG_append_pn-qemu = " xen" +PACKAGECONFIG:append:pn-qemu = " xen" # For builds for ARM platforms, enable fdt -PACKAGECONFIG_append_pn-qemu_arm = " fdt" -PACKAGECONFIG_append_pn-qemu_aarch64 = " fdt" +PACKAGECONFIG:append:pn-qemu:arm = " fdt" +PACKAGECONFIG:append:pn-qemu:aarch64 = " fdt" # Xen on Raspberry Pi 4 64-bit support XEN_RPI4_64_CONFIG_PATH ??= \ 'dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc' include ${@bb.utils.contains('MACHINE', 'raspberrypi4-64', \ '${XEN_RPI4_64_CONFIG_PATH}', '', d)} + +# Set serial for working qemuboot console +SERIAL_CONSOLES:qemuarm64 ?= "115200;ttyAMA0" diff --git a/conf/distro/include/virt_security_flags.inc b/conf/distro/include/virt_security_flags.inc index f4c288b8..3644d822 100644 --- a/conf/distro/include/virt_security_flags.inc +++ b/conf/distro/include/virt_security_flags.inc @@ -1,5 +1,5 @@ # Build errors with the pie options enabled -SECURITY_CFLAGS_pn-libvirt = "${SECURITY_NO_PIE_CFLAGS}" +SECURITY_CFLAGS:pn-libvirt = "${SECURITY_NO_PIE_CFLAGS}" # This has text relco errors with the pie options enabled -SECURITY_CFLAGS_pn-lxc = "${SECURITY_NO_PIE_CFLAGS}" +SECURITY_CFLAGS:pn-lxc = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/conf/layer.conf b/conf/layer.conf index f1f468bb..7c8e3701 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -13,7 +13,7 @@ LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" BBFILES_DYNAMIC += " \ raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/*/*/*.bb \ - raspberrypi:${LAYERDIR}/dynamic-layers/rasbperrypi/*/*/*.bbappend \ + raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/*/*/*.bbappend \ xilinx:${LAYERDIR}/dynamic-layers/xilinx/*/*/*.bb \ xilinx:${LAYERDIR}/dynamic-layers/xilinx/*/*/*.bbappend \ " @@ -21,7 +21,7 @@ BBFILES_DYNAMIC += " \ # This should only be incremented on significant changes that will # cause compatibility issues with other layers LAYERVERSION_virtualization-layer = "1" -LAYERSERIES_COMPAT_virtualization-layer = "gatesgarth hardknott honister" +LAYERSERIES_COMPAT_virtualization-layer = "nanbield scarthgap" LAYERDEPENDS_virtualization-layer = " \ core \ openembedded-layer \ @@ -41,7 +41,7 @@ require conf/distro/include/virt_security_flags.inc PREFERRED_PROVIDER_virtual/runc ?= "runc-opencontainers" PREFERRED_PROVIDER_virtual/containerd ?= "containerd-opencontainers" -PREFERRED_PROVIDER_virtual/docker ?= "docker-ce" +PREFERRED_PROVIDER_virtual/docker ?= "docker-moby" # Sanity check for meta-virtualization layer. # Setting SKIP_META_VIRT_SANITY_CHECK to "1" would skip the bbappend files check. @@ -52,10 +52,13 @@ INHERIT += "sanity-meta-virt" # layer.conf load time, we delay using a special bbclass that simply includes # the META_VIRT_CONFIG_PATH file, and likewise for the Xen and k8s configs META_VIRT_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-default-versions.inc" +META_VIRT_CONTAINER_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-container.inc" META_VIRT_XEN_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-xen.inc" K8S_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/k8s-versions.inc" -USER_CLASSES_append = " meta-virt-cfg" -USER_CLASSES_append = " meta-virt-k8s-cfg" -USER_CLASSES_append = " meta-virt-xen-cfg" +USER_CLASSES:append = " meta-virt-cfg" +USER_CLASSES:append = " meta-virt-container-cfg" +USER_CLASSES:append = " meta-virt-k8s-cfg" +USER_CLASSES:append = " meta-virt-xen-cfg" +USER_CLASSES:append = " meta-virt-hosts" HOSTTOOLS_NONFATAL += "getent" diff --git a/conf/multiconfig/container.conf b/conf/multiconfig/container.conf new file mode 100644 index 00000000..f1255521 --- /dev/null +++ b/conf/multiconfig/container.conf @@ -0,0 +1,3 @@ +DISTRO = "poky" +MACHINE = "qemux86-64" +# TMPDIR = "container-tmp" diff --git a/docs/00-INDEX b/docs/00-INDEX index 5aa1b3c5..6659fbee 100644 --- a/docs/00-INDEX +++ b/docs/00-INDEX @@ -11,5 +11,8 @@ alphabetical order as well. openvswitch.txt - example on how to setup openvswitch with qemu/kvm. +podman.txt + - documentation on podman container engine integration. + xvisor.txt - example on how to setup Xvisor for RISC-V QEMU. diff --git a/docs/podman.txt b/docs/podman.txt new file mode 100644 index 00000000..66a69b3c --- /dev/null +++ b/docs/podman.txt @@ -0,0 +1,14 @@ +Podman +====== + +Rootless mode +------------- + +Podman is a daemonless container engine that has as one of its features the +ability to run in rootless mode. This requires a set of configurations and +additional components. The OE/Yocto integration configures podman with this +support disabled by default. This can be changed via configuration files +(distro, local.conf, etc.) or bbappends using the `PACKAGECONFIG` variable. + +To enable rootless support, add `rootless` to the `PACKAGECONFIG` podman +recipe variable. diff --git a/docs/podman.txt.license b/docs/podman.txt.license new file mode 100644 index 00000000..c7348705 --- /dev/null +++ b/docs/podman.txt.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Huawei Inc. + +SPDX-License-Identifier: MIT diff --git a/dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc b/dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc index 2ea19dd4..2d5a167c 100644 --- a/dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc +++ b/dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc @@ -5,15 +5,15 @@ RPI_USE_U_BOOT = "1" ENABLE_UART = "1" # Build the bootable SD card image -IMAGE_CLASSES_append = " sdcard_image-rpi" -IMAGE_FSTYPES_append = " rpi-sdimg" +IMAGE_CLASSES:append = " sdcard_image-rpi" +IMAGE_FSTYPES:append = " rpi-sdimg" # Add Xen to the bootable SD card image -RPI_SDIMG_EXTRA_DEPENDS_append = " xen:do_deploy" +RPI_SDIMG_EXTRA_DEPENDS:append = " xen:do_deploy" DEPLOYPAYLOAD = "xen-${MACHINE}:xen" # We need the GIC enabled for Xen to work -RPI_EXTRA_CONFIG_append = "\nenable_gic=1" +RPI_EXTRA_CONFIG:append = "\nenable_gic=1" # Increase boot partition for space for kernel and Xen BOOT_SPACE = "61440" diff --git a/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in b/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in index 0367e36c..98742200 100644 --- a/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in +++ b/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in @@ -13,10 +13,6 @@ fdt resize 0x1000 echo Add boot arguments for Xen fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=/soc/serial@7e215040 dom0_mem='@@RPI_DOM0_MEM@@' @@RPI_DEBUG_XEN_ARGS@@" -echo Add boot arguments for dom0 -setenv dom0_bootargs "console=hvc0 earlycon=xenboot debug root=/dev/mmcblk0p2 rootwait" -fdt set /chosen xen,dom0-bootargs \"${dom0_bootargs}\" - echo Add a dom0 node to chosen to put Linux boot information in fdt mknode /chosen dom0 @@ -32,6 +28,13 @@ fdt rm /scb/pcie@7d500000/pci@1,0/usb@1,0 echo Delay to allow the MMC card to be ready sleep 1 +# Retrieve PARTUUID for the rootfs partition of the sdcard +part uuid mmc 1:2 rootfs_partuuid + +echo Add boot arguments for dom0 +setenv dom0_bootargs "console=hvc0 earlycon=xenboot debug root=PARTUUID=${rootfs_partuuid} rootwait" +fdt set /chosen xen,dom0-bootargs \"${dom0_bootargs}\" + echo Load Xen into memory fatload mmc 1:1 ${xen_loadaddr} xen echo Xen loaded, size: 0x$filesize diff --git a/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto-dev.bbappend b/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto-dev.bbappend deleted file mode 100644 index 8381e447..00000000 --- a/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto-dev.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -# For a Xen-enabled distro on the Raspberry Pi, override the contents of cmdline.txt -# with Xen-on-ARM-specific command line options - -KBRANCH_raspberrypi4-64 ?= "standard/bcm-2xxx-rpi" -KMACHINE_raspberrypi4-64 ?= "bcm-2xxx-rpi4" -COMPATIBLE_MACHINE_raspberrypi4-64 = "(raspberrypi4-64)" - -require linux-yocto_xen-rpi.inc diff --git a/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto_5.10.bbappend b/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto_5.10.bbappend deleted file mode 100644 index af92493d..00000000 --- a/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto_5.10.bbappend +++ /dev/null @@ -1,6 +0,0 @@ -# Enable use of the linux-yocto 5.10 kernel for the Raspberry Pi 4 -KBRANCH_raspberrypi4-64 ?= "v5.10/standard/bcm-2xxx-rpi" -KMACHINE_raspberrypi4-64 ?= "bcm-2xxx-rpi4" -COMPATIBLE_MACHINE_raspberrypi4-64 = "(raspberrypi4-64)" - -require linux-yocto_xen-rpi.inc diff --git a/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto_6.6.bbappend b/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto_6.6.bbappend new file mode 100644 index 00000000..2e2f92b6 --- /dev/null +++ b/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto_6.6.bbappend @@ -0,0 +1,6 @@ +# Enable use of the linux-yocto kernel for the Raspberry Pi 4 +KBRANCH:raspberrypi4-64 ?= "v6.6/standard/bcm-2xxx-rpi" +KMACHINE:raspberrypi4-64 ?= "bcm-2xxx-rpi4" +COMPATIBLE_MACHINE:raspberrypi4-64 = "(raspberrypi4-64)" + +require linux-yocto_xen-rpi.inc diff --git a/dynamic-layers/xilinx/recipes-bsp/device-tree/device-tree.bbappend b/dynamic-layers/xilinx/recipes-bsp/device-tree/device-tree.bbappend new file mode 100644 index 00000000..e2358262 --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/device-tree/device-tree.bbappend @@ -0,0 +1,19 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +ENABLE_XEN_DTSI ?= "" +ENABLE_XEN_QEMU_DTSI ?= "" + +XEN_EXTRA_OVERLAYS = "" +XEN_EXTRA_QEMU_OVERLAYS = "" + +XEN_EXTRA_OVERLAYS:zynqmp = "zynqmp-xen.dtsi" +XEN_EXTRA_QEMU_OVERLAYS:zynqmp = "zynqmp-xen.dtsi zynqmp-xen-qemu.dtsi" + +XEN_EXTRA_OVERLAYS:versal = "versal-xen.dtsi" +XEN_EXTRA_QEMU_OVERLAYS:versal = "versal-xen.dtsi versal-xen-qemu.dtsi" + +XEN_EXTRA_OVERLAYS:versal-net = "versal-net-xen.dtsi" +XEN_EXTRA_QEMU_OVERLAYS:versal-net = "versal-net-xen.dtsi versal-net-xen-qemu.dtsi" + +EXTRA_OVERLAYS:append = "${@' ${XEN_EXTRA_OVERLAYS}' if d.getVar('ENABLE_XEN_DTSI') == '1' else ''}" +EXTRA_OVERLAYS:append = "${@' ${XEN_EXTRA_QEMU_OVERLAYS}' if d.getVar('ENABLE_XEN_QEMU_DTSI') == '1' else ''}" diff --git a/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-net-xen-qemu.dtsi b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-net-xen-qemu.dtsi new file mode 100644 index 00000000..336d7a25 --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-net-xen-qemu.dtsi @@ -0,0 +1,2 @@ +/ { +}; diff --git a/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-net-xen.dtsi b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-net-xen.dtsi new file mode 100644 index 00000000..7da1f9f1 --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-net-xen.dtsi @@ -0,0 +1,67 @@ +&smmu { + status = "okay"; +}; + +&adma0 { + iommus = <&smmu 0x210>; +}; + +&adma1 { + iommus = <&smmu 0x212>; +}; + +&adma2 { + iommus = <&smmu 0x214>; +}; + +&adma3 { + iommus = <&smmu 0x216>; +}; + +&adma4 { + iommus = <&smmu 0x218>; +}; + +&adma5 { + iommus = <&smmu 0x21a>; +}; + +&adma6 { + iommus = <&smmu 0x21c>; +}; + +&adma7 { + iommus = <&smmu 0x21e>; +}; + +&dwc3_0 { + iommus = <&smmu 0x230>; +}; + +&dwc3_1 { + iommus = <&smmu 0x232>; +}; + +&gem0 { + iommus = <&smmu 0x234>; +}; + +&gem1 { + iommus = <&smmu 0x235>; +}; + +&sdhci0 { + iommus = <&smmu 0x242>; +}; + +&sdhci1 { + iommus = <&smmu 0x243>; +}; + +&qspi { + iommus = <&smmu 0x244>; +}; + +&ospi { + iommus = <&smmu 0x245>; +}; diff --git a/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-xen-qemu.dtsi b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-xen-qemu.dtsi new file mode 100644 index 00000000..336d7a25 --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-xen-qemu.dtsi @@ -0,0 +1,2 @@ +/ { +}; diff --git a/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-xen.dtsi b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-xen.dtsi new file mode 100644 index 00000000..6782e925 --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/versal-xen.dtsi @@ -0,0 +1,59 @@ +&smmu { + status = "okay"; +}; + +&gem0 { + iommus = <&smmu 0x234>; +}; + +&gem1 { + iommus = <&smmu 0x235>; +}; + +&dwc3_0 { + iommus = <&smmu 0x230>; +}; + +&qspi { + iommus = <&smmu 0x244>; +}; + +&lpd_dma_chan0 { + iommus = <&smmu 0x210>; +}; + +&lpd_dma_chan1 { + iommus = <&smmu 0x212>; +}; + +&lpd_dma_chan2 { + iommus = <&smmu 0x214>; +}; + +&lpd_dma_chan3 { + iommus = <&smmu 0x216>; +}; + +&lpd_dma_chan4 { + iommus = <&smmu 0x218>; +}; + +&lpd_dma_chan5 { + iommus = <&smmu 0x21a>; +}; + +&lpd_dma_chan6 { + iommus = <&smmu 0x21c>; +}; + +&lpd_dma_chan7 { + iommus = <&smmu 0x21e>; +}; + +&sdhci0 { + iommus = <&smmu 0x242>; +}; + +&sdhci1 { + iommus = <&smmu 0x243>; +}; diff --git a/dynamic-layers/xilinx/recipes-bsp/device-tree/files/zynqmp-xen-qemu.dtsi b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/zynqmp-xen-qemu.dtsi new file mode 100644 index 00000000..336d7a25 --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/zynqmp-xen-qemu.dtsi @@ -0,0 +1,2 @@ +/ { +}; diff --git a/dynamic-layers/xilinx/recipes-bsp/device-tree/files/zynqmp-xen.dtsi b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/zynqmp-xen.dtsi new file mode 100644 index 00000000..3d75be65 --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/device-tree/files/zynqmp-xen.dtsi @@ -0,0 +1,123 @@ +&smmu { + status = "okay"; +}; + +&gem0 { + iommus = <&smmu 0x874>; +}; + +&gem1 { + iommus = <&smmu 0x875>; +}; + +&gem2 { + iommus = <&smmu 0x876>; +}; + +&gem3 { + iommus = <&smmu 0x877>; +}; + +&dwc3_0 { + iommus = <&smmu 0x860>; +}; + +&dwc3_1 { + iommus = <&smmu 0x861>; +}; + +&qspi { + iommus = <&smmu 0x873>; +}; + +&lpd_dma_chan1 { + iommus = <&smmu 0x868>; +}; + +&lpd_dma_chan2 { + iommus = <&smmu 0x869>; +}; + +&lpd_dma_chan3 { + iommus = <&smmu 0x86a>; +}; + +&lpd_dma_chan4 { + iommus = <&smmu 0x86b>; +}; + +&lpd_dma_chan5 { + iommus = <&smmu 0x86c>; +}; + +&lpd_dma_chan6 { + iommus = <&smmu 0x86d>; +}; + +&lpd_dma_chan7 { + iommus = <&smmu 0x86e>; +}; + +&lpd_dma_chan8 { + iommus = <&smmu 0x86f>; +}; + +&fpd_dma_chan1 { + iommus = <&smmu 0x14e8>; +}; + +&fpd_dma_chan2 { + iommus = <&smmu 0x14e9>; +}; + +&fpd_dma_chan3 { + iommus = <&smmu 0x14ea>; +}; + +&fpd_dma_chan4 { + iommus = <&smmu 0x14eb>; +}; + +&fpd_dma_chan5 { + iommus = <&smmu 0x14ec>; +}; + +&fpd_dma_chan6 { + iommus = <&smmu 0x14ed>; +}; + +&fpd_dma_chan7 { + iommus = <&smmu 0x14ee>; +}; + +&fpd_dma_chan8 { + iommus = <&smmu 0x14ef>; +}; + +&sdhci0 { + iommus = <&smmu 0x870>; +}; + +&sdhci1 { + iommus = <&smmu 0x871>; +}; + +&nand0 { + iommus = <&smmu 0x872>; +}; + +&pcie { + iommus = <&smmu 0x4d0>; +}; + +&zynqmp_dpsub { + iommus = <&smmu 0xce3>; +}; + +&zynqmp_dpdma { + iommus = <&smmu 0xce4>; +}; + +&sata { + iommus = <&smmu 0x4c0>, <&smmu 0x4c1>, <&smmu 0x4c2>, <&smmu 0x4c3>; +}; diff --git a/dynamic-layers/xilinx/recipes-bsp/u-boot/u-boot-xlnx-scr.bbappend b/dynamic-layers/xilinx/recipes-bsp/u-boot/u-boot-xlnx-scr.bbappend new file mode 100644 index 00000000..ae847cbc --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/u-boot/u-boot-xlnx-scr.bbappend @@ -0,0 +1,2 @@ +# Include xen-boot-cmd.inc only if xen distro features is enabled. +include ${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'xen-boot-cmd.inc', '', d)} diff --git a/dynamic-layers/xilinx/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.xen b/dynamic-layers/xilinx/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.xen new file mode 100644 index 00000000..25e5842c --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.xen @@ -0,0 +1,80 @@ +# This is a boot script for U-Boot with Xen parameters used by yocto machine +# configuration file. +# Generate boot.scr: +# mkimage -c none -A arm -T script -d boot.cmd.xen boot.scr +# +################ +xen_name=@@XEN_IMAGE_NAME@@ +kernel_name=@@KERNEL_IMAGE@@ +rootfs_name=@@RAMDISK_IMAGE@@ +@@PRE_BOOTENV@@ + +for boot_target in ${boot_targets}; +do + echo "Trying to load boot images from ${boot_target}" + if test "${boot_target}" = "jtag" ; then + tftpboot @@KERNEL_LOAD_ADDRESS@@ ${kernel_name} + setenv kernel_size 0x$filesize; + tftpboot @@RAMDISK_IMAGE_ADDRESS@@ ${rootfs_name} + setenv ramdisk_size 0x$filesize; + tftpboot @@XEN_LOAD_ADDRESS@@ ${xen_name} + tftpboot @@DEVICETREE_ADDRESS@@ system.dtb + fi + if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1" || test "${boot_target}" = "usb0" || test "${boot_target}" = "usb1"; then + if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1"; then + setenv bootdev mmcblk${devnum}p + fi + if test "${boot_target}" = "usb0" || test "${boot_target}" = "usb1"; then + setenv bootdev sda + fi + echo "Checking for /${xen_name}" + if test -e ${devtype} ${devnum}:${distro_bootpart} /${xen_name}; then + echo "Loading ${xen_name}"; + fatload ${devtype} ${devnum}:${distro_bootpart} @@XEN_LOAD_ADDRESS@@ ${xen_name}; + fi + echo "Checking for /${kernel_name}" + if test -e ${devtype} ${devnum}:${distro_bootpart} /${kernel_name}; then + echo "Loading ${kernel_name}"; + fatload ${devtype} ${devnum}:${distro_bootpart} @@KERNEL_LOAD_ADDRESS@@ ${kernel_name}; + setenv kernel_size 0x$filesize; + fi + echo "Checking for /system.dtb" + if test -e ${devtype} ${devnum}:${distro_bootpart} /system.dtb; then + echo "Loading system.dtb"; + fatload ${devtype} ${devnum}:${distro_bootpart} @@DEVICETREE_ADDRESS@@ system.dtb; + fi + echo "Checking for /${rootfs_name}" + if test -e ${devtype} ${devnum}:${distro_bootpart} /${rootfs_name} && test "${skip_ramdisk}" != "yes"; then + echo "Loading ${rootfs_name}"; + fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${rootfs_name}; + setenv ramdisk_size 0x$filesize; + fi + fi + fdt addr @@DEVICETREE_ADDRESS@@ + fdt resize 0x1000 + fdt get value bootargs /chosen bootargs + fdt set /chosen \#address-cells <0x2> + fdt set /chosen \#size-cells <0x2> + setenv xen_bootargs "console=dtuart dtuart=@@XEN_SERIAL_CONSOLES@@ dom0_mem=@@DOM0_MEM@@ dom0_max_vcpus=@@DOM0_MAX_VCPUS@@ bootscrub=0 vwfi=native @@XEN_CMDLINE_APPEND@@" + fdt set /chosen xen,xen-bootargs \"${xen_bootargs}\" + + # Check that env $ramdisk_size is 0 or not. + if test -n ${ramdisk_size}; then + fdt mknod /chosen dom0-ramdisk + fdt set /chosen/dom0-ramdisk compatible "xen,linux-initrd" "xen,multiboot-module" "multiboot,module" + fdt set /chosen/dom0-ramdisk reg <0x0 @@RAMDISK_IMAGE_ADDRESS@@ 0x0 ${ramdisk_size}> + setenv rootfs_param @@KERNEL_ROOT_RAMDISK@@ + else + setenv rootfs_param @@KERNEL_ROOT_SD@@ + fi + + fdt mknod /chosen dom0 + fdt set /chosen/dom0 compatible "xen,linux-zimage" "xen,multiboot-module" "multiboot,module" + fdt set /chosen/dom0 reg <0x0 @@KERNEL_LOAD_ADDRESS@@ 0x0 ${kernel_size}> + setenv dom0_bootargs "console=hvc0 earlycon=xen earlyprintk=xen clk_ignore_unused ${rootfs_param}" + fdt set /chosen xen,dom0-bootargs \"${dom0_bootargs}\" + + setenv fdt_high 0xffffffffffffffff + + @@KERNEL_BOOTCMD@@ @@XEN_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ +done diff --git a/dynamic-layers/xilinx/recipes-bsp/u-boot/xen-boot-cmd.inc b/dynamic-layers/xilinx/recipes-bsp/u-boot/xen-boot-cmd.inc new file mode 100644 index 00000000..7a4e41a6 --- /dev/null +++ b/dynamic-layers/xilinx/recipes-bsp/u-boot/xen-boot-cmd.inc @@ -0,0 +1,38 @@ +FILESEXTRAPATHS:append := ":${THISDIR}/u-boot-xlnx-scr" + +SRC_URI += "file://boot.cmd.xen" + +# Image offsets for Xen boot +KERNEL_OFFSET:zynqmp ?= "0xE00000" +KERNEL_OFFSET:versal ?= "0xE00000" + +DEVICETREE_OFFSET:zynqmp ?= "0xC000000" +DEVICETREE_OFFSET:versal ?= "0xC000000" + +RAMDISK_OFFSET:zynqmp ?= "0x2600000" +RAMDISK_OFFSET:versal ?= "0x2600000" + +XEN_OFFSET:zynqmp ?= "0xBA00000" +XEN_OFFSET:versal ?= "0xBA00000" +XEN_LOAD_ADDRESS ?= "${@append_baseaddr(d,d.getVar('XEN_OFFSET'))}" + +# If dom0-ramdisk is used for Xen boot then set RAMDISK image to cpio.gz +XEN_IMAGE_NAME ?= "xen" +RAMDISK_IMAGE ?= "rootfs.cpio.gz" + +# Set the amount of memory for dom0 depending on total available memory size(DDR). +DOM0_MEM ?= "1500M" + +# Specify which UART console Xen should use. You can sepecify the devicetree +# alias or full path to a node in the devicetree +# XEN_SERIAL_CONSOLES ?= "serial0" or XEN_SERIAL_CONSOLES ?= "/axi/serial@ff000000" +XEN_SERIAL_CONSOLES ?= "serial0" + +# Specify additional Xen paramaters which will be appended to xen-bootargs +# This can alos be used for debugging purposes. +# Examples: XEN_CMDLINE_APPEND ?= "sched=credit loglvl=all guest_loglvl=debug" +XEN_CMDLINE_APPEND ?= "" + +# Specify the max number of vcpus for dom0 +# Example usage: DOM0_MAX_VCPUS = "2" or DOM0_MAX_VCPUS = "2-4" +DOM0_MAX_VCPUS ?= "1" diff --git a/dynamic-layers/xilinx/recipes-extended/xen/xen-xilinx.inc b/dynamic-layers/xilinx/recipes-extended/xen/xen-xilinx.inc index d27362a3..18215572 100644 --- a/dynamic-layers/xilinx/recipes-extended/xen/xen-xilinx.inc +++ b/dynamic-layers/xilinx/recipes-extended/xen/xen-xilinx.inc @@ -1,10 +1,10 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" DEPENDS += "u-boot-mkimage-native" DEPENDS += "dtc-native" XENIMAGE_KERNEL_LOADADDRESS ?= "0x6000000" -do_deploy_append() { +do_deploy:append() { if [ -f ${DEPLOYDIR}/xen-${MACHINE} ]; then uboot-mkimage -A arm64 -T kernel -a ${XENIMAGE_KERNEL_LOADADDRESS} -e ${XENIMAGE_KERNEL_LOADADDRESS} -C none -d ${DEPLOYDIR}/xen-${MACHINE} ${DEPLOYDIR}/xen.ub fi diff --git a/dynamic-layers/xilinx/recipes-extended/xen/xen_4.14.bbappend b/dynamic-layers/xilinx/recipes-extended/xen/xen_%.bbappend index 54edd1ba..54edd1ba 100644 --- a/dynamic-layers/xilinx/recipes-extended/xen/xen_4.14.bbappend +++ b/dynamic-layers/xilinx/recipes-extended/xen/xen_%.bbappend diff --git a/dynamic-layers/xilinx/recipes-extended/xen/xen_git.bbappend b/dynamic-layers/xilinx/recipes-extended/xen/xen_git.bbappend deleted file mode 100644 index 54edd1ba..00000000 --- a/dynamic-layers/xilinx/recipes-extended/xen/xen_git.bbappend +++ /dev/null @@ -1 +0,0 @@ -include xen-xilinx.inc diff --git a/lib/oeqa/runtime/cases/xtf_minimal.py b/lib/oeqa/runtime/cases/xtf_minimal.py new file mode 100644 index 00000000..6094cd92 --- /dev/null +++ b/lib/oeqa/runtime/cases/xtf_minimal.py @@ -0,0 +1,116 @@ +# +# SPDX-License-Identifier: MIT +# +# Author: Christopher Clark +# Copyright (c) Star Lab Corp, 2021 +# +# Integration of the Xen Test Framework (XTF) into OpenEmbedded QA +# +# Since not all XTF test cases are appropriate for all test environments, +# images or machine configurations the selection of XTF test cases to run +# is determined by variables that can be set in an image recipe. +# +# * XTF_TEST_CASES_POPULATE +# Specifies the list of queries passed to xtf-runner to populate the test list. +# eg. 'pv64 livepatch-priv-check' +# +# Since the space character is meaningful and may be required within a populate clause, +# the '|' character is used for separating multiple queries. +# eg. 'pv64 livepatch-priv-check|pv32pae selftest' +# +# * XTF_TEST_CASES_SKIP +# A space-separate list of test cases that should be skipped even if returned +# from the queries specified in XTF_TEST_CASES_POPULATE. +# eg. 'test-pv64-livepatch-priv-check' +# +# * XTF_TEST_CASES_REQUIRE +# A space-separate list of test cases that must not be skipped even if missing +# from the results of the queries specified in XTF_TEST_CASES_POPULATE. + +#---------- +# The default single test case here is chosen because it exercises XTF +# and just Xen itself rather than any specifics of the hardware +# (virtual or not) that Xen is running on. +# TODO: this is an x86-specific test - revisit this choice when XTF supports Arm +DEFAULT_POPULATE = 'pv64 livepatch-priv-check' +#---------- + +import json +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.core.decorator.oetimeout import OETimeout +from oeqa.runtime.decorator.package import OEHasPackage + +def xtf_runner_exit_status(state): + """ Convert a xtf-runner exit code to a test result. """ + return { 0: "SUCCESS", + 1: "sys.exit 1", + 2: "sys.exit 2", + 3: "SKIP", + 4: "ERROR", + 5: "FAILURE", + 6: "CRASH", + }[state] + +xtf_rundir = '/usr/libexec/xtf' + +class XTFMinimalTest(OERuntimeTestCase): + + def query_xtf_cases(self, query_item): + (status, output) = self.target.run( + 'cd %s; ./xtf-runner --list %s' % \ + (xtf_rundir, query_item)) + self.assertTrue(status == 0, msg='XTF runner failed') + + populate_case_lines = output.split('\n') + while '' in populate_case_lines: + populate_case_lines.remove('') + + return list(map(lambda x: x.lstrip().rstrip(), populate_case_lines)) + + def get_xtf_case_list(self): + xtf_cases = [] + + populate = self.tc.td.get('XTF_TEST_CASES_POPULATE') + skip = self.tc.td.get('XTF_TEST_CASES_SKIP') + require = self.tc.td.get('XTF_TEST_CASES_REQUIRE') + + if populate is None: + populate = DEFAULT_POPULATE + + for query_item in populate.split('|'): + xtf_cases.extend( self.query_xtf_cases(query_item) ) + + if skip is not None: + for skip_item in skip.split(' '): + while skip_item in xtf_cases: + xtf_cases.remove(skip_item) + + if require is not None: + for require_item in require.split(' '): + if require_item == '': + continue + if not require_item in xtf_cases: + xtf_cases.append(require_item) + + self.logger.info('XTF cases: %s' % str(xtf_cases)) + return xtf_cases + + def run_xtf_case(self, xtf_case_name): + (status, output) = self.target.run('cd %s; ./xtf-runner %s' % \ + (xtf_rundir, xtf_case_name)) + self.assertTrue(status == 0, msg='XTF test %s failed: %s' % \ + (xtf_case_name, xtf_runner_exit_status(status))) + + @OETimeout(2400) + @OETestDepends(['ssh.SSHTest.test_ssh']) + @OEHasPackage(['xtf']) + @OEHasPackage(['xen-tools']) + def test_xtf_minimal(self): + + xtf_cases = self.get_xtf_case_list() + + for xtf_case_name in xtf_cases: + self.logger.debug('Running XTF case: %s' % xtf_case_name) + + self.run_xtf_case(xtf_case_name) diff --git a/recipes-containers/aardvark-dns/aardvark-dns-crates.inc b/recipes-containers/aardvark-dns/aardvark-dns-crates.inc new file mode 100644 index 00000000..55c2f308 --- /dev/null +++ b/recipes-containers/aardvark-dns/aardvark-dns-crates.inc @@ -0,0 +1,286 @@ +# Autogenerated with 'bitbake -c update_crates aardvark-dns' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/addr2line/0.21.0 \ + crate://crates.io/adler/1.0.2 \ + crate://crates.io/android-tzdata/0.1.1 \ + crate://crates.io/android_system_properties/0.1.5 \ + crate://crates.io/anstream/0.6.4 \ + crate://crates.io/anstyle/1.0.4 \ + crate://crates.io/anstyle-parse/0.2.2 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/3.0.1 \ + crate://crates.io/anyhow/1.0.80 \ + crate://crates.io/async-broadcast/0.7.0 \ + crate://crates.io/async-trait/0.1.74 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/backtrace/0.3.69 \ + crate://crates.io/bitflags/2.4.1 \ + crate://crates.io/bumpalo/3.14.0 \ + crate://crates.io/bytes/1.5.0 \ + crate://crates.io/cc/1.0.83 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/chrono/0.4.34 \ + crate://crates.io/clap/4.4.10 \ + crate://crates.io/clap_builder/4.4.9 \ + crate://crates.io/clap_derive/4.4.7 \ + crate://crates.io/clap_lex/0.6.0 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/concurrent-queue/2.3.0 \ + crate://crates.io/core-foundation-sys/0.8.4 \ + crate://crates.io/crossbeam-utils/0.8.16 \ + crate://crates.io/data-encoding/2.4.0 \ + crate://crates.io/deranged/0.3.9 \ + crate://crates.io/endian-type/0.1.2 \ + crate://crates.io/enum-as-inner/0.6.0 \ + crate://crates.io/error-chain/0.12.4 \ + crate://crates.io/event-listener/5.0.0 \ + crate://crates.io/event-listener-strategy/0.5.0 \ + crate://crates.io/form_urlencoded/1.2.0 \ + crate://crates.io/futures-channel/0.3.29 \ + crate://crates.io/futures-core/0.3.30 \ + crate://crates.io/futures-io/0.3.29 \ + crate://crates.io/futures-sink/0.3.29 \ + crate://crates.io/futures-task/0.3.30 \ + crate://crates.io/futures-util/0.3.30 \ + crate://crates.io/getrandom/0.2.11 \ + crate://crates.io/gimli/0.28.0 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.3 \ + crate://crates.io/hickory-client/0.24.0 \ + crate://crates.io/hickory-proto/0.24.0 \ + crate://crates.io/hickory-server/0.24.0 \ + crate://crates.io/hostname/0.3.1 \ + crate://crates.io/iana-time-zone/0.1.58 \ + crate://crates.io/iana-time-zone-haiku/0.1.2 \ + crate://crates.io/idna/0.4.0 \ + crate://crates.io/ipnet/2.9.0 \ + crate://crates.io/itoa/1.0.9 \ + crate://crates.io/js-sys/0.3.65 \ + crate://crates.io/libc/0.2.150 \ + crate://crates.io/log/0.4.20 \ + crate://crates.io/match_cfg/0.1.0 \ + crate://crates.io/memchr/2.6.4 \ + crate://crates.io/miniz_oxide/0.7.1 \ + crate://crates.io/mio/0.8.9 \ + crate://crates.io/nibble_vec/0.1.0 \ + crate://crates.io/nix/0.27.1 \ + crate://crates.io/num-traits/0.2.17 \ + crate://crates.io/num_cpus/1.16.0 \ + crate://crates.io/num_threads/0.1.6 \ + crate://crates.io/object/0.32.1 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/parking/2.2.0 \ + crate://crates.io/percent-encoding/2.3.0 \ + crate://crates.io/pin-project-lite/0.2.13 \ + crate://crates.io/pin-utils/0.1.0 \ + crate://crates.io/powerfmt/0.2.0 \ + crate://crates.io/ppv-lite86/0.2.17 \ + crate://crates.io/proc-macro2/1.0.69 \ + crate://crates.io/quick-error/1.2.3 \ + crate://crates.io/quote/1.0.33 \ + crate://crates.io/radix_trie/0.2.1 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/resolv-conf/0.7.0 \ + crate://crates.io/rustc-demangle/0.1.23 \ + crate://crates.io/serde/1.0.192 \ + crate://crates.io/serde_derive/1.0.192 \ + crate://crates.io/signal-hook/0.3.17 \ + crate://crates.io/signal-hook-registry/1.4.1 \ + crate://crates.io/slab/0.4.9 \ + crate://crates.io/smallvec/1.11.2 \ + crate://crates.io/socket2/0.5.5 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/2.0.39 \ + crate://crates.io/syslog/6.1.0 \ + crate://crates.io/thiserror/1.0.50 \ + crate://crates.io/thiserror-impl/1.0.50 \ + crate://crates.io/time/0.3.30 \ + crate://crates.io/time-core/0.1.2 \ + crate://crates.io/time-macros/0.2.15 \ + crate://crates.io/tinyvec/1.6.0 \ + crate://crates.io/tinyvec_macros/0.1.1 \ + crate://crates.io/tokio/1.36.0 \ + crate://crates.io/tokio-macros/2.2.0 \ + crate://crates.io/tokio-util/0.7.10 \ + crate://crates.io/tracing/0.1.40 \ + crate://crates.io/tracing-attributes/0.1.27 \ + crate://crates.io/tracing-core/0.1.32 \ + crate://crates.io/unicode-bidi/0.3.13 \ + crate://crates.io/unicode-ident/1.0.12 \ + crate://crates.io/unicode-normalization/0.1.22 \ + crate://crates.io/url/2.4.1 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/wasm-bindgen/0.2.88 \ + crate://crates.io/wasm-bindgen-backend/0.2.88 \ + crate://crates.io/wasm-bindgen-macro/0.2.88 \ + crate://crates.io/wasm-bindgen-macro-support/0.2.88 \ + crate://crates.io/wasm-bindgen-shared/0.2.88 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-core/0.51.1 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.52.0 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.52.0 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.52.0 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.52.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.52.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.52.0 \ +" + +SRC_URI[addr2line-0.21.0.sha256sum] = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" +SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +SRC_URI[anstream-0.6.4.sha256sum] = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +SRC_URI[anstyle-1.0.4.sha256sum] = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +SRC_URI[anstyle-parse-0.2.2.sha256sum] = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-3.0.1.sha256sum] = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +SRC_URI[anyhow-1.0.80.sha256sum] = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +SRC_URI[async-broadcast-0.7.0.sha256sum] = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb" +SRC_URI[async-trait-0.1.74.sha256sum] = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[backtrace-0.3.69.sha256sum] = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +SRC_URI[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +SRC_URI[bumpalo-3.14.0.sha256sum] = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +SRC_URI[bytes-1.5.0.sha256sum] = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[chrono-0.4.34.sha256sum] = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +SRC_URI[clap-4.4.10.sha256sum] = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272" +SRC_URI[clap_builder-4.4.9.sha256sum] = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1" +SRC_URI[clap_derive-4.4.7.sha256sum] = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +SRC_URI[clap_lex-0.6.0.sha256sum] = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[concurrent-queue-2.3.0.sha256sum] = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +SRC_URI[data-encoding-2.4.0.sha256sum] = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +SRC_URI[deranged-0.3.9.sha256sum] = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +SRC_URI[endian-type-0.1.2.sha256sum] = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" +SRC_URI[enum-as-inner-0.6.0.sha256sum] = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +SRC_URI[error-chain-0.12.4.sha256sum] = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +SRC_URI[event-listener-5.0.0.sha256sum] = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1" +SRC_URI[event-listener-strategy-0.5.0.sha256sum] = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +SRC_URI[form_urlencoded-1.2.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +SRC_URI[futures-channel-0.3.29.sha256sum] = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +SRC_URI[futures-core-0.3.30.sha256sum] = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +SRC_URI[futures-io-0.3.29.sha256sum] = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +SRC_URI[futures-sink-0.3.29.sha256sum] = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +SRC_URI[futures-task-0.3.30.sha256sum] = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +SRC_URI[futures-util-0.3.30.sha256sum] = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +SRC_URI[getrandom-0.2.11.sha256sum] = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +SRC_URI[gimli-0.28.0.sha256sum] = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.3.sha256sum] = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +SRC_URI[hickory-client-0.24.0.sha256sum] = "7f3e08124cf0ddda93b1186d4af73599de401f3b52f14cd9aaa719049379462e" +SRC_URI[hickory-proto-0.24.0.sha256sum] = "091a6fbccf4860009355e3efc52ff4acf37a63489aad7435372d44ceeb6fbbcf" +SRC_URI[hickory-server-0.24.0.sha256sum] = "4fbbb45bc4dcb456445732c705e3cfdc7393b8bcae5c36ecec36b9d76bd67cb5" +SRC_URI[hostname-0.3.1.sha256sum] = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +SRC_URI[iana-time-zone-0.1.58.sha256sum] = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +SRC_URI[ipnet-2.9.0.sha256sum] = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +SRC_URI[js-sys-0.3.65.sha256sum] = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +SRC_URI[libc-0.2.150.sha256sum] = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +SRC_URI[match_cfg-0.1.0.sha256sum] = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +SRC_URI[memchr-2.6.4.sha256sum] = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +SRC_URI[mio-0.8.9.sha256sum] = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +SRC_URI[nibble_vec-0.1.0.sha256sum] = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" +SRC_URI[nix-0.27.1.sha256sum] = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +SRC_URI[num-traits-0.2.17.sha256sum] = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +SRC_URI[num_threads-0.1.6.sha256sum] = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +SRC_URI[object-0.32.1.sha256sum] = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[parking-2.2.0.sha256sum] = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +SRC_URI[percent-encoding-2.3.0.sha256sum] = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +SRC_URI[pin-project-lite-0.2.13.sha256sum] = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +SRC_URI[proc-macro2-1.0.69.sha256sum] = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +SRC_URI[quick-error-1.2.3.sha256sum] = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +SRC_URI[radix_trie-0.2.1.sha256sum] = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[resolv-conf-0.7.0.sha256sum] = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +SRC_URI[rustc-demangle-0.1.23.sha256sum] = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +SRC_URI[serde-1.0.192.sha256sum] = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" +SRC_URI[serde_derive-1.0.192.sha256sum] = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" +SRC_URI[signal-hook-0.3.17.sha256sum] = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +SRC_URI[signal-hook-registry-1.4.1.sha256sum] = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +SRC_URI[smallvec-1.11.2.sha256sum] = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +SRC_URI[socket2-0.5.5.sha256sum] = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-2.0.39.sha256sum] = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +SRC_URI[syslog-6.1.0.sha256sum] = "7434e95bcccce1215d30f4bf84fe8c00e8de1b9be4fb736d747ca53d36e7f96f" +SRC_URI[thiserror-1.0.50.sha256sum] = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +SRC_URI[thiserror-impl-1.0.50.sha256sum] = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +SRC_URI[time-0.3.30.sha256sum] = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +SRC_URI[time-macros-0.2.15.sha256sum] = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +SRC_URI[tokio-1.36.0.sha256sum] = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +SRC_URI[tokio-macros-2.2.0.sha256sum] = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +SRC_URI[tokio-util-0.7.10.sha256sum] = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +SRC_URI[url-2.4.1.sha256sum] = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[wasm-bindgen-0.2.88.sha256sum] = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +SRC_URI[wasm-bindgen-backend-0.2.88.sha256sum] = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +SRC_URI[wasm-bindgen-macro-0.2.88.sha256sum] = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +SRC_URI[wasm-bindgen-macro-support-0.2.88.sha256sum] = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +SRC_URI[wasm-bindgen-shared-0.2.88.sha256sum] = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-core-0.51.1.sha256sum] = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" diff --git a/recipes-containers/aardvark-dns/aardvark-dns_1.10.0.bb b/recipes-containers/aardvark-dns/aardvark-dns_1.10.0.bb new file mode 100644 index 00000000..766cf97f --- /dev/null +++ b/recipes-containers/aardvark-dns/aardvark-dns_1.10.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "A container-focused DNS server" +HOMEPAGE = "https://github.com/containers/aardvark-dns" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRCREV = "526260a1bc99d823814afb134980c749c56dea47" + +# It is possible to fetch the source using the crate fetcher instead: +#SRC_URI = "crate://crates.io/${BPN}/${PV}" +SRC_URI = "git://github.com/containers/aardvark-dns;protocol=https;nobranch=1 \ + file://run-ptest" +require ${BPN}-crates.inc + +S = "${WORKDIR}/git" + +inherit cargo cargo-update-recipe-crates features_check ptest + +# Cargo installs the binary to bin so move it to where podman expects it +do_install:append() { + install -d ${D}${libexecdir} + mv ${D}${bindir} ${D}${libexecdir}/podman +} + +do_install_ptest() { + cp -r ${S}/test ${D}${PTEST_PATH} +} + +# rdepends on slirp4netns +REQUIRED_DISTRO_FEATURES ?= "seccomp" + +RDEPENDS:${PN}-ptest += " \ + bash \ + bats \ + bind-utils \ + coreutils \ + dbus-daemon-proxy \ + ipcalc \ + iproute2 \ + jq \ + slirp4netns \ + util-linux-unshare \ +" diff --git a/recipes-containers/aardvark-dns/files/run-ptest b/recipes-containers/aardvark-dns/files/run-ptest new file mode 100644 index 00000000..b33d8fd4 --- /dev/null +++ b/recipes-containers/aardvark-dns/files/run-ptest @@ -0,0 +1,3 @@ +#!/bin/bash + +NETAVARK=/usr/libexec/podman/netavark AARDVARK=/usr/libexec/podman/aardvark-dns bats ./test/ diff --git a/recipes-containers/buildah/buildah_git.bb b/recipes-containers/buildah/buildah_git.bb new file mode 100644 index 00000000..64ee4f7d --- /dev/null +++ b/recipes-containers/buildah/buildah_git.bb @@ -0,0 +1,66 @@ +HOMEPAGE = "https://buildah.io" +SUMMARY = "A tool that facilitates building OCI container images." +DESCRIPTION = "A tool that facilitates building OCI container images." + +# Apache-2.0 for containerd +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/github.com/containers/buildah/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +S = "${WORKDIR}/git" + +BUILDAH_VERSION = "1.34.1" + +PV = "${BUILDAH_VERSION}" + +inherit go +inherit goarch +inherit pkgconfig + +# Rdepends on podman which needs seccomp and ipv6 +inherit features_check +REQUIRED_DISTRO_FEATURES = "seccomp ipv6" + +COMPATIBLE_HOST = "^(?!mips).*" + +GO_IMPORT = "github.com/containers/buildah" +GO_INSTALL = "${GO_IMPORT}" +GO_WORKDIR = "${GO_INSTALL}" +GOBUILDFLAGS += "-mod vendor" + +SRCREV_FORMAT = "buildah_storage" +SRCREV_buildah = "dbeb097c6fbf4bfd643f096992da572a97a8ec12" +SRCREV_storage = "246ba3062e8b551026aef2708eee747014ce5c52" + +SRC_URI = " \ + git://github.com/containers/buildah;branch=release-1.34;name=buildah;protocol=https \ + " + +DEPENDS = "libdevmapper btrfs-tools gpgme" +RDEPENDS:${PN} = "cgroup-lite fuse-overlayfs libdevmapper podman" +RDEPENDS:${PN}-dev = "bash perl" + +do_compile:prepend() { + cd ${S}/src/github.com/containers/buildah +} + +go_do_compile() { + export TMPDIR="${GOTMPDIR}" + export AS='${CC} -c' + if [ -n "${GO_INSTALL}" ]; then + ${GO} install ${GOBUILDFLAGS} ./cmd/buildah + ${GO} install ${GOBUILDFLAGS} ./tests/imgtype/imgtype.go + ${GO} install ${GOBUILDFLAGS} ./tests/copy/copy.go + fi + + # x86 statically linked executable that we don't need + rm -f ${S}/src/github.com/containers/buildah/internal/mkcw/embed/entrypoint +} + +do_install:append() { + dest_dir=${D}/${sysconfdir}/containers + mkdir -p ${dest_dir} + install -m 666 ${S}/src/github.com/containers/buildah/docs/samples/registries.conf ${dest_dir}/buildah.registries.conf.sample + install -m 666 ${S}/src/github.com/containers/buildah/tests/policy.json ${dest_dir}/buildah.policy.json.sample +} + +INSANE_SKIP:${PN} = "already-stripped" diff --git a/recipes-containers/catatonit/catatonit_0.2.0.bb b/recipes-containers/catatonit/catatonit_0.2.0.bb new file mode 100644 index 00000000..13537a4a --- /dev/null +++ b/recipes-containers/catatonit/catatonit_0.2.0.bb @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: MIT + +SUMMARY = "A container init that is so simple it's effectively brain-dead." +HOMEPAGE = "https://github.com/openSUSE/catatonit" +DESCRIPTION = "${SUMMARY}" +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/openSUSE/${BPN};protocol=https;branch=main" +SRCREV = "7f0c9bb45d3490c3e7f579833c9b0689f78c8923" +S = "${WORKDIR}/git" + +inherit autotools diff --git a/recipes-containers/cgroup-lite/cgroup-lite_1.15.bb b/recipes-containers/cgroup-lite/cgroup-lite_1.15.bb index 45cc287c..23ecfa4a 100644 --- a/recipes-containers/cgroup-lite/cgroup-lite_1.15.bb +++ b/recipes-containers/cgroup-lite/cgroup-lite_1.15.bb @@ -2,7 +2,7 @@ SECTION = "devel" SUMMARY = "Light-weight package to set up cgroups at system boot." DESCRIPTION = "Light-weight package to set up cgroups at system boot." HOMEPAGE = "http://packages.ubuntu.com/source/artful/cgroup-lite" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://debian/copyright;md5=5d5da4e0867cf06014f87102154d0102" SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+files/cgroup-lite_1.15.tar.xz" SRC_URI += "file://cgroups-init" @@ -17,8 +17,8 @@ INITSCRIPT_PARAMS = "start 8 2 3 4 5 . stop 20 0 1 6 ." # Keeps the sysvinit scripts out of the image if building # where systemd is in use. SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "cgroups-init.service" -SYSTEMD_AUTO_ENABLE_${PN} = "mask" +SYSTEMD_SERVICE:${PN} = "cgroups-init.service" +SYSTEMD_AUTO_ENABLE:${PN} = "mask" do_install() { diff --git a/recipes-containers/conmon/conmon_git.bb b/recipes-containers/conmon/conmon_git.bb index 7c4edabf..d7047ed0 100644 --- a/recipes-containers/conmon/conmon_git.bb +++ b/recipes-containers/conmon/conmon_git.bb @@ -4,19 +4,24 @@ HOMEPAGE = "https://github.com/containers/conmon" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=61af0b6932ea7b12fb9142721043bc77" -DEPENDS = "glib-2.0 go-md2man-native" +inherit features_check +REQUIRED_DISTRO_FEATURES ?= "seccomp" -SRCREV = "3efab3e71c4c29f127cd7b8e8a5a885fc17dec88" +DEPENDS = "glib-2.0 go-md2man-native libseccomp" + +SRCREV = "affab49967eb62f75d2a47398344ab053326289f" SRC_URI = "\ - git://github.com/containers/conmon.git \ + git://github.com/containers/conmon.git;branch=main;protocol=https \ " -PV = "2.0.27+git${SRCPV}" +PV = "2.1.10+git" S = "${WORKDIR}/git" inherit pkgconfig +export GOCACHE = "${B}/.cache" + EXTRA_OEMAKE = "PREFIX=${prefix} BINDIR=${bindir} LIBEXECDIR=${libexecdir}" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" diff --git a/recipes-containers/container-host-config/container-host-config.bb b/recipes-containers/container-host-config/container-host-config.bb new file mode 100644 index 00000000..80abddf0 --- /dev/null +++ b/recipes-containers/container-host-config/container-host-config.bb @@ -0,0 +1,22 @@ +HOMEPAGE = "https://git.yoctoproject.org/meta-virtualization" +SUMMARY = "Configuration Package for container hosts" +DESCRIPTION = "Common / centralized configuration files for container hosts" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = " \ + file://storage.conf \ + file://registries.conf \ + file://policy.json \ +" + +do_install() { + install -d ${D}/${sysconfdir}/containers + + install ${WORKDIR}/storage.conf ${D}/${sysconfdir}/containers/storage.conf + install ${WORKDIR}/registries.conf ${D}/${sysconfdir}/containers/registries.conf + install ${WORKDIR}/policy.json ${D}/${sysconfdir}/containers/policy.json +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-containers/container-host-config/container-host-config/policy.json b/recipes-containers/container-host-config/container-host-config/policy.json new file mode 100755 index 00000000..bb26e57f --- /dev/null +++ b/recipes-containers/container-host-config/container-host-config/policy.json @@ -0,0 +1,7 @@ +{ + "default": [ + { + "type": "insecureAcceptAnything" + } + ] +} diff --git a/recipes-containers/skopeo/files/registries.conf b/recipes-containers/container-host-config/container-host-config/registries.conf index ba6c3f6e..ba6c3f6e 100644 --- a/recipes-containers/skopeo/files/registries.conf +++ b/recipes-containers/container-host-config/container-host-config/registries.conf diff --git a/recipes-containers/container-host-config/container-host-config/storage.conf b/recipes-containers/container-host-config/container-host-config/storage.conf new file mode 100644 index 00000000..cb4525f2 --- /dev/null +++ b/recipes-containers/container-host-config/container-host-config/storage.conf @@ -0,0 +1,243 @@ +# This file is the configuration file for all tools +# that use the containers/storage library. The storage.conf file +# overrides all other storage.conf files. Container engines using the +# container/storage library do not inherit fields from other storage.conf +# files. +# +# Note: The storage.conf file overrides other storage.conf files based on this precedence: +# /usr/containers/storage.conf +# /etc/containers/storage.conf +# $HOME/.config/containers/storage.conf +# $XDG_CONFIG_HOME/containers/storage.conf (If XDG_CONFIG_HOME is set) +# See man 5 containers-storage.conf for more information +# The "container storage" table contains all of the server options. +[storage] + +# Default Storage Driver, Must be set for proper operation. +driver = "overlay" + +# Temporary storage location +runroot = "/run/containers/storage" + +# Primary Read/Write location of container storage +# When changing the graphroot location on an SELINUX system, you must +# ensure the labeling matches the default locations labels with the +# following commands: +# semanage fcontext -a -e /var/lib/containers/storage /NEWSTORAGEPATH +# restorecon -R -v /NEWSTORAGEPATH +graphroot = "/var/lib/containers/storage" + +# Optional alternate location of image store if a location separate from the +# container store is required. If set, it must be different than graphroot. +# imagestore = "" + + +# Storage path for rootless users +# +# rootless_storage_path = "$HOME/.local/share/containers/storage" + +# Transient store mode makes all container metadata be saved in temporary storage +# (i.e. runroot above). This is faster, but doesn't persist across reboots. +# Additional garbage collection must also be performed at boot-time, so this +# option should remain disabled in most configurations. +# transient_store = true + +[storage.options] +# Storage options to be passed to underlying storage drivers + +# AdditionalImageStores is used to pass paths to additional Read/Only image stores +# Must be comma separated list. +additionalimagestores = [ +] + +# Allows specification of how storage is populated when pulling images. This +# option can speed the pulling process of images compressed with format +# zstd:chunked. Containers/storage looks for files within images that are being +# pulled from a container registry that were previously pulled to the host. It +# can copy or create a hard link to the existing file when it finds them, +# eliminating the need to pull them from the container registry. These options +# can deduplicate pulling of content, disk storage of content and can allow the +# kernel to use less memory when running containers. + +# containers/storage supports three keys +# * enable_partial_images="true" | "false" +# Tells containers/storage to look for files previously pulled in storage +# rather then always pulling them from the container registry. +# * use_hard_links = "false" | "true" +# Tells containers/storage to use hard links rather then create new files in +# the image, if an identical file already existed in storage. +# * ostree_repos = "" +# Tells containers/storage where an ostree repository exists that might have +# previously pulled content which can be used when attempting to avoid +# pulling content from the container registry +pull_options = {enable_partial_images = "false", use_hard_links = "false", ostree_repos=""} + +# Remap-UIDs/GIDs is the mapping from UIDs/GIDs as they should appear inside of +# a container, to the UIDs/GIDs as they should appear outside of the container, +# and the length of the range of UIDs/GIDs. Additional mapped sets can be +# listed and will be heeded by libraries, but there are limits to the number of +# mappings which the kernel will allow when you later attempt to run a +# container. +# +# remap-uids = "0:1668442479:65536" +# remap-gids = "0:1668442479:65536" + +# Remap-User/Group is a user name which can be used to look up one or more UID/GID +# ranges in the /etc/subuid or /etc/subgid file. Mappings are set up starting +# with an in-container ID of 0 and then a host-level ID taken from the lowest +# range that matches the specified name, and using the length of that range. +# Additional ranges are then assigned, using the ranges which specify the +# lowest host-level IDs first, to the lowest not-yet-mapped in-container ID, +# until all of the entries have been used for maps. This setting overrides the +# Remap-UIDs/GIDs setting. +# +# remap-user = "containers" +# remap-group = "containers" + +# Root-auto-userns-user is a user name which can be used to look up one or more UID/GID +# ranges in the /etc/subuid and /etc/subgid file. These ranges will be partitioned +# to containers configured to create automatically a user namespace. Containers +# configured to automatically create a user namespace can still overlap with containers +# having an explicit mapping set. +# This setting is ignored when running as rootless. +# root-auto-userns-user = "storage" +# +# Auto-userns-min-size is the minimum size for a user namespace created automatically. +# auto-userns-min-size=1024 +# +# Auto-userns-max-size is the maximum size for a user namespace created automatically. +# auto-userns-max-size=65536 + +[storage.options.overlay] +# ignore_chown_errors can be set to allow a non privileged user running with +# a single UID within a user namespace to run containers. The user can pull +# and use any image even those with multiple uids. Note multiple UIDs will be +# squashed down to the default uid in the container. These images will have no +# separation between the users in the container. Only supported for the overlay +# and vfs drivers. +#ignore_chown_errors = "false" + +# Inodes is used to set a maximum inodes of the container image. +# inodes = "" + +# Path to an helper program to use for mounting the file system instead of mounting it +# directly. +#mount_program = "/usr/bin/fuse-overlayfs" + +# mountopt specifies comma separated list of extra mount options +mountopt = "nodev" + +# Set to skip a PRIVATE bind mount on the storage home directory. +# skip_mount_home = "false" + +# Size is used to set a maximum size of the container image. +# size = "" + +# ForceMask specifies the permissions mask that is used for new files and +# directories. +# +# The values "shared" and "private" are accepted. +# Octal permission masks are also accepted. +# +# "": No value specified. +# All files/directories, get set with the permissions identified within the +# image. +# "private": it is equivalent to 0700. +# All files/directories get set with 0700 permissions. The owner has rwx +# access to the files. No other users on the system can access the files. +# This setting could be used with networked based homedirs. +# "shared": it is equivalent to 0755. +# The owner has rwx access to the files and everyone else can read, access +# and execute them. This setting is useful for sharing containers storage +# with other users. For instance have a storage owned by root but shared +# to rootless users as an additional store. +# NOTE: All files within the image are made readable and executable by any +# user on the system. Even /etc/shadow within your image is now readable by +# any user. +# +# OCTAL: Users can experiment with other OCTAL Permissions. +# +# Note: The force_mask Flag is an experimental feature, it could change in the +# future. When "force_mask" is set the original permission mask is stored in +# the "user.containers.override_stat" xattr and the "mount_program" option must +# be specified. Mount programs like "/usr/bin/fuse-overlayfs" present the +# extended attribute permissions to processes within containers rather than the +# "force_mask" permissions. +# +# force_mask = "" + +[storage.options.thinpool] +# Storage Options for thinpool + +# autoextend_percent determines the amount by which pool needs to be +# grown. This is specified in terms of % of pool size. So a value of 20 means +# that when threshold is hit, pool will be grown by 20% of existing +# pool size. +# autoextend_percent = "20" + +# autoextend_threshold determines the pool extension threshold in terms +# of percentage of pool size. For example, if threshold is 60, that means when +# pool is 60% full, threshold has been hit. +# autoextend_threshold = "80" + +# basesize specifies the size to use when creating the base device, which +# limits the size of images and containers. +# basesize = "10G" + +# blocksize specifies a custom blocksize to use for the thin pool. +# blocksize="64k" + +# directlvm_device specifies a custom block storage device to use for the +# thin pool. Required if you setup devicemapper. +# directlvm_device = "" + +# directlvm_device_force wipes device even if device already has a filesystem. +# directlvm_device_force = "True" + +# fs specifies the filesystem type to use for the base device. +# fs="xfs" + +# log_level sets the log level of devicemapper. +# 0: LogLevelSuppress 0 (Default) +# 2: LogLevelFatal +# 3: LogLevelErr +# 4: LogLevelWarn +# 5: LogLevelNotice +# 6: LogLevelInfo +# 7: LogLevelDebug +# log_level = "7" + +# min_free_space specifies the min free space percent in a thin pool require for +# new device creation to succeed. Valid values are from 0% - 99%. +# Value 0% disables +# min_free_space = "10%" + +# mkfsarg specifies extra mkfs arguments to be used when creating the base +# device. +# mkfsarg = "" + +# metadata_size is used to set the `pvcreate --metadatasize` options when +# creating thin devices. Default is 128k +# metadata_size = "" + +# Size is used to set a maximum size of the container image. +# size = "" + +# use_deferred_removal marks devicemapper block device for deferred removal. +# If the thinpool is in use when the driver attempts to remove it, the driver +# tells the kernel to remove it as soon as possible. Note this does not free +# up the disk space, use deferred deletion to fully remove the thinpool. +# use_deferred_removal = "True" + +# use_deferred_deletion marks thinpool device for deferred deletion. +# If the device is busy when the driver attempts to delete it, the driver +# will attempt to delete device every 30 seconds until successful. +# If the program using the driver exits, the driver will continue attempting +# to cleanup the next time the driver is used. Deferred deletion permanently +# deletes the device and all data stored in device will be lost. +# use_deferred_deletion = "True" + +# xfs_nospace_max_retries specifies the maximum number of retries XFS should +# attempt to complete IO when ENOSPC (no space) error is returned by +# underlying storage device. +# xfs_nospace_max_retries = "0" diff --git a/recipes-containers/containerd/containerd-opencontainers/0001-Add-build-option-GODEBUG-1.patch b/recipes-containers/containerd/containerd-opencontainers/0001-Add-build-option-GODEBUG-1.patch deleted file mode 100644 index 8b43c8a0..00000000 --- a/recipes-containers/containerd/containerd-opencontainers/0001-Add-build-option-GODEBUG-1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 84874e47aa2025b8e73df0286c44f3b8a1d9fdb2 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Mon, 2 Sep 2019 16:20:07 +0800 -Subject: [PATCH] Add build option "GODEBUG=1" - -Make will generate GDB friendly binary with this build option. - -Signed-off-by: Hui Zhu <teawater@hyper.sh> - -Upstream-Status: Backport [c5a0c7f491b435e4eb45972903b00e2d8ed46495] - -Partly backport and refresh to v1.2.7 -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - src/import/Makefile | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -Index: git/src/import/Makefile -=================================================================== ---- git.orig/src/import/Makefile 2020-10-12 08:09:41.638977052 -0700 -+++ git/src/import/Makefile 2020-10-12 08:10:49.783074373 -0700 -@@ -72,6 +72,10 @@ - COMMANDS=ctr containerd containerd-stress - MANPAGES=ctr.8 containerd.8 containerd-config.8 containerd-config.toml.5 - -+ifndef GODEBUG -+ EXTRA_LDFLAGS += -s -w -+endif -+ - ifdef BUILDTAGS - GO_BUILDTAGS = ${BUILDTAGS} - endif diff --git a/recipes-containers/containerd/containerd-opencontainers/0001-Makefile-allow-GO_BUILD_FLAGS-to-be-externally-speci.patch b/recipes-containers/containerd/containerd-opencontainers/0001-Makefile-allow-GO_BUILD_FLAGS-to-be-externally-speci.patch new file mode 100644 index 00000000..63498a86 --- /dev/null +++ b/recipes-containers/containerd/containerd-opencontainers/0001-Makefile-allow-GO_BUILD_FLAGS-to-be-externally-speci.patch @@ -0,0 +1,35 @@ +From 474b93f8f643651144304a6971ef476add7f06f8 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Tue, 25 May 2021 12:49:41 -0400 +Subject: [PATCH] Makefile: allow GO_BUILD_FLAGS to be externally specified + +Since our oe-core go infrastructure insists on both -pie and static +builds (for the most part), and that is not recommended by many +packages, we end up with errors like: + + cannot find package runtime/cgo (using -importcfg) + ... + recipe-sysroot-native/usr/lib/aarch64-poky-linux/go/pkg/tool/linux_amd64/link: + cannot open file : open : no such file or directory + +Upstream-Status: Inappropriate [specific to OE go configuration and build] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: containerd/Makefile +=================================================================== +--- containerd.orig/Makefile ++++ containerd/Makefile +@@ -129,7 +129,8 @@ + GOPATHS=$(shell $(GO) env GOPATH | tr ":" "\n" | tr ";" "\n") + + TESTFLAGS_RACE= +-GO_BUILD_FLAGS ?= ++# allow flags to be exported and picked up. ++# GO_BUILD_FLAGS ?= + # See Golang issue re: '-trimpath': https://github.com/golang/go/issues/13809 + GO_GCFLAGS=$(shell \ + set -- ${GOPATHS}; \ diff --git a/recipes-containers/containerd/containerd-opencontainers/0001-build-don-t-use-gcflags-to-define-trimpath.patch b/recipes-containers/containerd/containerd-opencontainers/0001-build-don-t-use-gcflags-to-define-trimpath.patch new file mode 100644 index 00000000..62580c6c --- /dev/null +++ b/recipes-containers/containerd/containerd-opencontainers/0001-build-don-t-use-gcflags-to-define-trimpath.patch @@ -0,0 +1,32 @@ +From 9174091fa1624dbb09ce812792a4102dff693541 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Mon, 12 Sep 2022 15:40:08 -0400 +Subject: [PATCH] build: don't use gcflags to define trimpath + +We can pass trimpath in via environment variables. The gcflags +definition of trimpath is for older go versions and is using the +complete path for trimming. If the variable is captured in the +resulting binary, we have a reproducibility and QA issue. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git git.orig/Makefile git.orig/Makefile +index 4a6c13042..debb57925 100644 +--- git.orig/Makefile ++++ git.orig/Makefile +@@ -130,7 +130,6 @@ TESTFLAGS_RACE= + # See Golang issue re: '-trimpath': https://github.com/golang/go/issues/13809 + GO_GCFLAGS=$(shell \ + set -- ${GOPATHS}; \ +- echo "-gcflags=-trimpath=$${1}/src"; \ + ) + + BINARIES=$(addprefix bin/,$(COMMANDS)) +-- +2.19.1 + diff --git a/recipes-containers/containerd/containerd-opencontainers_git.bb b/recipes-containers/containerd/containerd-opencontainers_git.bb index 2674a17e..10d1ce8b 100644 --- a/recipes-containers/containerd/containerd-opencontainers_git.bb +++ b/recipes-containers/containerd/containerd-opencontainers_git.bb @@ -1,30 +1,31 @@ -HOMEPAGE = "https://github.com/docker/containerd" +HOMEPAGE = "https://github.com/containerd/containerd" SUMMARY = "containerd is a daemon to control runC" DESCRIPTION = "containerd is a daemon to control runC, built for performance and density. \ containerd leverages runC's advanced features such as seccomp and user namespace \ support as well as checkpoint and restore for cloning and live migration of containers." -SRCREV = "32005190c04eb635cdd0de7c9245dd043168ec9e" -SRC_URI = "git://github.com/containerd/containerd;branch=master \ - file://0001-build-use-oe-provided-GO-and-flags.patch \ - file://0001-Add-build-option-GODEBUG-1.patch \ +SRCREV = "b1624c3628954e769dd50783b63823040b2db38c" +SRC_URI = "git://github.com/containerd/containerd;branch=main;protocol=https;destsuffix=git/src/github.com/containerd/containerd \ + file://0001-Makefile-allow-GO_BUILD_FLAGS-to-be-externally-speci.patch \ + file://0001-build-don-t-use-gcflags-to-define-trimpath.patch \ " # Apache-2.0 for containerd LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=1269f40c0d099c21a871163984590d89" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1269f40c0d099c21a871163984590d89" -CONTAINERD_VERSION = "v1.5.0-rc" +CONTAINERD_VERSION = "v2.0.0-beta.0" +CVE_VERSION = "v2.0.0-beta.0" -EXTRA_OEMAKE += "GODEBUG=1" +# EXTRA_OEMAKE += "GODEBUG=1" PROVIDES += "virtual/containerd" -RPROVIDES_${PN} = "virtual/containerd" +RPROVIDES:${PN} = "virtual-containerd" -S = "${WORKDIR}/git" +S = "${WORKDIR}/git/src/github.com/containerd/containerd" -PV = "${CONTAINERD_VERSION}+git${SRCPV}" +PV = "${CONTAINERD_VERSION}+git" inherit go inherit goarch @@ -33,40 +34,14 @@ GO_IMPORT = "import" CONTAINERD_PKG="github.com/containerd/containerd" -INSANE_SKIP_${PN} += "ldflags" +INSANE_SKIP:${PN} += "ldflags" do_configure[noexec] = "1" do_compile() { export GOARCH="${TARGET_GOARCH}" - # link fixups for compilation - rm -f ${S}/src/import/vendor/src - ln -sf ./ ${S}/src/import/vendor/src - - mkdir -p ${S}/src/import/vendor/src/github.com/containerd/containerd/ - mkdir -p ${S}/src/import/vendor/src/github.com/containerd/containerd/pkg/ - mkdir -p ${S}/src/import/vendor/src/github.com/containerd/containerd/contrib/ - # without this, the stress test parts of the build fail - cp ${S}/src/import/*.go ${S}/src/import/vendor/src/github.com/containerd/containerd - - for c in content timeout ttrpcutil oom stdio process errdefs fs images mount snapshots linux api runtimes defaults progress \ - protobuf reference diff platforms runtime remotes version archive dialer gc metadata \ - metrics filters identifiers labels leases plugin server services \ - cmd cio containers namespaces oci events log reaper sys rootfs nvidia seed apparmor seccomp \ - cap cri userns atomic ioutil os registrar seutil runtimeoptions netns; do - if [ -d ${S}/src/import/${c} ]; then - ln -sfn ${S}/src/import/${c} ${S}/src/import/vendor/github.com/containerd/containerd/${c} - fi - if [ -d ${S}/src/import/pkg/${c} ]; then - ln -sfn ${S}/src/import/pkg/${c} ${S}/src/import/vendor/github.com/containerd/containerd/pkg/${c} - fi - if [ -d ${S}/src/import/contrib/${c} ]; then - ln -sfn ${S}/src/import/contrib/${c} ${S}/src/import/vendor/github.com/containerd/containerd/contrib/${c} - fi - done - - export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go" + export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${WORKDIR}/git/" export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go" # Pass the needed cflags/ldflags so that cgo @@ -78,45 +53,48 @@ do_compile() { export CFLAGS="${CFLAGS}" export LDFLAGS="${LDFLAGS}" export SHIM_CGO_ENABLED="${CGO_ENABLED}" + # fixes: + # cannot find package runtime/cgo (using -importcfg) + # ... recipe-sysroot-native/usr/lib/aarch64-poky-linux/go/pkg/tool/linux_amd64/link: + # cannot open file : open : no such file or directory + export GO_BUILD_FLAGS="-trimpath -a -pkgdir dontusecurrentpkgs" export GO111MODULE=off - cd ${S}/src/import + cd ${S} + oe_runmake binaries } inherit systemd SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}" -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','containerd.service','',d)}" +SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','containerd.service','',d)}" do_install() { mkdir -p ${D}/${bindir} - cp ${S}/src/import/bin/containerd ${D}/${bindir}/containerd - cp ${S}/src/import/bin/containerd-shim ${D}/${bindir}/containerd-shim - cp ${S}/src/import/bin/containerd-shim-runc-v1 ${D}/${bindir}/containerd-shim-runc-v1 - cp ${S}/src/import/bin/containerd-shim-runc-v2 ${D}/${bindir}/containerd-shim-runc-v2 - cp ${S}/src/import/bin/ctr ${D}/${bindir}/containerd-ctr + cp ${S}/bin/containerd ${D}/${bindir}/containerd + cp ${S}/bin/containerd-shim-runc-v2 ${D}/${bindir}/containerd-shim-runc-v2 + cp ${S}/bin/ctr ${D}/${bindir}/containerd-ctr ln -sf containerd ${D}/${bindir}/docker-containerd - ln -sf containerd-shim ${D}/${bindir}/docker-containerd-shim ln -sf containerd-ctr ${D}/${bindir}/docker-containerd-ctr ln -sf containerd-ctr ${D}/${bindir}/ctr if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then install -d ${D}${systemd_unitdir}/system - install -m 644 ${S}/src/import/containerd.service ${D}/${systemd_unitdir}/system + install -m 644 ${S}/containerd.service ${D}/${systemd_unitdir}/system # adjust from /usr/local/bin to /usr/bin/ sed -e "s:/usr/local/bin/containerd:${bindir}/containerd:g" -i ${D}/${systemd_unitdir}/system/containerd.service fi } -FILES_${PN} += "${systemd_system_unitdir}/*" +FILES:${PN} += "${systemd_system_unitdir}/*" -INSANE_SKIP_${PN} += "ldflags already-stripped" +INSANE_SKIP:${PN} += "ldflags already-stripped" COMPATIBLE_HOST = "^(?!(qemu)?mips).*" -RDEPENDS_${BPN} += " virtual/runc" +RDEPENDS:${PN} += " ${VIRTUAL-RUNTIME_container_runtime}" CVE_PRODUCT = "containerd" diff --git a/recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch b/recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch index 544881ef..20647c01 100644 --- a/recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch +++ b/recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch @@ -7,15 +7,17 @@ We want to use the go compiler as defined in the oe-enviroment, not the generic call to 'go'. Without changing this, we'll get things like cgo errors and invalid flag combos. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -Index: git/src/import/Makefile +Index: git/Makefile =================================================================== ---- git.orig/src/import/Makefile -+++ git/src/import/Makefile +--- git.orig/Makefile ++++ git/Makefile @@ -121,7 +121,7 @@ TESTFLAGS_PARALLEL ?= 8 diff --git a/recipes-containers/cri-o/cri-o_git.bb b/recipes-containers/cri-o/cri-o_git.bb index 527bc722..4e17a7cd 100644 --- a/recipes-containers/cri-o/cri-o_git.bb +++ b/recipes-containers/cri-o/cri-o_git.bb @@ -14,10 +14,9 @@ At a high level, we expect the scope of cri-o to be restricted to the following - Resource isolation as required by the CRI \ " -SRCREV_cri-o = "bc1ef35a932acc2f6f3b6d3eb19a4f68aa9423f6" +SRCREV_cri-o = "5aff11c7c1afdc785adafd7da3c3f2a6ac51b88d" SRC_URI = "\ - git://github.com/kubernetes-sigs/cri-o.git;branch=release-1.21;name=cri-o \ - file://0001-Makefile-force-symlinks.patch \ + git://github.com/kubernetes-sigs/cri-o.git;branch=release-1.30;name=cri-o;protocol=https \ file://crio.conf \ " @@ -27,7 +26,10 @@ LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c2 GO_IMPORT = "import" -PV = "1.21.0+git${SRCREV_cri-o}" +PV = "1.30.0+git${SRCREV_cri-o}" + +inherit features_check +REQUIRED_DISTRO_FEATURES ?= "seccomp" DEPENDS = " \ glib-2.0 \ @@ -36,24 +38,25 @@ DEPENDS = " \ ostree \ libdevmapper \ libseccomp \ - libselinux \ " -RDEPENDS_${PN} = " \ +RDEPENDS:${PN} = " \ cni \ libdevmapper \ " -PNBLACKLIST[cri-o] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'security', bb.utils.contains('BBFILE_COLLECTIONS', 'selinux', '', 'Depends on libselinux from meta-selinux which is not included', d), 'Depends on libseccomp from meta-security which is not included', d)}" +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" +PACKAGECONFIG[selinux] = ",,libselinux" PACKAGES =+ "${PN}-config" -RDEPENDS_${PN} += " virtual/containerd virtual/runc" -RDEPENDS_${PN} += " e2fsprogs-mke2fs conmon util-linux iptables conntrack-tools" +RDEPENDS:${PN} += " ${VIRTUAL-RUNTIME_container_runtime}" +RDEPENDS:${PN} += " e2fsprogs-mke2fs conmon util-linux iptables conntrack-tools" inherit systemd inherit go inherit goarch inherit pkgconfig +inherit container-host EXTRA_OEMAKE="BUILDTAGS=''" @@ -67,8 +70,8 @@ do_compile() { } SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}" -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','crio.service','',d)}" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','crio.service','',d)}" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" do_install() { set +e @@ -93,17 +96,19 @@ do_install() { install -m 0644 ${S}/src/import/contrib/systemd/crio.service ${D}${systemd_unitdir}/system/ install -m 0644 ${S}/src/import/contrib/systemd/crio-shutdown.service ${D}${systemd_unitdir}/system/ install -m 0644 ${S}/src/import/contrib/systemd/crio-wipe.service ${D}${systemd_unitdir}/system/ + + install -d ${D}${localstatedir}/lib/crio } -FILES_${PN}-config = "${sysconfdir}/crio/config/*" -FILES_${PN} += "${systemd_unitdir}/system/*" -FILES_${PN} += "/usr/local/bin/*" -FILES_${PN} += "/usr/share/containers/oci/hooks.d" +FILES:${PN}-config = "${sysconfdir}/crio/config/*" +FILES:${PN} += "${systemd_unitdir}/system/*" +FILES:${PN} += "/usr/local/bin/*" +FILES:${PN} += "/usr/share/containers/oci/hooks.d" # don't clobber hooks.d -ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY:${PN} = "1" -INSANE_SKIP_${PN} += "ldflags already-stripped" +INSANE_SKIP:${PN} += "ldflags already-stripped textrel" deltask compile_ptest_base diff --git a/recipes-containers/cri-o/files/0001-Makefile-force-symlinks.patch b/recipes-containers/cri-o/files/0001-Makefile-force-symlinks.patch deleted file mode 100644 index 0b106e41..00000000 --- a/recipes-containers/cri-o/files/0001-Makefile-force-symlinks.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 53371afbf0f20a1651ee6f2406cd2be056a31066 Mon Sep 17 00:00:00 2001 -From: Bruce Ashfield <bruce.ashfield@windriver.com> -Date: Thu, 1 Nov 2018 11:17:05 -0400 -Subject: [PATCH] Makefile: force symlinks - -Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/import/Makefile b/src/import/Makefile -index cf37bec..68c8eeb 100644 ---- a/src/import/Makefile -+++ b/src/import/Makefile -@@ -66,7 +66,7 @@ help: - .gopathok: - ifeq ("$(wildcard $(GOPKGDIR))","") - mkdir -p "$(GOPKGBASEDIR)" -- ln -s "$(CURDIR)" "$(GOPKGDIR)" -+ ln -sf "$(CURDIR)" "$(GOPKGDIR)" - endif - touch "$(GOPATH)/.gopathok" - --- -2.7.4 - diff --git a/recipes-containers/cri-o/files/Makefile-skip-install-when-generating-the-config.h.patch b/recipes-containers/cri-o/files/Makefile-skip-install-when-generating-the-config.h.patch deleted file mode 100644 index 24c7e9d7..00000000 --- a/recipes-containers/cri-o/files/Makefile-skip-install-when-generating-the-config.h.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 3822e834d2dbd87a4dc8cdd36e7fe3b0e9020c4f Mon Sep 17 00:00:00 2001 -From: Mark Asselstine <mark.asselstine@windriver.com> -Date: Tue, 9 Apr 2019 13:52:59 -0400 -Subject: [PATCH] Makefile: skip install when generating the config.h - -When running 'go build' "The -i flag installs the packages that are -dependencies of the target." The Makefile makes use of this since many -of the dependencies needed to complete this rule will be used to by -other rules in the Makefile, thus speeding the overall build time -(avoiding redoing work). - -In our case the crio-config tool and its dependencies are not being -cross-compiled as they have to run locally to produce the -conmon/config.h file and thus installing them is not useful. In this -case there are no savings and can actually result in errors during the -build or if the build ARCH and target ARCH are the same, a potential -for host contamination. - -So we drop the use of '-i'. - -Upstream-Status: Inappropriate [cross compile issue] - -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/import/Makefile b/src/import/Makefile -index b9fa97f..8336a5b 100644 ---- a/src/import/Makefile -+++ b/src/import/Makefile -@@ -109,7 +109,7 @@ release-note: - @$(GOPATH)/bin/release-tool -n $(release) - - conmon/config.h: cmd/crio-config/config.go oci/oci.go -- $(GO) build -i $(LDFLAGS) -o bin/crio-config $(PROJECT)/cmd/crio-config -+ $(GO) build $(LDFLAGS) -o bin/crio-config $(PROJECT)/cmd/crio-config - ( cd conmon && $(CURDIR)/bin/crio-config ) - - clean: --- -2.7.4 - diff --git a/recipes-containers/cri-o/files/crio.conf b/recipes-containers/cri-o/files/crio.conf index 899d255b..84472d88 100644 --- a/recipes-containers/cri-o/files/crio.conf +++ b/recipes-containers/cri-o/files/crio.conf @@ -1,146 +1,573 @@ # generated via: crio --config="" config --default -# The "crio" table contains all of the server options. +# The CRI-O configuration file specifies all of the available configuration +# options and command-line flags for the crio(8) OCI Kubernetes Container Runtime +# daemon, but in a TOML format that can be more easily modified and versioned. +# +# Please refer to crio.conf(5) for details of all configuration options. + +# CRI-O supports partial configuration reload during runtime, which can be +# done by sending SIGHUP to the running process. Currently supported options +# are explicitly mentioned with: 'This option supports live configuration +# reload'. + +# CRI-O reads its storage defaults from the containers-storage.conf(5) file +# located at /etc/containers/storage.conf. Modify this storage configuration if +# you want to change the system's defaults. If you want to modify storage just +# for CRI-O, you can change the storage configuration options here. [crio] -# root is a path to the "root directory". CRIO stores all of its data, -# including container images, in this directory. +# Path to the "root directory". CRI-O stores all of its data, including +# containers images, in this directory. root = "/var/lib/containers/storage" -# run is a path to the "run directory". CRIO stores all of its state -# in this directory. -runroot = "/var/run/containers/storage" +# Path to the "run directory". CRI-O stores all of its state in this directory. +runroot = "/run/containers/storage" -# storage_driver select which storage driver is used to manage storage -# of images and containers. +# Storage driver used to manage the storage of images and containers. Please +# refer to containers-storage.conf(5) to see all available storage drivers. storage_driver = "" -# storage_option is used to pass an option to the storage driver. +# List to pass options to the storage driver. Please refer to +# containers-storage.conf(5) to see all available storage options. storage_option = [ ] -# The "crio.api" table contains settings for the kubelet/gRPC -# interface (which is also used by crioctl). +# The default log directory where all logs will go unless directly specified by +# the kubelet. The log directory specified must be an absolute directory. +log_dir = "/var/log/crio/pods" + +# Location for CRI-O to lay down the temporary version file. +# It is used to check if crio wipe should wipe containers, which should +# always happen on a node reboot +version_file = "/var/run/crio/version" + +# Location for CRI-O to lay down the persistent version file. +# It is used to check if crio wipe should wipe images, which should +# only happen when CRI-O has been upgraded +version_file_persist = "" + +# InternalWipe is whether CRI-O should wipe containers and images after a reboot when the server starts. +# If set to false, one must use the external command 'crio wipe' to wipe the containers and images in these situations. +internal_wipe = true + +# Location for CRI-O to lay down the clean shutdown file. +# It is used to check whether crio had time to sync before shutting down. +# If not found, crio wipe will clear the storage directory. +clean_shutdown_file = "/var/lib/crio/clean.shutdown" + +# The crio.api table contains settings for the kubelet/gRPC interface. [crio.api] -# listen is the path to the AF_LOCAL socket on which crio will listen. +# Path to AF_LOCAL socket on which CRI-O will listen. listen = "/var/run/crio/crio.sock" -# stream_address is the IP address on which the stream server will listen -stream_address = "" +# IP address on which the stream server will listen. +stream_address = "127.0.0.1" + +# The port on which the stream server will listen. If the port is set to "0", then +# CRI-O will allocate a random free port number. +stream_port = "0" + +# Enable encrypted TLS transport of the stream server. +stream_enable_tls = false + +# Length of time until open streams terminate due to lack of activity +stream_idle_timeout = "" -# stream_port is the port on which the stream server will listen -stream_port = "10010" +# Path to the x509 certificate file used to serve the encrypted stream. This +# file can change, and CRI-O will automatically pick up the changes within 5 +# minutes. +stream_tls_cert = "" -# file_locking is whether file-based locking will be used instead of -# in-memory locking -file_locking = true +# Path to the key file used to serve the encrypted stream. This file can +# change and CRI-O will automatically pick up the changes within 5 minutes. +stream_tls_key = "" -# The "crio.runtime" table contains settings pertaining to the OCI -# runtime used and options for how to set up and manage the OCI runtime. +# Path to the x509 CA(s) file used to verify and authenticate client +# communication with the encrypted stream. This file can change and CRI-O will +# automatically pick up the changes within 5 minutes. +stream_tls_ca = "" + +# Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024. +grpc_max_send_msg_size = 83886080 + +# Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024. +grpc_max_recv_msg_size = 83886080 + +# The crio.runtime table contains settings pertaining to the OCI runtime used +# and options for how to set up and manage the OCI runtime. [crio.runtime] -# runtime is the OCI compatible runtime used for trusted container workloads. -# This is a mandatory setting as this runtime will be the default one -# and will also be used for untrusted container workloads if -# runtime_untrusted_workload is not set. -runtime = "/usr/bin/runc" - -# runtime_untrusted_workload is the OCI compatible runtime used for untrusted -# container workloads. This is an optional setting, except if -# default_container_trust is set to "untrusted". -runtime_untrusted_workload = "" - -# default_workload_trust is the default level of trust crio puts in container -# workloads. It can either be "trusted" or "untrusted", and the default -# is "trusted". -# Containers can be run through different container runtimes, depending on -# the trust hints we receive from kubelet: -# - If kubelet tags a container workload as untrusted, crio will try first to -# run it through the untrusted container workload runtime. If it is not set, -# crio will use the trusted runtime. -# - If kubelet does not provide any information about the container workload trust -# level, the selected runtime will depend on the default_container_trust setting. -# If it is set to "untrusted", then all containers except for the host privileged -# ones, will be run by the runtime_untrusted_workload runtime. Host privileged -# containers are by definition trusted and will always use the trusted container -# runtime. If default_container_trust is set to "trusted", crio will use the trusted -# container runtime for all containers. -default_workload_trust = "trusted" - -# conmon is the path to conmon binary, used for managing the runtime. -conmon = "/usr/bin/conmon" - -# conmon_env is the environment variable list for conmon process, -# used for passing necessary environment variable to conmon or runtime. +# A list of ulimits to be set in containers by default, specified as +# "<ulimit name>=<soft limit>:<hard limit>", for example: +# "nofile=1024:2048" +# If nothing is set here, settings will be inherited from the CRI-O daemon +default_ulimits = [ +] + +# If true, the runtime will not use pivot_root, but instead use MS_MOVE. +no_pivot = false + +# decryption_keys_path is the path where the keys required for +# image decryption are stored. This option supports live configuration reload. +decryption_keys_path = "/etc/crio/keys/" + +# Path to the conmon binary, used for monitoring the OCI runtime. +# Will be searched for using $PATH if empty. +# This option is currently deprecated, and will be replaced with RuntimeHandler.MonitorEnv. +conmon = "" + +# Cgroup setting for conmon +# This option is currently deprecated, and will be replaced with RuntimeHandler.MonitorCgroup. +conmon_cgroup = "" + +# Environment variable list for the conmon process, used for passing necessary +# environment variables to conmon or the runtime. +# This option is currently deprecated, and will be replaced with RuntimeHandler.MonitorEnv. conmon_env = [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", ] -# selinux indicates whether or not SELinux will be used for pod -# separation on the host. If you enable this flag, SELinux must be running -# on the host. -selinux = false +# Additional environment variables to set for all the +# containers. These are overridden if set in the +# container image spec or in the container runtime configuration. +default_env = [ +] -# seccomp_profile is the seccomp json profile path which is used as the -# default for the runtime. -seccomp_profile = "/etc/crio/seccomp.json" +# If true, SELinux will be used for pod separation on the host. +selinux = false -# apparmor_profile is the apparmor profile name which is used as the -# default for the runtime. +# Path to the seccomp.json profile which is used as the default seccomp profile +# for the runtime. If not specified, then the internal default seccomp profile +# will be used. This option supports live configuration reload. +seccomp_profile = "" + +# Changes the meaning of an empty seccomp profile. By default +# (and according to CRI spec), an empty profile means unconfined. +# This option tells CRI-O to treat an empty profile as the default profile, +# which might increase security. +seccomp_use_default_when_empty = true + +# Used to change the name of the default AppArmor profile of CRI-O. The default +# profile name is "crio-default". This profile only takes effect if the user +# does not specify a profile via the Kubernetes Pod's metadata annotation. If +# the profile is set to "unconfined", then this equals to disabling AppArmor. +# This option supports live configuration reload. apparmor_profile = "crio-default" -# cgroup_manager is the cgroup management implementation to be used -# for the runtime. -cgroup_manager = "cgroupfs" +# Path to the blockio class configuration file for configuring +# the cgroup blockio controller. +blockio_config_file = "" + +# Used to change irqbalance service config file path which is used for configuring +# irqbalance daemon. +irqbalance_config_file = "/etc/sysconfig/irqbalance" + +# Path to the RDT configuration file for configuring the resctrl pseudo-filesystem. +# This option supports live configuration reload. +rdt_config_file = "" + +# Cgroup management implementation used for the runtime. +cgroup_manager = "systemd" + +# Specify whether the image pull must be performed in a separate cgroup. +separate_pull_cgroup = "" + +# List of default capabilities for containers. If it is empty or commented out, +# only the capabilities defined in the containers json file by the user/kube +# will be added. +default_capabilities = [ + "CHOWN", + "DAC_OVERRIDE", + "FSETID", + "FOWNER", + "SETGID", + "SETUID", + "SETPCAP", + "NET_BIND_SERVICE", + "KILL", +] -# hooks_dir_path is the oci hooks directory for automatically executed hooks -hooks_dir_path = "/usr/share/containers/oci/hooks.d" +# List of default sysctls. If it is empty or commented out, only the sysctls +# defined in the container json file by the user/kube will be added. +default_sysctls = [ +] -# pids_limit is the number of processes allowed in a container -pids_limit = 1024 +# List of devices on the host that a +# user can specify with the "io.kubernetes.cri-o.Devices" allowed annotation. +allowed_devices = [ + "/dev/fuse", +] + +# List of additional devices. specified as +# "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm". +# If it is empty or commented out, only the devices +# defined in the container json file by the user/kube will be added. +additional_devices = [ +] -# The "crio.image" table contains settings pertaining to the -# management of OCI images. +# List of directories to scan for CDI Spec files. +cdi_spec_dirs = [ + "/etc/cdi", + "/var/run/cdi", +] + +# Change the default behavior of setting container devices uid/gid from CRI's +# SecurityContext (RunAsUser/RunAsGroup) instead of taking host's uid/gid. +# Defaults to false. +device_ownership_from_security_context = false + +# Path to OCI hooks directories for automatically executed hooks. If one of the +# directories does not exist, then CRI-O will automatically skip them. +hooks_dir = [ + "/usr/share/containers/oci/hooks.d", +] + +# Path to the file specifying the defaults mounts for each container. The +# format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads +# its default mounts from the following two files: +# +# 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the +# override file, where users can either add in their own default mounts, or +# override the default mounts shipped with the package. +# +# 2) /usr/share/containers/mounts.conf: This is the default file read for +# mounts. If you want CRI-O to read from a different, specific mounts file, +# you can change the default_mounts_file. Note, if this is done, CRI-O will +# only add mounts it finds in this file. +# +default_mounts_file = "" + +# Maximum number of processes allowed in a container. +# This option is deprecated. The Kubelet flag '--pod-pids-limit' should be used instead. +pids_limit = 0 + +# Maximum sized allowed for the container log file. Negative numbers indicate +# that no size limit is imposed. If it is positive, it must be >= 8192 to +# match/exceed conmon's read buffer. The file is truncated and re-opened so the +# limit is never exceeded. This option is deprecated. The Kubelet flag '--container-log-max-size' should be used instead. +log_size_max = -1 + +# Whether container output should be logged to journald in addition to the kuberentes log file +log_to_journald = false + +# Path to directory in which container exit files are written to by conmon. +container_exits_dir = "/var/run/crio/exits" + +# Path to directory for container attach sockets. +container_attach_socket_dir = "/var/run/crio" + +# The prefix to use for the source of the bind mounts. +bind_mount_prefix = "" + +# If set to true, all containers will run in read-only mode. +read_only = false + +# Changes the verbosity of the logs based on the level it is set to. Options +# are fatal, panic, error, warn, info, debug and trace. This option supports +# live configuration reload. +log_level = "info" + +# Filter the log messages by the provided regular expression. +# This option supports live configuration reload. +log_filter = "" + +# The UID mappings for the user namespace of each container. A range is +# specified in the form containerUID:HostUID:Size. Multiple ranges must be +# separated by comma. +uid_mappings = "" + +# The GID mappings for the user namespace of each container. A range is +# specified in the form containerGID:HostGID:Size. Multiple ranges must be +# separated by comma. +gid_mappings = "" + +# If set, CRI-O will reject any attempt to map host UIDs below this value +# into user namespaces. A negative value indicates that no minimum is set, +# so specifying mappings will only be allowed for pods that run as UID 0. +minimum_mappable_uid = -1 + +# If set, CRI-O will reject any attempt to map host GIDs below this value +# into user namespaces. A negative value indicates that no minimum is set, +# so specifying mappings will only be allowed for pods that run as UID 0. +minimum_mappable_gid = -1 + +# The minimal amount of time in seconds to wait before issuing a timeout +# regarding the proper termination of the container. The lowest possible +# value is 30s, whereas lower values are not considered by CRI-O. +ctr_stop_timeout = 30 + +# drop_infra_ctr determines whether CRI-O drops the infra container +# when a pod does not have a private PID namespace, and does not use +# a kernel separating runtime (like kata). +# It requires manage_ns_lifecycle to be true. +drop_infra_ctr = true + +# infra_ctr_cpuset determines what CPUs will be used to run infra containers. +# You can use linux CPU list format to specify desired CPUs. +# To get better isolation for guaranteed pods, set this parameter to be equal to kubelet reserved-cpus. +infra_ctr_cpuset = "" + +# The directory where the state of the managed namespaces gets tracked. +# Only used when manage_ns_lifecycle is true. +namespaces_dir = "/var/run" + +# pinns_path is the path to find the pinns binary, which is needed to manage namespace lifecycle +pinns_path = "" + +# default_runtime is the _name_ of the OCI runtime to be used as the default. +# The name is matched against the runtimes map below. If this value is changed, +# the corresponding existing entry from the runtimes map below will be ignored. +default_runtime = "runc" + +# A list of paths that, when absent from the host, +# will cause a container creation to fail (as opposed to the current behavior being created as a directory). +# This option is to protect from source locations whose existence as a directory could jepordize the health of the node, and whose +# creation as a file is not desired either. +# An example is /etc/hostname, which will cause failures on reboot if it's created as a directory, but often doesn't exist because +# the hostname is being managed dynamically. +absent_mount_sources_to_reject = [ +] + +# The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes. +# The runtime to use is picked based on the runtime handler provided by the CRI. +# If no runtime handler is provided, the runtime will be picked based on the level +# of trust of the workload. Each entry in the table should follow the format: +# +#[crio.runtime.runtimes.runtime-handler] +# runtime_path = "/path/to/the/executable" +# runtime_type = "oci" +# runtime_root = "/path/to/the/root" +# privileged_without_host_devices = false +# allowed_annotations = [] +# Where: +# - runtime-handler: name used to identify the runtime +# - runtime_path (optional, string): absolute path to the runtime executable in +# the host filesystem. If omitted, the runtime-handler identifier should match +# the runtime executable name, and the runtime executable should be placed +# in $PATH. +# - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If +# omitted, an "oci" runtime is assumed. +# - runtime_root (optional, string): root directory for storage of containers +# state. +# - runtime_config_path (optional, string): the path for the runtime configuration +# file. This can only be used with when using the VM runtime_type. +# - privileged_without_host_devices (optional, bool): an option for restricting +# host devices from being passed to privileged containers. +# - allowed_annotations (optional, array of strings): an option for specifying +# a list of experimental annotations that this runtime handler is allowed to process. +# The currently recognized values are: +# "io.kubernetes.cri-o.userns-mode" for configuring a user namespace for the pod. +# "io.kubernetes.cri-o.cgroup2-mount-hierarchy-rw" for mounting cgroups writably when set to "true". +# "io.kubernetes.cri-o.Devices" for configuring devices for the pod. +# "io.kubernetes.cri-o.ShmSize" for configuring the size of /dev/shm. +# "io.kubernetes.cri-o.UnifiedCgroup.$CTR_NAME" for configuring the cgroup v2 unified block for a container. +# "io.containers.trace-syscall" for tracing syscalls via the OCI seccomp BPF hook. +# "io.kubernetes.cri.rdt-class" for setting the RDT class of a container +# - monitor_exec_cgroup (optional, string): if set to "container", indicates exec probes +# should be moved to the container's cgroup + + +[crio.runtime.runtimes.runc] +runtime_path = "" +runtime_type = "oci" +runtime_root = "/run/runc" +runtime_config_path = "" + + +allowed_annotations = [ + "io.containers.trace-syscall", +] + +monitor_path = "" + +monitor_env = [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", +] + +monitor_cgroup = "system.slice" +monitor_exec_cgroup = "" + + +# crun is a fast and lightweight fully featured OCI runtime and C library for +# running containers +#[crio.runtime.runtimes.crun] + +# Kata Containers is an OCI runtime, where containers are run inside lightweight +# VMs. Kata provides additional isolation towards the host, minimizing the host attack +# surface and mitigating the consequences of containers breakout. + +# Kata Containers with the default configured VMM +#[crio.runtime.runtimes.kata-runtime] + +# Kata Containers with the QEMU VMM +#[crio.runtime.runtimes.kata-qemu] + +# Kata Containers with the Firecracker VMM +#[crio.runtime.runtimes.kata-fc] + +# The workloads table defines ways to customize containers with different resources +# that work based on annotations, rather than the CRI. +# Note, the behavior of this table is EXPERIMENTAL and may change at any time. +# Each workload, has a name, activation_annotation, annotation_prefix and set of resources it supports mutating. +# The currently supported resources are "cpu" (to configure the cpu shares) and "cpuset" to configure the cpuset. +# Each resource can have a default value specified, or be empty. +# For a container to opt-into this workload, the pod should be configured with the annotation $activation_annotation (key only, value is ignored). +# To customize per-container, an annotation of the form $annotation_prefix.$resource/$ctrName = "value" can be specified +# signifying for that resource type to override the default value. +# If the annotation_prefix is not present, every container in the pod will be given the default values. +# Example: +# [crio.runtime.workloads.workload-type] +# activation_annotation = "io.crio/workload" +# annotation_prefix = "io.crio.workload-type" +# [crio.runtime.workloads.workload-type.resources] +# cpuset = 0 +# cpushares = "0-1" +# Where: +# The workload name is workload-type. +# To specify, the pod must have the "io.crio.workload" annotation (this is a precise string match). +# This workload supports setting cpuset and cpu resources. +# annotation_prefix is used to customize the different resources. +# To configure the cpu shares a container gets in the example above, the pod would have to have the following annotation: +# "io.crio.workload-type/$container_name = {"cpushares": "value"}" + + +# The crio.image table contains settings pertaining to the management of OCI images. +# +# CRI-O reads its configured registries defaults from the system wide +# containers-registries.conf(5) located in /etc/containers/registries.conf. If +# you want to modify just CRI-O, you can change the registries configuration in +# this file. Otherwise, leave insecure_registries and registries commented out to +# use the system's defaults from /etc/containers/registries.conf. [crio.image] -# default_transport is the prefix we try prepending to an image name if the -# image name as we receive it can't be parsed as a valid source reference +# Default transport for pulling images from a remote container storage. default_transport = "docker://" -# pause_image is the image which we use to instantiate infra containers. -pause_image = "kubernetes/pause" +# The path to a file containing credentials necessary for pulling images from +# secure registries. The file is similar to that of /var/lib/kubelet/config.json +global_auth_file = "" + +# The image used to instantiate infra containers. +# This option supports live configuration reload. +pause_image = "registry.k8s.io/pause:3.6" -# pause_command is the command to run in a pause_image to have a container just -# sit there. If the image contains the necessary information, this value need -# not be specified. +# The path to a file containing credentials specific for pulling the pause_image from +# above. The file is similar to that of /var/lib/kubelet/config.json +# This option supports live configuration reload. +pause_image_auth_file = "" + +# The command to run to have a container stay in the paused state. +# When explicitly set to "", it will fallback to the entrypoint and command +# specified in the pause image. When commented out, it will fallback to the +# default: "/pause". This option supports live configuration reload. pause_command = "/pause" -# signature_policy is the name of the file which decides what sort of policy we -# use when deciding whether or not to trust an image that we've pulled. -# Outside of testing situations, it is strongly advised that this be left -# unspecified so that the default system-wide policy will be used. +# Path to the file which decides what sort of policy we use when deciding +# whether or not to trust an image that we've pulled. It is not recommended that +# this option be used, as the default behavior of using the system-wide default +# policy (i.e., /etc/containers/policy.json) is most often preferred. Please +# refer to containers-policy.json(5) for more details. signature_policy = "" -# image_volumes controls how image volumes are handled. -# The valid values are mkdir and ignore. -image_volumes = "mkdir" - -# insecure_registries is used to skip TLS verification when pulling images. +# List of registries to skip TLS verification for pulling images. Please +# consider configuring the registries via /etc/containers/registries.conf before +# changing them here. insecure_registries = [ ] -# registries is used to specify a comma separated list of registries to be used -# when pulling an unqualified image (e.g. fedora:rawhide). -registries = ['docker.io', 'registry.fedoraproject.org', 'registry.access.redhat.com'] +# Controls how image volumes are handled. The valid values are mkdir, bind and +# ignore; the latter will ignore volumes entirely. +image_volumes = "mkdir" + +# Temporary directory to use for storing big files +big_files_temporary_dir = "" -# The "crio.network" table contains settings pertaining to the -# management of CNI plugins. +# The crio.network table containers settings pertaining to the management of +# CNI plugins. [crio.network] -# network_dir is is where CNI network configuration -# files are stored. +# The default CNI network name to be selected. If not set or "", then +# CRI-O will pick-up the first one found in network_dir. +# cni_default_network = "" + +# Path to the directory where CNI configuration files are located. network_dir = "/etc/cni/net.d/" -# plugin_dir is is where CNI plugin binaries are stored. -plugin_dir = "/opt/cni/bin" +# Paths to directories where CNI plugin binaries are located. +plugin_dirs = [ + "/opt/cni/bin/", +] + +# A necessary configuration for Prometheus based metrics retrieval +[crio.metrics] + +# Globally enable or disable metrics support. +enable_metrics = false + +# Specify enabled metrics collectors. +# Per default all metrics are enabled. +# It is possible, to prefix the metrics with "container_runtime_" and "crio_". +# For example, the metrics collector "operations" would be treated in the same +# way as "crio_operations" and "container_runtime_crio_operations". +metrics_collectors = [ + "operations", + "operations_latency_microseconds_total", + "operations_latency_microseconds", + "operations_errors", + "image_pulls_by_digest", + "image_pulls_by_name", + "image_pulls_by_name_skipped", + "image_pulls_failures", + "image_pulls_successes", + "image_pulls_layer_size", + "image_layer_reuse", + "containers_oom_total", + "containers_oom", + "processes_defunct", + "operations_total", + "operations_latency_seconds", + "operations_latency_seconds_total", + "operations_errors_total", + "image_pulls_bytes_total", + "image_pulls_skipped_bytes_total", + "image_pulls_failure_total", + "image_pulls_success_total", + "image_layer_reuse_total", + "containers_oom_count_total", +] +# The port on which the metrics server will listen. +metrics_port = 9090 + +# Local socket path to bind the metrics server to +metrics_socket = "" + +# The certificate for the secure metrics server. +# If the certificate is not available on disk, then CRI-O will generate a +# self-signed one. CRI-O also watches for changes of this path and reloads the +# certificate on any modification event. +metrics_cert = "" + +# The certificate key for the secure metrics server. +# Behaves in the same way as the metrics_cert. +metrics_key = "" + +# A necessary configuration for OpenTelemetry trace data exporting +[crio.tracing] + +# Globally enable or disable exporting OpenTelemetry traces. +enable_tracing = false + +# Address on which the gRPC trace collector listens on. +tracing_endpoint = "0.0.0.0:4317" + +# Number of samples to collect per million spans. +tracing_sampling_rate_per_million = 0 + +# Necessary information pertaining to container and pod stats reporting. +[crio.stats] + +# The number of seconds between collecting pod and container stats. +# If set to 0, the stats are collected on-demand instead. +stats_collection_period = 0 + diff --git a/recipes-containers/cri-tools/cri-tools/0001-build-allow-environmental-CGO-settings-and-pass-dont.patch b/recipes-containers/cri-tools/cri-tools/0001-build-allow-environmental-CGO-settings-and-pass-dont.patch index afd7c4bf..29e0367b 100644 --- a/recipes-containers/cri-tools/cri-tools/0001-build-allow-environmental-CGO-settings-and-pass-dont.patch +++ b/recipes-containers/cri-tools/cri-tools/0001-build-allow-environmental-CGO-settings-and-pass-dont.patch @@ -1,6 +1,6 @@ -From 28ee02687339b657a7aa93570015a6751c824e2d Mon Sep 17 00:00:00 2001 +From 567b618f2ab9bb722826688d84f328773e4f37ce Mon Sep 17 00:00:00 2001 From: Bruce Ashfield <bruce.ashfield@gmail.com> -Date: Wed, 10 Feb 2021 09:58:24 -0500 +Date: Wed, 17 Aug 2022 11:03:09 -0400 Subject: [PATCH] build: allow environmental CGO settings and pass dontusecurrentpkgs @@ -13,9 +13,9 @@ builds (for the most part), and that is not recommended by many packages, we end up with errors like: 1.20.0+gitec9e336fd8c21c4bab89a6aed2c4a138c8cfae75/src/import/_output/crictl \ - -ldflags '-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=1.20.0' \ - -tags '' \ - github.com/kubernetes-sigs/cri-tools/cmd/crictl + -ldflags '-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=1.20.0' \ + -tags '' \ + github.com/kubernetes-sigs/cri-tools/cmd/crictl # github.com/kubernetes-sigs/cri-tools/cmd/crictl cannot find package runtime/cgo (using -importcfg) /work/cortexa72-poky-linux/cri-tools/1.20.0+gitec9e336fd8c21c4bab89a6aed2c4a138c8cfae75-r0/recipe-sysroot-native/usr/lib/aarch64-poky-linux/go/pkg/tool/linux_amd64/link: @@ -28,22 +28,24 @@ https://www.yoctoproject.org/pipermail/meta-virtualization/2019-March/004084.htm We introduce '-a -pkgdir dontusecurrentpkgs' to mask/fix the problem, and continue to work towards non-static builds. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- src/import/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -Index: cri-tools-1.21.0+gitfa50f4af0f6beba20264bfb3fd4d1d34e42f7b54/src/import/Makefile +Index: cri-tools-1.27.0+gite73a7139ed4986d6a0db784ae7a036841a02b351/src/import/Makefile =================================================================== ---- cri-tools-1.21.0+gitfa50f4af0f6beba20264bfb3fd4d1d34e42f7b54.orig/src/import/Makefile -+++ cri-tools-1.21.0+gitfa50f4af0f6beba20264bfb3fd4d1d34e42f7b54/src/import/Makefile -@@ -73,7 +73,8 @@ +--- cri-tools-1.27.0+gite73a7139ed4986d6a0db784ae7a036841a02b351.orig/src/import/Makefile ++++ cri-tools-1.27.0+gite73a7139ed4986d6a0db784ae7a036841a02b351/src/import/Makefile +@@ -74,7 +74,8 @@ @$(MAKE) -B $(CRICTL) $(CRICTL): -- CGO_ENABLED=0 $(GO_BUILD) -o $@ \ +- CGO_ENABLED=$(CGO_ENABLED) $(GO_BUILD) -o $@ \ + $(GO_BUILD) -o $@ \ + -a -pkgdir dontusecurrentpkgs \ -ldflags '$(GO_LDFLAGS)' \ - -tags '$(BUILDTAGS)' \ + $(GOFLAGS) \ $(PROJECT)/cmd/crictl diff --git a/recipes-containers/cri-tools/cri-tools_git.bb b/recipes-containers/cri-tools/cri-tools_git.bb index ad054e1c..e0caf740 100644 --- a/recipes-containers/cri-tools/cri-tools_git.bb +++ b/recipes-containers/cri-tools/cri-tools_git.bb @@ -16,9 +16,9 @@ What is not in scope for this project? \ non-exist on the kube-apiserver. \ " -SRCREV_cri-tools = "fa50f4af0f6beba20264bfb3fd4d1d34e42f7b54" +SRCREV_cri-tools = "17b4dd65d660fec94d7a5a070e3e89ef640f1087" SRC_URI = "\ - git://github.com/kubernetes-sigs/cri-tools.git;branch=master;name=cri-tools \ + git://github.com/kubernetes-sigs/cri-tools.git;branch=master;name=cri-tools;protocol=https \ file://0001-build-allow-environmental-CGO-settings-and-pass-dont.patch \ " @@ -27,9 +27,9 @@ LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c2 GO_IMPORT = "import" -PV = "1.21.0+git${SRCREV_cri-tools}" +PV = "1.29.0+git${SRCREV_cri-tools}" -RPROVIDES_${PN} += "crictl" +RPROVIDES:${PN} += "crictl" PACKAGES =+ "${PN}-critest" inherit go @@ -63,15 +63,18 @@ do_compile() { do_install() { install -d ${D}${bindir} - install -m 755 -D ${S}/src/import/build/bin/* ${D}/${bindir} + for f in $(find ${S}/src/import/build/bin/ -type f); do + echo "installing $f to ${D}/${bindir}" + install -m 755 -D $f ${D}/${bindir} + done } -FILES_${PN}-critest = "${bindir}/critest" +FILES:${PN}-critest = "${bindir}/critest" # don't clobber hooks.d -ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY:${PN} = "1" -INSANE_SKIP_${PN} += "ldflags already-stripped textrel" +INSANE_SKIP:${PN} += "ldflags already-stripped textrel" deltask compile_ptest_base diff --git a/recipes-containers/criu/criu_git.bb b/recipes-containers/criu/criu_git.bb index febf81ed..09503624 100644 --- a/recipes-containers/criu/criu_git.bb +++ b/recipes-containers/criu/criu_git.bb @@ -7,25 +7,27 @@ it was frozen at. The distinctive feature of the CRIU project is that it is \ mainly implemented in user space" HOMEPAGE = "http://criu.org" SECTION = "console/tools" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" EXCLUDE_FROM_WORLD = "1" LIC_FILES_CHKSUM = "file://COPYING;md5=412de458544c1cb6a2b512cd399286e2" -SRCREV = "e49ce513c8df43e8d3b30b7acfbe7bd496d89862" -PV = "3.14+git${SRCPV}" +SRCREV = "f8b14286b092853a4485813e1efd564109df9123" +PV = "3.19.0+git" -SRC_URI = "git://github.com/checkpoint-restore/criu.git;branch=criu-dev \ - file://0002-criu-Skip-documentation-install.patch \ - file://0001-criu-Change-libraries-install-directory.patch \ - file://lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch \ - " +SRC_URI = "git://github.com/checkpoint-restore/criu.git;branch=master;protocol=https \ + file://0001-criu-Skip-documentation-install.patch \ + file://0002-criu-Change-libraries-install-directory.patch \ + file://0003-crit-pycriu-build-and-install-wheels.patch \ + file://0004-pycriu-attr-pycriu.version.__version__.patch \ + file://0005-pycriu-skip-dependency-check-during-build.patch \ + " COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux" -DEPENDS += "libnl libcap protobuf-c-native protobuf-c util-linux-native libbsd libnet" -RDEPENDS_${PN} = "bash" +DEPENDS += "libnl libcap protobuf-c-native protobuf-c util-linux-native libbsd libnet python3-protobuf-native" +RDEPENDS:${PN} = "bash cgroup-lite python3-ctypes python3-fcntl python3-protobuf" S = "${WORKDIR}/git" @@ -34,17 +36,17 @@ S = "${WORKDIR}/git" # if the ARCH is ARMv7 or ARMv6. # ARM BSPs need set CRIU_BUILD_ARCH variable for building CRIU. # -EXTRA_OEMAKE_arm += "ARCH=arm UNAME-M=${CRIU_BUILD_ARCH} WERROR=0" -EXTRA_OEMAKE_x86-64 += "ARCH=x86 WERROR=0" -EXTRA_OEMAKE_aarch64 += "ARCH=aarch64 WERROR=0" +EXTRA_OEMAKE:arm += "ARCH=arm UNAME-M=${CRIU_BUILD_ARCH} WERROR=0" +EXTRA_OEMAKE:x86-64 += "ARCH=x86 WERROR=0" +EXTRA_OEMAKE:aarch64 += "ARCH=aarch64 WERROR=0" -EXTRA_OEMAKE_append += "SBINDIR=${sbindir} LIBDIR=${libdir} INCLUDEDIR=${includedir} PIEGEN=no" -EXTRA_OEMAKE_append += "LOGROTATEDIR=${sysconfdir} SYSTEMDUNITDIR=${systemd_unitdir}" +EXTRA_OEMAKE:append = " SBINDIR=${sbindir} LIBDIR=${libdir} INCLUDEDIR=${includedir} PIEGEN=no" +EXTRA_OEMAKE:append = " LOGROTATEDIR=${sysconfdir} SYSTEMDUNITDIR=${systemd_unitdir}" -CFLAGS += "-D__USE_GNU -D_GNU_SOURCE " +CFLAGS += "-D__USE_GNU -D_GNU_SOURCE " CFLAGS += " -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3" -CFLAGS_arm += "-D__WORDSIZE" +CFLAGS:arm += "-D__WORDSIZE" # overide LDFLAGS to allow criu to build without: "x86_64-poky-linux-ld: unrecognized option '-Wl,-O1'" export LDFLAGS="" @@ -54,7 +56,8 @@ export BUILD_SYS export HOST_SYS export HOSTCFLAGS = "${BUILD_CFLAGS}" -inherit setuptools3 +inherit python_setuptools_build_meta +inherit pkgconfig B = "${S}" @@ -63,33 +66,47 @@ PACKAGECONFIG[selinux] = ",,libselinux" CLEANBROKEN = "1" -do_compile_prepend() { +# WARNING: criu-3.17.1 do_package_qa: QA Issue: criu: ELF binary /usr/sbin/criu has relocations in .text [textrel] +INSANE_SKIP:${PN} += "textrel" + +do_compile:prepend() { rm -rf ${S}/images/google/protobuf/descriptor.proto ln -s ${PKG_CONFIG_SYSROOT_DIR}/usr/include/google/protobuf/descriptor.proto ${S}/images/google/protobuf/descriptor.proto } do_compile () { - oe_runmake FULL_PYTHON=${PYTHON} PYTHON=python3 + oe_runmake FULL_PYTHON=${PYTHON} PYTHON=nativepython3 } do_install () { export INSTALL_LIB="${libdir}/${PYTHON_DIR}/site-packages" - oe_runmake PREFIX=${exec_prefix} LIBDIR=${libdir} DESTDIR="${D}" FULL_PYTHON=${PYTHON} PYTHON=python3 install + export PEP517_WHEEL_PATH="${PEP517_WHEEL_PATH}" + export USRBINPATH="${USRBINPATH}" + export PEP517_INSTALL_PYTHON="${PEP517_INSTALL_PYTHON}" + oe_runmake PREFIX=${exec_prefix} LIBDIR=${libdir} DESTDIR="${D}" PLUGINDIR="${localstatedir}/lib" FULL_PYTHON=${PYTHON} PYTHON=nativepython3 install # python3's distutils has a feature of rewriting the interpeter on setup installed # scripts. 'crit' is one of those scripts. The "executable" or "e" option to the # setup call should fix it, but it is being ignored. So to avoid getting our native # intepreter replaced in the script, we'll do an explicit update ourselves. - sed -i 's%^\#\!.*%\#\!/usr/bin/env python3%g' ${D}/usr/bin/crit + # + # we're building wheels now, so EGG-INFO need not apply + #sed -i 's%^\#\!.*%\#\!/usr/bin/env python3%' ${D}/usr/bin/crit ${D}${libdir}/python3*/site-packages/crit-*-py3*.egg/EGG-INFO/scripts/crit + + # all the __pycache__ contains references to TMPDIR and these will be built the first time + # it runs on the target anyway + for pycachedir in $(find ${D} -name __pycache__); do + rm -rf $pycachedir + done } -FILES_${PN} += "${systemd_unitdir}/ \ - ${libdir}/python3*/site-packages/ \ - ${libdir}/pycriu/ \ - ${libdir}/crit-0.0.1-py3*.egg-info \ +FILES:${PN} += "${systemd_unitdir}/ \ + #${libdir}/python3*/site-packages/ \ + #${libdir}/pycriu/ \ + #${libdir}/crit-0.0.1-py3*.egg-info \ " -FILES_${PN}-staticdev += " \ +FILES:${PN}-staticdev += " \ ${libexecdir}/compel/std.lib.a \ ${libexecdir}/compel/fds.lib.a \ " diff --git a/recipes-containers/criu/files/0002-criu-Skip-documentation-install.patch b/recipes-containers/criu/files/0001-criu-Skip-documentation-install.patch index af45db73..dd33b1bd 100644 --- a/recipes-containers/criu/files/0002-criu-Skip-documentation-install.patch +++ b/recipes-containers/criu/files/0001-criu-Skip-documentation-install.patch @@ -1,22 +1,23 @@ -From 45d74ae8a314c481398ba91a3697ffbd074cd98b Mon Sep 17 00:00:00 2001 +From 485e957a4c3289d105dd6203af31c0e4e1438ac6 Mon Sep 17 00:00:00 2001 From: Jianchuan Wang <jianchuan.wang@windriver.com> Date: Tue, 16 Aug 2016 09:42:24 +0800 -Subject: [PATCH] criu: Skip documentation install +Subject: [PATCH 1/3] criu: Skip documentation install asciidoc is needed to generate CRIU documentation, so skip it in install. -Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com> +Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com> --- Makefile.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.install b/Makefile.install -index 3987bcc..1def3cf 100644 +index aafb95469..1b02b70af 100644 --- a/Makefile.install +++ b/Makefile.install -@@ -29,7 +29,7 @@ export PREFIX BINDIR SBINDIR MANDIR RUNDIR - export LIBDIR INCLUDEDIR LIBEXECDIR +@@ -30,7 +30,7 @@ export PREFIX BINDIR SBINDIR MANDIR RUNDIR + export LIBDIR INCLUDEDIR LIBEXECDIR PLUGINDIR install-man: - $(Q) $(MAKE) -C Documentation install @@ -24,3 +25,6 @@ index 3987bcc..1def3cf 100644 .PHONY: install-man install-lib: lib +-- +2.25.1 + diff --git a/recipes-containers/criu/files/0001-criu-Change-libraries-install-directory.patch b/recipes-containers/criu/files/0002-criu-Change-libraries-install-directory.patch index afb1332d..1a1beafd 100644 --- a/recipes-containers/criu/files/0001-criu-Change-libraries-install-directory.patch +++ b/recipes-containers/criu/files/0002-criu-Change-libraries-install-directory.patch @@ -1,25 +1,31 @@ -From f64fbca70e6049dad3c404d871f2383d97725d2d Mon Sep 17 00:00:00 2001 +From dcbf7f8ad1b07ff718eac2ce79ed522ac1cee189 Mon Sep 17 00:00:00 2001 From: Mark Asselstine <mark.asselstine@windriver.com> Date: Fri, 8 Sep 2017 15:11:31 -0400 -Subject: [PATCH] criu: Change libraries install directory +Subject: [PATCH 2/3] criu: Change libraries install directory Install the libraries into /usr/lib(or /usr/lib64) +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com> Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> +Rebase for criu 3.17.1. + +Signed-off-by: Kai Kang <kai.kang@windriver.com> --- Makefile.install | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/Makefile.install b/Makefile.install -index 1def3cf..d020eef 100644 +index 1b02b70af..2839ef5fe 100644 --- a/Makefile.install +++ b/Makefile.install @@ -9,19 +9,6 @@ LIBEXECDIR ?= $(PREFIX)/libexec RUNDIR ?= /run + PLUGINDIR ?= $(PREFIX)/lib/criu - # +-# -# For recent Debian/Ubuntu with multiarch support. -DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null) -ifneq "$(DEB_HOST_MULTIARCH)" "" @@ -32,7 +38,9 @@ index 1def3cf..d020eef 100644 - endif -endif - --# + # # LIBDIR falls back to the standard path. LIBDIR ?= $(PREFIX)/lib - +-- +2.25.1 + diff --git a/recipes-containers/criu/files/0003-crit-pycriu-build-and-install-wheels.patch b/recipes-containers/criu/files/0003-crit-pycriu-build-and-install-wheels.patch new file mode 100644 index 00000000..0796bb24 --- /dev/null +++ b/recipes-containers/criu/files/0003-crit-pycriu-build-and-install-wheels.patch @@ -0,0 +1,77 @@ +From 40d2f0735d668dca893a5f0e787f1f11af74cf25 Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Fri, 1 Mar 2024 22:22:37 -0800 +Subject: [PATCH] crit/pycriu: build and install wheels + +Rather than using heavy handed pip (which requires network access to +fetch the index), mimic what we do in python_pep517.bbclass do_compile +and do_install for both crit/ and lib/pycriu + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + crit/Makefile | 8 ++++++-- + lib/Makefile | 11 +++++++++-- + 2 files changed, 15 insertions(+), 4 deletions(-) + +diff --git a/crit/Makefile b/crit/Makefile +index 9a856db6d..9b36f4be1 100644 +--- a/crit/Makefile ++++ b/crit/Makefile +@@ -1,5 +1,7 @@ + PYTHON_EXTERNALLY_MANAGED := $(shell $(PYTHON) -c 'import os, sysconfig; print(int(os.path.isfile(os.path.join(sysconfig.get_path("stdlib"), "EXTERNALLY-MANAGED"))))') + PIP_BREAK_SYSTEM_PACKAGES := 0 ++PEP517_SOURCE_PATH := ./crit ++PEP517_BUILD_OPTS := + + VERSION_FILE := $(if $(obj),$(addprefix $(obj)/,crit/version.py),crit/version.py) + +@@ -16,11 +18,13 @@ ifeq ($(PIP_BREAK_SYSTEM_PACKAGES),0) + $(E) " Consider using PIP_BREAK_SYSTEM_PACKAGES=1 make install" + else + $(E) " INSTALL " crit +- $(Q) $(PYTHON) -m pip install --upgrade --ignore-installed --prefix=$(DESTDIR)$(PREFIX) ./crit ++ $(Q) $(PYTHON) -m build --no-isolation --wheel --outdir $(PEP517_WHEEL_PATH) $(PEP517_SOURCE_PATH) $(PEP517_BUILD_OPTS) + endif + else ++ $(E) " BUILD " crit ++ $(Q) $(PYTHON) -m build --no-isolation --wheel --outdir $(PEP517_WHEEL_PATH) $(PEP517_SOURCE_PATH) $(PEP517_BUILD_OPTS) + $(E) " INSTALL " crit +- $(Q) $(PYTHON) -m pip install --upgrade --ignore-installed --prefix=$(DESTDIR)$(PREFIX) ./crit ++ $(Q) $(PYTHON) -m installer $(INSTALL_WHEEL_COMPILE_BYTECODE) --interpreter "$(USRBINPATH)/env $(PEP517_INSTALL_PYTHON)" --destdir=$(DESTDIR) $(PEP517_WHEEL_PATH)/crit-*.whl + endif + .PHONY: install + +diff --git a/lib/Makefile b/lib/Makefile +index ae371e78e..b5f147482 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -1,6 +1,9 @@ + CRIU_SO := libcriu.so + CRIU_A := libcriu.a + UAPI_HEADERS := lib/c/criu.h images/rpc.proto images/rpc.pb-c.h criu/include/version.h ++PEP517_SOURCE_PATH := ./lib ++PEP517_BUILD_OPTS := ++INSTALL_WHEEL_COMPILE_BYTECODE ?= "--compile-bytecode=0" + + all-y += lib-c lib-a lib-py + +@@ -63,11 +66,15 @@ ifeq ($(PIP_BREAK_SYSTEM_PACKAGES),0) + $(E) " Consider using PIP_BREAK_SYSTEM_PACKAGES=1 make install" + else + $(E) " INSTALL " pycriu +- $(Q) $(PYTHON) -m pip install --upgrade --ignore-installed --prefix=$(DESTDIR)$(PREFIX) ./lib ++ $(Q) $(PYTHON) -m build --no-isolation --wheel --outdir $(PEP517_WHEEL_PATH) $(PEP517_SOURCE_PATH) $(PEP517_BUILD_OPTS) + endif + else ++ $(E) " BUILD " pycriu ++ $(Q) $(PYTHON) -m build --no-isolation --wheel --outdir $(PEP517_WHEEL_PATH) $(PEP517_SOURCE_PATH) $(PEP517_BUILD_OPTS) + $(E) " INSTALL " pycriu +- $(Q) $(PYTHON) -m pip install --upgrade --ignore-installed --prefix=$(DESTDIR)$(PREFIX) ./lib ++ #nativepython3 -m installer ${INSTALL_WHEEL_COMPILE_BYTECODE} --interpreter "${USRBINPATH}/env ${PEP517_INSTALL_PYTHON}" --destdir=${D} ${PEP517_WHEEL_PATH}/*.whl ++ ++ $(Q) $(PYTHON) -m installer $(INSTALL_WHEEL_COMPILE_BYTECODE) --interpreter "$(USRBINPATH)/env $(PEP517_INSTALL_PYTHON)" --destdir=$(DESTDIR) $(PEP517_WHEEL_PATH)/pycriu-*.whl + endif + .PHONY: install + diff --git a/recipes-containers/criu/files/lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch b/recipes-containers/criu/files/0003-lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch index 70ccb287..0f87e366 100644 --- a/recipes-containers/criu/files/lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch +++ b/recipes-containers/criu/files/0003-lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch @@ -1,23 +1,24 @@ -From 6caf90592d61c8c45b32cb7ff76709f9326030e2 Mon Sep 17 00:00:00 2001 +From 0a04c5bc80319485e17e9a86e799fe2c5bfa3d38 Mon Sep 17 00:00:00 2001 From: Mark Asselstine <mark.asselstine@windriver.com> Date: Fri, 8 Sep 2017 15:40:49 -0400 -Subject: [PATCH] lib/Makefile: overwrite install-lib, to allow multiarch +Subject: [PATCH 3/3] lib/Makefile: overwrite install-lib, to allow multiarch I am not sure why Yocto installs python modules in arch specific /usr/libXX directories but it does. Allow the recipe to pass this via INSTALL_LIB. -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> +Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> --- lib/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Makefile b/lib/Makefile -index b1bb057..06f5c5d 100644 +index 575a7bad3..f503d430b 100644 --- a/lib/Makefile +++ b/lib/Makefile -@@ -53,7 +53,7 @@ install: lib-c lib-py crit/crit lib/c/criu.pc.in +@@ -59,7 +59,7 @@ install: lib-c lib-a lib-py crit/crit lib/c/criu.pc.in $(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),' -e 's,@includedir@,$(dir $(INCLUDEDIR)/criu/),' lib/c/criu.pc.in > lib/c/criu.pc $(Q) install -m 644 lib/c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig $(E) " INSTALL " crit @@ -26,3 +27,6 @@ index b1bb057..06f5c5d 100644 .PHONY: install uninstall: +-- +2.25.1 + diff --git a/recipes-containers/criu/files/0004-criu-fix-conflicting-headers.patch b/recipes-containers/criu/files/0004-criu-fix-conflicting-headers.patch new file mode 100644 index 00000000..f03f51da --- /dev/null +++ b/recipes-containers/criu/files/0004-criu-fix-conflicting-headers.patch @@ -0,0 +1,290 @@ +Backport patch to fix criu compile error with glibc 2.36. Update context +for Makefile.config. + +Upstream-Status: Backport [https://github.com/checkpoint-restore/criu/commit/4c86d6a7] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +From 4c86d6a7d54abb64fc5a15131f3351224e8c071b Mon Sep 17 00:00:00 2001 +From: Radostin Stoyanov <rstoyanov@fedoraproject.org> +Date: Sun, 31 Jul 2022 16:07:30 +0000 +Subject: [PATCH] criu: fix conflicting headers + +There are several changes in glibc 2.36 that make sys/mount.h header +incompatible with kernel headers: + +https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E + +This patch removes conflicting includes for `<linux/mount.h>` and +updates the content of `criu/include/linux/mount.h` to match +`/usr/include/sys/mount.h`. In addition, inline definitions sys_*() +functions have been moved from "linux/mount.h" to "syscall.h" to +avoid conflicts with `uapi/compel/plugins/std/syscall.h` and +`<unistd.h>`. The include for `<linux/aio_abi.h>` has been replaced +with local include to avoid conflicts with `<sys/mount.h>`. + +Fixes: #1949 + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org> +--- + Makefile.config | 2 +- + criu/cgroup.c | 1 + + criu/cr-check.c | 2 +- + criu/cr-restore.c | 3 ++- + criu/include/aio.h | 2 +- + criu/include/linux/aio_abi.h | 14 +++++++++++ + criu/include/linux/mount.h | 48 +++++++++++++++++++----------------- + criu/include/syscall.h | 17 +++++++++++++ + criu/pie/parasite.c | 2 +- + criu/util.c | 1 + + scripts/feature-tests.mak | 13 ---------- + 11 files changed, 64 insertions(+), 41 deletions(-) + create mode 100644 criu/include/linux/aio_abi.h + create mode 100644 criu/include/syscall.h + +diff --git a/Makefile.config b/Makefile.config +index d113e2246..270ec61c0 100644 +--- a/Makefile.config ++++ b/Makefile.config +@@ -78,7 +78,7 @@ export DEFINES += $(FEATURE_DEFINES) + export CFLAGS += $(FEATURE_DEFINES) + + FEATURES_LIST := TCP_REPAIR STRLCPY STRLCAT PTRACE_PEEKSIGINFO \ +- SETPROCTITLE_INIT MEMFD TCP_REPAIR_WINDOW FSCONFIG MEMFD_CREATE OPENAT2 ++ SETPROCTITLE_INIT MEMFD TCP_REPAIR_WINDOW MEMFD_CREATE OPENAT2 + + # $1 - config name + define gen-feature-test +diff --git a/criu/cgroup.c b/criu/cgroup.c +index e05b0832e..325df6a1d 100644 +--- a/criu/cgroup.c ++++ b/criu/cgroup.c +@@ -27,6 +27,7 @@ + #include "images/cgroup.pb-c.h" + #include "kerndat.h" + #include "linux/mount.h" ++#include "syscall.h" + + /* + * This structure describes set of controller groups +diff --git a/criu/cr-check.c b/criu/cr-check.c +index f589a91da..0ca80192c 100644 +--- a/criu/cr-check.c ++++ b/criu/cr-check.c +@@ -21,7 +21,6 @@ + #include <sys/prctl.h> + #include <sched.h> + #include <sys/mount.h> +-#include <linux/aio_abi.h> + + #include "../soccr/soccr.h" + +@@ -52,6 +51,7 @@ + #include "net.h" + #include "restorer.h" + #include "uffd.h" ++#include "linux/aio_abi.h" + + #include "images/inventory.pb-c.h" + +diff --git a/criu/cr-restore.c b/criu/cr-restore.c +index 279246c19..d11d28173 100644 +--- a/criu/cr-restore.c ++++ b/criu/cr-restore.c +@@ -22,7 +22,6 @@ + #include <compel/ptrace.h> + #include "common/compiler.h" + +-#include "linux/mount.h" + #include "linux/rseq.h" + + #include "clone-noasan.h" +@@ -86,6 +85,8 @@ + #include <compel/plugins/std/syscall-codes.h> + #include "compel/include/asm/syscall.h" + ++#include "linux/mount.h" ++ + #include "protobuf.h" + #include "images/sa.pb-c.h" + #include "images/timer.pb-c.h" +diff --git a/criu/include/aio.h b/criu/include/aio.h +index d1655739d..38e704020 100644 +--- a/criu/include/aio.h ++++ b/criu/include/aio.h +@@ -1,7 +1,7 @@ + #ifndef __CR_AIO_H__ + #define __CR_AIO_H__ + +-#include <linux/aio_abi.h> ++#include "linux/aio_abi.h" + #include "images/mm.pb-c.h" + unsigned int aio_estimate_nr_reqs(unsigned int size); + int dump_aio_ring(MmEntry *mme, struct vma_area *vma); +diff --git a/criu/include/linux/aio_abi.h b/criu/include/linux/aio_abi.h +new file mode 100644 +index 000000000..d9ce78720 +--- /dev/null ++++ b/criu/include/linux/aio_abi.h +@@ -0,0 +1,14 @@ ++#ifndef __LINUX__AIO_ABI_H ++#define __LINUX__AIO_ABI_H ++ ++typedef __kernel_ulong_t aio_context_t; ++ ++/* read() from /dev/aio returns these structures. */ ++struct io_event { ++ __u64 data; /* the data field from the iocb */ ++ __u64 obj; /* what iocb this event came from */ ++ __s64 res; /* result code for this event */ ++ __s64 res2; /* secondary result */ ++}; ++ ++#endif /* __LINUX__AIO_ABI_H */ +diff --git a/criu/include/linux/mount.h b/criu/include/linux/mount.h +index 9a3a28b10..0d55a588c 100644 +--- a/criu/include/linux/mount.h ++++ b/criu/include/linux/mount.h +@@ -4,32 +4,34 @@ + #include "common/config.h" + #include "compel/plugins/std/syscall-codes.h" + +-#ifdef CONFIG_HAS_FSCONFIG +-#include <linux/mount.h> +-#else ++/* Copied from /usr/include/sys/mount.h */ ++ ++#ifndef FSCONFIG_CMD_CREATE ++/* The type of fsconfig call made. */ + enum fsconfig_command { +- FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ +- FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */ +- FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */ +- FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */ +- FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */ +- FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */ +- FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */ ++ FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ ++#define FSCONFIG_SET_FLAG FSCONFIG_SET_FLAG ++ FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */ ++#define FSCONFIG_SET_STRING FSCONFIG_SET_STRING ++ FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */ ++#define FSCONFIG_SET_BINARY FSCONFIG_SET_BINARY ++ FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */ ++#define FSCONFIG_SET_PATH FSCONFIG_SET_PATH ++ FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */ ++#define FSCONFIG_SET_PATH_EMPTY FSCONFIG_SET_PATH_EMPTY ++ FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */ ++#define FSCONFIG_SET_FD FSCONFIG_SET_FD ++ FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */ ++#define FSCONFIG_CMD_CREATE FSCONFIG_CMD_CREATE + FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */ ++#define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE + }; +-#endif ++#endif // FSCONFIG_CMD_CREATE + +-static inline int sys_fsopen(const char *fsname, unsigned int flags) +-{ +- return syscall(__NR_fsopen, fsname, flags); +-} +-static inline int sys_fsconfig(int fd, unsigned int cmd, const char *key, const char *value, int aux) +-{ +- return syscall(__NR_fsconfig, fd, cmd, key, value, aux); +-} +-static inline int sys_fsmount(int fd, unsigned int flags, unsigned int attr_flags) +-{ +- return syscall(__NR_fsmount, fd, flags, attr_flags); +-} ++#ifndef MS_MGC_VAL ++/* Magic mount flag number. Has to be or-ed to the flag values. */ ++#define MS_MGC_VAL 0xc0ed0000 /* Magic flag number to indicate "new" flags */ ++#define MS_MGC_MSK 0xffff0000 /* Magic flag number mask */ ++#endif + + #endif +diff --git a/criu/include/syscall.h b/criu/include/syscall.h +new file mode 100644 +index 000000000..c38d6d971 +--- /dev/null ++++ b/criu/include/syscall.h +@@ -0,0 +1,17 @@ ++#ifndef __CR_SYSCALL_H__ ++#define __CR_SYSCALL_H__ ++ ++static inline int sys_fsopen(const char *fsname, unsigned int flags) ++{ ++ return syscall(__NR_fsopen, fsname, flags); ++} ++static inline int sys_fsconfig(int fd, unsigned int cmd, const char *key, const char *value, int aux) ++{ ++ return syscall(__NR_fsconfig, fd, cmd, key, value, aux); ++} ++static inline int sys_fsmount(int fd, unsigned int flags, unsigned int attr_flags) ++{ ++ return syscall(__NR_fsmount, fd, flags, attr_flags); ++} ++ ++#endif /* __CR_SYSCALL_H__ */ +\ No newline at end of file +diff --git a/criu/pie/parasite.c b/criu/pie/parasite.c +index e7eb1fcb6..f75fe13bb 100644 +--- a/criu/pie/parasite.c ++++ b/criu/pie/parasite.c +@@ -3,7 +3,6 @@ + #include <signal.h> + #include <linux/limits.h> + #include <linux/capability.h> +-#include <sys/mount.h> + #include <stdarg.h> + #include <sys/ioctl.h> + #include <sys/uio.h> +@@ -14,6 +13,7 @@ + #include "int.h" + #include "types.h" + #include <compel/plugins/std/syscall.h> ++#include "linux/mount.h" + #include "parasite.h" + #include "fcntl.h" + #include "prctl.h" +diff --git a/criu/util.c b/criu/util.c +index 5f69465b4..060ca3bd4 100644 +--- a/criu/util.c ++++ b/criu/util.c +@@ -40,6 +40,7 @@ + #include "mem.h" + #include "namespaces.h" + #include "criu-log.h" ++#include "syscall.h" + + #include "clone-noasan.h" + #include "cr_options.h" +diff --git a/scripts/feature-tests.mak b/scripts/feature-tests.mak +index 014e893a8..fb5d2ef7a 100644 +--- a/scripts/feature-tests.mak ++++ b/scripts/feature-tests.mak +@@ -137,19 +137,6 @@ ENTRY(main) + END(main) + endef + +-define FEATURE_TEST_FSCONFIG +- +-#include <linux/mount.h> +- +-int main(void) +-{ +- if (FSCONFIG_CMD_CREATE > 0) +- return 0; +- return 0; +-} +- +-endef +- + define FEATURE_TEST_NFTABLES_LIB_API_0 + + #include <string.h> +-- +2.34.1 + diff --git a/recipes-containers/criu/files/0004-pycriu-attr-pycriu.version.__version__.patch b/recipes-containers/criu/files/0004-pycriu-attr-pycriu.version.__version__.patch new file mode 100644 index 00000000..a1334b7b --- /dev/null +++ b/recipes-containers/criu/files/0004-pycriu-attr-pycriu.version.__version__.patch @@ -0,0 +1,22 @@ +From a2b17e7b082786e2d7b7585b33815572c9c521f0 Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Sat, 2 Mar 2024 13:47:46 -0800 +Subject: [PATCH] pycriu: attr pycriu.version.__version__ + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + lib/pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/pyproject.toml b/lib/pyproject.toml +index 8eb4b7084..5a92f8540 100644 +--- a/lib/pyproject.toml ++++ b/lib/pyproject.toml +@@ -16,4 +16,4 @@ requires-python = ">=3.6" + packages = ["pycriu", "pycriu.images"] + + [tool.setuptools.dynamic] +-version = {attr = "pycriu.__version__"} ++version = {attr = "pycriu.version.__version__"} diff --git a/recipes-containers/criu/files/0005-mount-add-definition-for-FSOPEN_CLOEXEC.patch b/recipes-containers/criu/files/0005-mount-add-definition-for-FSOPEN_CLOEXEC.patch new file mode 100644 index 00000000..76b8a22e --- /dev/null +++ b/recipes-containers/criu/files/0005-mount-add-definition-for-FSOPEN_CLOEXEC.patch @@ -0,0 +1,114 @@ +build: integrate build fix + +[ + From 517c0947050e63aac72f63a3bf373d76264723b9 Mon Sep 17 00:00:00 2001 + From: Radostin Stoyanov <rstoyanov@fedoraproject.org> + Date: Wed, 24 Aug 2022 21:20:30 +0200 + Subject: [PATCH 2/2] mount: add definition for FSOPEN_CLOEXEC + + A recent change in glibc introduced `enum fsconfig_command` [1] and as a + result the compilation of criu fails with the following errors + + In file included from criu/pie/util.c:3: + /usr/include/sys/mount.h:240:6: error: redeclaration of 'enum fsconfig_command' + 240 | enum fsconfig_command + | ^~~~~~~~~~~~~~~~ + In file included from /usr/include/sys/mount.h:32: + criu/include/linux/mount.h:11:6: note: originally defined here + 11 | enum fsconfig_command { + | ^~~~~~~~~~~~~~~~ + /usr/include/sys/mount.h:242:3: error: redeclaration of enumerator 'FSCONFIG_SET_FLAG' + 242 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ + | ^~~~~~~~~~~~~~~~~ + criu/include/linux/mount.h:12:9: note: previous definition of 'FSCONFIG_SET_FLAG' with type 'enum fsconfig_command' + 12 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ + | ^~~~~~~~~~~~~~~~~ + /usr/include/sys/mount.h:244:3: error: redeclaration of enumerator 'FSCONFIG_SET_STRING' + 244 | FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */ + | ^~~~~~~~~~~~~~~~~~~ + criu/include/linux/mount.h:14:9: note: previous definition of 'FSCONFIG_SET_STRING' with type 'enum fsconfig_command' + 14 | FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */ + | ^~~~~~~~~~~~~~~~~~~ + /usr/include/sys/mount.h:246:3: error: redeclaration of enumerator 'FSCONFIG_SET_BINARY' + 246 | FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */ + | ^~~~~~~~~~~~~~~~~~~ + criu/include/linux/mount.h:16:9: note: previous definition of 'FSCONFIG_SET_BINARY' with type 'enum fsconfig_command' + 16 | FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */ + | ^~~~~~~~~~~~~~~~~~~ + /usr/include/sys/mount.h:248:3: error: redeclaration of enumerator 'FSCONFIG_SET_PATH' + 248 | FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */ + | ^~~~~~~~~~~~~~~~~ + criu/include/linux/mount.h:18:9: note: previous definition of 'FSCONFIG_SET_PATH' with type 'enum fsconfig_command' + 18 | FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */ + | ^~~~~~~~~~~~~~~~~ + /usr/include/sys/mount.h:250:3: error: redeclaration of enumerator 'FSCONFIG_SET_PATH_EMPTY' + 250 | FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */ + | ^~~~~~~~~~~~~~~~~~~~~~~ + criu/include/linux/mount.h:20:9: note: previous definition of 'FSCONFIG_SET_PATH_EMPTY' with type 'enum fsconfig_command' + 20 | FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */ + | ^~~~~~~~~~~~~~~~~~~~~~~ + /usr/include/sys/mount.h:252:3: error: redeclaration of enumerator 'FSCONFIG_SET_FD' + 252 | FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */ + | ^~~~~~~~~~~~~~~ + criu/include/linux/mount.h:22:9: note: previous definition of 'FSCONFIG_SET_FD' with type 'enum fsconfig_command' + 22 | FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */ + | ^~~~~~~~~~~~~~~ + /usr/include/sys/mount.h:254:3: error: redeclaration of enumerator 'FSCONFIG_CMD_CREATE' + 254 | FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */ + | ^~~~~~~~~~~~~~~~~~~ + criu/include/linux/mount.h:24:9: note: previous definition of 'FSCONFIG_CMD_CREATE' with type 'enum fsconfig_command' + 24 | FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */ + | ^~~~~~~~~~~~~~~~~~~ + /usr/include/sys/mount.h:256:3: error: redeclaration of enumerator 'FSCONFIG_CMD_RECONFIGURE' + 256 | FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */ + | ^~~~~~~~~~~~~~~~~~~~~~~~ + criu/include/linux/mount.h:26:9: note: previous definition of 'FSCONFIG_CMD_RECONFIGURE' with type 'enum fsconfig_command' + 26 | FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */ + + This patch adds definition for FSOPEN_CLOEXEC to solve this problem. In particular, + sys/mount.h includes ifndef check for FSOPEN_CLOEXEC surrounding `enum fsconfig_command`. + + [1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=7eae6a91e9b1670330c9f15730082c91c0b1d570 + + Reported-by: Younes Manton (@ymanton) + Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org> +] + +Upstream-Status: Backport [https://github.com/checkpoint-restore/criu/commit/517c0947] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + criu/include/linux/mount.h | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/criu/include/linux/mount.h b/criu/include/linux/mount.h +index 0d55a588c..fefafa89e 100644 +--- a/criu/include/linux/mount.h ++++ b/criu/include/linux/mount.h +@@ -6,7 +6,7 @@ + + /* Copied from /usr/include/sys/mount.h */ + +-#ifndef FSCONFIG_CMD_CREATE ++#ifndef FSOPEN_CLOEXEC + /* The type of fsconfig call made. */ + enum fsconfig_command { + FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ +@@ -26,7 +26,13 @@ enum fsconfig_command { + FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */ + #define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE + }; +-#endif // FSCONFIG_CMD_CREATE ++ ++#endif // FSOPEN_CLOEXEC ++ ++/* fsopen flags. With the redundant definition, we check if the kernel, ++ * glibc value and our value still match. ++ */ ++#define FSOPEN_CLOEXEC 0x00000001 + + #ifndef MS_MGC_VAL + /* Magic mount flag number. Has to be or-ed to the flag values. */ +-- +2.34.1 + diff --git a/recipes-containers/criu/files/0005-pycriu-skip-dependency-check-during-build.patch b/recipes-containers/criu/files/0005-pycriu-skip-dependency-check-during-build.patch new file mode 100644 index 00000000..88872911 --- /dev/null +++ b/recipes-containers/criu/files/0005-pycriu-skip-dependency-check-during-build.patch @@ -0,0 +1,32 @@ +From 2ec745ac11357e3243ef1f23f817c276518ce7cb Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Sat, 2 Mar 2024 13:48:54 -0800 +Subject: [PATCH] pycriu: --skip-dependency-check during build + +It complains about needing protobuf<4, python3-protobuf is 4.25 in meta-python + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + lib/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/Makefile b/lib/Makefile +index b5f147482..e3faa7a06 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -66,11 +66,11 @@ ifeq ($(PIP_BREAK_SYSTEM_PACKAGES),0) + $(E) " Consider using PIP_BREAK_SYSTEM_PACKAGES=1 make install" + else + $(E) " INSTALL " pycriu +- $(Q) $(PYTHON) -m build --no-isolation --wheel --outdir $(PEP517_WHEEL_PATH) $(PEP517_SOURCE_PATH) $(PEP517_BUILD_OPTS) ++ $(Q) $(PYTHON) -m build --no-isolation --wheel --skip-dependency-check --outdir $(PEP517_WHEEL_PATH) $(PEP517_SOURCE_PATH) $(PEP517_BUILD_OPTS) + endif + else + $(E) " BUILD " pycriu +- $(Q) $(PYTHON) -m build --no-isolation --wheel --outdir $(PEP517_WHEEL_PATH) $(PEP517_SOURCE_PATH) $(PEP517_BUILD_OPTS) ++ $(Q) $(PYTHON) -m build --no-isolation --wheel --skip-dependency-check --outdir $(PEP517_WHEEL_PATH) $(PEP517_SOURCE_PATH) $(PEP517_BUILD_OPTS) + $(E) " INSTALL " pycriu + #nativepython3 -m installer ${INSTALL_WHEEL_COMPILE_BYTECODE} --interpreter "${USRBINPATH}/env ${PEP517_INSTALL_PYTHON}" --destdir=${D} ${PEP517_WHEEL_PATH}/*.whl + diff --git a/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch b/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch deleted file mode 100644 index 9361adc2..00000000 --- a/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b59947007362b53e9f41f1e5a33071dedf1c59ac Mon Sep 17 00:00:00 2001 -From: Adrian Reber <areber@redhat.com> -Date: Thu, 28 Sep 2017 09:13:33 +0000 -Subject: [PATCH] fix building on newest glibc and kernel - -On Fedora rawhide with kernel-headers-4.14.0-0.rc2.git0.1.fc28.x86_64 -glibc-devel-2.26.90-15.fc28.x86_64 criu does not build any more: - -In file included from /usr/include/linux/aio_abi.h:31:0, - from criu/cr-check.c:24: -/usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant - MS_RDONLY = 1, /* Mount read-only. */ - ^ -make[2]: *** [/builddir/build/BUILD/criu-3.5/scripts/nmk/scripts/build.mk:111: criu/cr-check.o] Error 1 -make[1]: *** [criu/Makefile:73: criu/built-in.o] Error 2 -make: *** [Makefile:233: criu] Error 2 - -This simple re-ordering of includes fixes it for me. - -Signed-off-by: Adrian Reber <areber@redhat.com> -Signed-off-by: Andrei Vagin <avagin@virtuozzo.com> - -Upstream-Status: Backport -[https://github.com/checkpoint-restore/criu/commit/f41e386d4d40e3e26b0cfdc85a812b7edb337f1d#diff-cc847b1cc975358c6582595be92d48db] - -Signed-off-by: Yi Zhao <yi.zhao@windriver.com> - ---- - criu/cr-check.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/criu/cr-check.c b/criu/cr-check.c -index 1dd887a..93df2ab 100644 ---- a/criu/cr-check.c -+++ b/criu/cr-check.c -@@ -21,8 +21,8 @@ - #include <netinet/in.h> - #include <sys/prctl.h> - #include <sched.h> --#include <linux/aio_abi.h> - #include <sys/mount.h> -+#include <linux/aio_abi.h> - - #include "../soccr/soccr.h" - diff --git a/recipes-containers/crun/crun_git.bb b/recipes-containers/crun/crun_git.bb index 549f6090..89ba21b4 100644 --- a/recipes-containers/crun/crun_git.bb +++ b/recipes-containers/crun/crun_git.bb @@ -1,24 +1,26 @@ DESCRIPTION = "A fast and low-memory footprint OCI Container Runtime fully written in C." -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" PRIORITY = "optional" -SRCREV_crun = "f302dd8c02c6fddd2c50d1685d82b7a19aae8afe" -SRCREV_libocispec = "c9b8b9524814550a489aa6d38b2dec95633ffa15" -SRCREV_ispec = "79b036d80240ae530a8de15e1d21c7ab9292c693" -SRCREV_rspec = "7413a7f753e1bd9a6a9c6dc7f96f55888cbbd476" +SRCREV_crun = "89d44467e3b410b73f2065756a12789be45b855b" +SRCREV_libocispec = "19c05670c37a42c217caa7b141bcaada7867cc15" +SRCREV_ispec = "9615142d016838b5dfe7453f80af0be74feb5c7c" +SRCREV_rspec = "720792f25ae6e9ee6b1332db698f37659e69ce8d" +SRCREV_yajl = "f344d21280c3e4094919fd318bc5ce75da91fc06" SRCREV_FORMAT = "crun_rspec" -SRC_URI = "git://github.com/containers/crun.git;branch=master;name=crun \ - git://github.com/containers/libocispec.git;branch=master;name=libocispec;destsuffix=git/libocispec \ - git://github.com/opencontainers/runtime-spec.git;branch=master;name=rspec;destsuffix=git/libocispec/runtime-spec \ - git://github.com/opencontainers/image-spec.git;branch=master;name=ispec;destsuffix=git/libocispec/image-spec \ +SRC_URI = "git://github.com/containers/crun.git;branch=main;name=crun;protocol=https \ + git://github.com/containers/libocispec.git;branch=main;name=libocispec;destsuffix=git/libocispec;protocol=https \ + git://github.com/opencontainers/runtime-spec.git;branch=main;name=rspec;destsuffix=git/libocispec/runtime-spec;protocol=https \ + git://github.com/opencontainers/image-spec.git;branch=main;name=ispec;destsuffix=git/libocispec/image-spec;protocol=https \ + git://github.com/containers/yajl.git;branch=main;name=yajl;destsuffix=git/libocispec/yajl;protocol=https \ " -PV = "0.18+git${SRCREV_crun}" +PV = "v1.14.3+git${SRCREV_crun}" S = "${WORKDIR}/git" -REQUIRED_DISTRO_FEATURES ?= "systemd" +REQUIRED_DISTRO_FEATURES ?= "systemd seccomp" inherit autotools-brokensep pkgconfig features_check @@ -28,10 +30,13 @@ DEPENDS = "yajl libcap go-md2man-native m4-native" # TODO: is there a packageconfig to turn this off ? DEPENDS += "libseccomp" DEPENDS += "systemd" -DEPENDS += "oci-image-spec oci-runtime-spec" +DEPENDS:append:libc-musl = " argp-standalone" -do_configure_prepend () { - ./autogen.sh +do_configure:prepend () { + # extracted from autogen.sh in crun source. This avoids + # git submodule fetching. + mkdir -p m4 + autoreconf -fi } do_install() { diff --git a/recipes-containers/docker-compose/docker-compose_git.bb b/recipes-containers/docker-compose/docker-compose_git.bb new file mode 100644 index 00000000..07650126 --- /dev/null +++ b/recipes-containers/docker-compose/docker-compose_git.bb @@ -0,0 +1,80 @@ +HOMEPAGE = "https://github.com/docker/compose" +SUMMARY = "Multi-container orchestration for Docker" +DESCRIPTION = "Docker compose v2" + +DEPENDS = " \ + go-md2man \ + rsync-native \ +" + +# Specify the first two important SRCREVs as the format +SRCREV_FORMAT="compose_survey" +SRCREV_compose = "3371227794f5f3645f4f19829c60a741635ed329" + +SRC_URI = "git://github.com/docker/compose;name=compose;branch=main;protocol=https" + +include src_uri.inc + +# patches and config +SRC_URI += "file://modules.txt" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=175792518e4ac015ab6696d16c4f607e" + +GO_IMPORT = "import" + +PV = "v2.26.0" + +COMPOSE_PKG = "github.com/docker/compose/v2" + +inherit go goarch +inherit pkgconfig + +COMPATIBLE_HOST = "^(?!mips).*" + +do_configure[noexec] = "1" + +PACKAGECONFIG ?= "docker-plugin" +PACKAGECONFIG[docker-plugin] = ",,,docker" + +include relocation.inc + +GOBUILDFLAGS:append = " -mod=vendor" +do_compile() { + cd ${S}/src/import + + export GOPATH="$GOPATH:${S}/src/import/.gopath" + + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export GOARCH=${TARGET_GOARCH} + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + + # our copied .go files are to be used for the build + ln -sf vendor.copy vendor + # inform go that we know what we are doing + cp ${WORKDIR}/modules.txt vendor/ + + GO_LDFLAGS="-s -w -X internal.Version=${PV} -X ${COMPOSE_PKG}/internal.Version=${PV}" + GO_BUILDTAGS="" + mkdir -p ./bin + ${GO} build ${GOBUILDFLAGS} -tags "$GO_BUILDTAGS" -ldflags "$GO_LDFLAGS" -o ./bin/docker-compose ./cmd +} + +do_install() { + if ${@bb.utils.contains('PACKAGECONFIG', 'docker-plugin', 'true', 'false', d)}; then + install -d ${D}${nonarch_libdir}/docker/cli-plugins + install -m 755 ${S}/src/import/bin/docker-compose ${D}${nonarch_libdir}/docker/cli-plugins + else + install -d ${D}${bindir} + install -m 755 ${S}/src/import/bin/docker-compose ${D}${bindir} + fi +} + + +FILES:${PN} += " ${nonarch_libdir}/docker/cli-plugins/" + +INHIBIT_PACKAGE_STRIP = "1" +INSANE_SKIP:${PN} += "ldflags already-stripped" diff --git a/recipes-containers/docker-compose/files/0001-setup.py-import-fastentrypoints.patch b/recipes-containers/docker-compose/files/0001-setup.py-import-fastentrypoints.patch deleted file mode 100644 index df613e84..00000000 --- a/recipes-containers/docker-compose/files/0001-setup.py-import-fastentrypoints.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f3a22f0f14a4b3313e6405dfb6c97df949493a34 Mon Sep 17 00:00:00 2001 -From: Ming Liu <liu.ming50@gmail.com> -Date: Thu, 30 Jan 2020 17:22:19 +0100 -Subject: [PATCH] setup.py: import fastentrypoints - -Upstream-Status: Inappropriate [OE specific configuration] - -Signed-off-by: Ming Liu <liu.ming50@gmail.com> ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index ad57969..3cccffc 100644 ---- a/setup.py -+++ b/setup.py -@@ -12,7 +12,7 @@ import sys - import pkg_resources - from setuptools import find_packages - from setuptools import setup -- -+import fastentrypoints - - def read(*parts): - path = os.path.join(os.path.dirname(__file__), *parts) --- -2.7.4 - diff --git a/recipes-containers/docker-compose/files/0001-setup.py-remove-maximum-version-requirements.patch b/recipes-containers/docker-compose/files/0001-setup.py-remove-maximum-version-requirements.patch deleted file mode 100644 index 7205d3b5..00000000 --- a/recipes-containers/docker-compose/files/0001-setup.py-remove-maximum-version-requirements.patch +++ /dev/null @@ -1,57 +0,0 @@ -From e3aca6421e003d03d119e69bf3d6b30bb5c662c9 Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Fri, 22 Nov 2019 09:24:58 +0800 -Subject: [PATCH] setup.py: remove maximum version requirements - -Remove maximum version requirements so that docker-compose will not -require old version recipes. - -Upstream-Status: Inappropriate [OE Specific] - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> -Signed-off-by: Ming Liu <liu.ming50@gmail.com> ---- - setup.py | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -Index: docker-compose-1.29.1/setup.py -=================================================================== ---- docker-compose-1.29.1.orig/setup.py -+++ docker-compose-1.29.1/setup.py -@@ -25,16 +25,21 @@ - - - install_requires = [ -- 'docopt >= 0.6.1, < 1', -- 'PyYAML >= 3.10, < 6', -- 'requests >= 2.20.0, < 3', -- 'texttable >= 0.9.0, < 2', -+ 'docopt >= 0.6.1', -+ 'PyYAML >= 3.10', -+ 'requests >= 2.20.0', -+ 'texttable >= 0.9.0', - 'websocket-client >= 0.32.0, < 1', - 'distro >= 1.5.0, < 2', -- 'docker[ssh] >= 5', -+ 'docker[ssh] >= 4.4.0, < 5', - 'dockerpty >= 0.4.1, < 1', - 'jsonschema >= 2.5.1, < 4', -- 'python-dotenv >= 0.13.0, < 1', -+ 'websocket-client >= 0.32.0', -+ 'distro >= 1.5.0', -+ 'docker[ssh] >= 5', -+ 'dockerpty >= 0.4.1', -+ 'jsonschema >= 2.5.1', -+ 'python-dotenv >= 0.13.0', - ] - - -@@ -51,7 +56,7 @@ - ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'], - ':python_version < "3.8"': ['cached-property >= 1.2.0, < 2'], - ':sys_platform == "win32"': ['colorama >= 0.4, < 1'], -- 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'], -+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'], - 'tests': tests_require, - } - diff --git a/recipes-containers/docker-compose/files/modules.txt b/recipes-containers/docker-compose/files/modules.txt new file mode 100644 index 00000000..88bd7801 --- /dev/null +++ b/recipes-containers/docker-compose/files/modules.txt @@ -0,0 +1,372 @@ +# github.com/AlecAivazis/survey/v2 v2.3.7 +## explicit +# github.com/Microsoft/go-winio v0.6.1 +## explicit +# github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d +## explicit +# github.com/buger/goterm v1.0.4 +## explicit +# github.com/compose-spec/compose-go/v2 v2.0.2 +## explicit +# github.com/containerd/console v1.0.4 +## explicit +# github.com/containerd/containerd v1.7.13 +## explicit +# github.com/davecgh/go-spew v1.1.1 +## explicit +# github.com/distribution/reference v0.5.0 +## explicit +# github.com/docker/buildx v0.13.1 +## explicit +# github.com/docker/cli v26.0.0+incompatible +## explicit +# github.com/docker/cli-docs-tool v0.7.0 +## explicit +# github.com/docker/docker v26.0.0+incompatible +## explicit +# github.com/docker/go-connections v0.5.0 +## explicit +# github.com/docker/go-units v0.5.0 +## explicit +# github.com/fsnotify/fsevents v0.1.1 +## explicit +# github.com/google/go-cmp v0.6.0 +## explicit +# github.com/hashicorp/go-multierror v1.1.1 +## explicit +# github.com/hashicorp/go-version v1.6.0 +## explicit +# github.com/jonboulle/clockwork v0.4.0 +## explicit +# github.com/mattn/go-shellwords v1.0.12 +## explicit +# github.com/mitchellh/go-ps v1.0.0 +## explicit +# github.com/mitchellh/mapstructure v1.5.0 +## explicit +# github.com/moby/buildkit v0.13.1 +## explicit +# github.com/moby/patternmatcher v0.6.0 +## explicit +# github.com/moby/term v0.5.0 +## explicit +# github.com/morikuni/aec v1.0.0 +## explicit +# github.com/opencontainers/go-digest v1.0.0 +## explicit +# github.com/opencontainers/image-spec v1.1.0-rc6 +## explicit +# github.com/otiai10/copy v1.14.0 +## explicit +# github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc +## explicit +# github.com/sirupsen/logrus v1.9.3 +## explicit +# github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 +## explicit +# github.com/spf13/cobra v1.8.0 +## explicit +# github.com/spf13/pflag v1.0.5 +## explicit +# github.com/stretchr/testify v1.8.4 +## explicit +# github.com/theupdateframework/notary v0.7.0 +## explicit +# github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 +## explicit +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 +## explicit +# go.opentelemetry.io/otel v1.21.0 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 +## explicit +# go.opentelemetry.io/otel/sdk v1.21.0 +## explicit +# go.opentelemetry.io/otel/trace v1.21.0 +## explicit +# go.uber.org/goleak v1.3.0 +## explicit +# go.uber.org/mock v0.4.0 +## explicit +# golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 +## explicit +# golang.org/x/sync v0.6.0 +## explicit +# golang.org/x/sys v0.16.0 +## explicit +# google.golang.org/grpc v1.59.0 +## explicit +# gopkg.in/yaml.v3 v3.0.1 +## explicit +# gotest.tools/v3 v3.5.1 +## explicit +# dario.cat/mergo v1.0.0 +## explicit +# github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 +## explicit +# github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 +## explicit +# github.com/Masterminds/semver/v3 v3.2.1 +## explicit +# github.com/Microsoft/hcsshim v0.11.4 +## explicit +# github.com/aws/aws-sdk-go-v2 v1.24.1 +## explicit +# github.com/aws/aws-sdk-go-v2/config v1.26.6 +## explicit +# github.com/aws/aws-sdk-go-v2/credentials v1.16.16 +## explicit +# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 +## explicit +# github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 +## explicit +# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 +## explicit +# github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3 +## explicit +# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 +## explicit +# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 +## explicit +# github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 +## explicit +# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 +## explicit +# github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 +## explicit +# github.com/aws/smithy-go v1.19.0 +## explicit +# github.com/beorn7/perks v1.0.1 +## explicit +# github.com/cenkalti/backoff/v4 v4.2.1 +## explicit +# github.com/cespare/xxhash/v2 v2.2.0 +## explicit +# github.com/containerd/continuity v0.4.3 +## explicit +# github.com/containerd/log v0.1.0 +## explicit +# github.com/containerd/ttrpc v1.2.2 +## explicit +# github.com/containerd/typeurl/v2 v2.1.1 +## explicit +# github.com/docker/distribution v2.8.3+incompatible +## explicit +# github.com/docker/docker-credential-helpers v0.8.0 +## explicit +# github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c +## explicit +# github.com/docker/go-metrics v0.0.1 +## explicit +# github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 +## explicit +# github.com/emicklei/go-restful/v3 v3.11.0 +## explicit +# github.com/felixge/httpsnoop v1.0.4 +## explicit +# github.com/fvbommel/sortorder v1.0.2 +## explicit +# github.com/go-logr/logr v1.3.0 +## explicit +# github.com/go-logr/stdr v1.2.2 +## explicit +# github.com/go-openapi/jsonpointer v0.19.6 +## explicit +# github.com/go-openapi/jsonreference v0.20.2 +## explicit +# github.com/go-openapi/swag v0.22.3 +## explicit +# github.com/gofrs/flock v0.8.1 +## explicit +# github.com/gogo/googleapis v1.4.1 +## explicit +# github.com/gogo/protobuf v1.3.2 +## explicit +# github.com/golang/protobuf v1.5.3 +## explicit +# github.com/google/gnostic-models v0.6.8 +## explicit +# github.com/google/gofuzz v1.2.0 +## explicit +# github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 +## explicit +# github.com/google/uuid v1.6.0 +## explicit +# github.com/gorilla/mux v1.8.1 +## explicit +# github.com/gorilla/websocket v1.5.0 +## explicit +# github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 +## explicit +# github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 +## explicit +# github.com/hashicorp/errwrap v1.1.0 +## explicit +# github.com/hashicorp/go-cleanhttp v0.5.2 +## explicit +# github.com/imdario/mergo v0.3.16 +## explicit +# github.com/in-toto/in-toto-golang v0.5.0 +## explicit +# github.com/inconshreveable/mousetrap v1.1.0 +## explicit +# github.com/josharian/intern v1.0.0 +## explicit +# github.com/json-iterator/go v1.1.12 +## explicit +# github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 +## explicit +# github.com/klauspost/compress v1.17.4 +## explicit +# github.com/mailru/easyjson v0.7.7 +## explicit +# github.com/mattn/go-colorable v0.1.13 +## explicit +# github.com/mattn/go-isatty v0.0.17 +## explicit +# github.com/mattn/go-runewidth v0.0.15 +## explicit +# github.com/matttproud/golang_protobuf_extensions v1.0.4 +## explicit +# github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b +## explicit +# github.com/miekg/pkcs11 v1.1.1 +## explicit +# github.com/mitchellh/copystructure v1.2.0 +## explicit +# github.com/mitchellh/reflectwalk v1.0.2 +## explicit +# github.com/moby/docker-image-spec v1.3.1 +## explicit +# github.com/moby/locker v1.0.1 +## explicit +# github.com/moby/spdystream v0.2.0 +## explicit +# github.com/moby/sys/mountinfo v0.7.1 +## explicit +# github.com/moby/sys/sequential v0.5.0 +## explicit +# github.com/moby/sys/signal v0.7.0 +## explicit +# github.com/moby/sys/symlink v0.2.0 +## explicit +# github.com/moby/sys/user v0.1.0 +## explicit +# github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd +## explicit +# github.com/modern-go/reflect2 v1.0.2 +## explicit +# github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 +## explicit +# github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f +## explicit +# github.com/pelletier/go-toml v1.9.5 +## explicit +# github.com/pkg/errors v0.9.1 +## explicit +# github.com/pmezard/go-difflib v1.0.0 +## explicit +# github.com/prometheus/client_golang v1.17.0 +## explicit +# github.com/prometheus/client_model v0.5.0 +## explicit +# github.com/prometheus/common v0.44.0 +## explicit +# github.com/prometheus/procfs v0.12.0 +## explicit +# github.com/rivo/uniseg v0.2.0 +## explicit +# github.com/secure-systems-lab/go-securesystemslib v0.4.0 +## explicit +# github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b +## explicit +# github.com/shibumi/go-pathspec v1.3.0 +## explicit +# github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5 +## explicit +# github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea +## explicit +# github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531 +## explicit +# github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb +## explicit +# github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 +## explicit +# github.com/xeipuuv/gojsonschema v1.2.0 +## explicit +# go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 +## explicit +# go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.42.0 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 +## explicit +# go.opentelemetry.io/otel/exporters/prometheus v0.42.0 +## explicit +# go.opentelemetry.io/otel/metric v1.21.0 +## explicit +# go.opentelemetry.io/otel/sdk/metric v1.21.0 +## explicit +# go.opentelemetry.io/proto/otlp v1.0.0 +## explicit +# golang.org/x/crypto v0.18.0 +## explicit +# golang.org/x/mod v0.14.0 +## explicit +# golang.org/x/net v0.20.0 +## explicit +# golang.org/x/oauth2 v0.11.0 +## explicit +# golang.org/x/term v0.16.0 +## explicit +# golang.org/x/text v0.14.0 +## explicit +# golang.org/x/time v0.3.0 +## explicit +# golang.org/x/tools v0.17.0 +## explicit +# google.golang.org/appengine v1.6.7 +## explicit +# google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b +## explicit +# google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b +## explicit +# google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b +## explicit +# google.golang.org/protobuf v1.31.0 +## explicit +# gopkg.in/cenkalti/backoff.v1 v1.1.0 +## explicit +# gopkg.in/inf.v0 v0.9.1 +## explicit +# gopkg.in/yaml.v2 v2.4.0 +## explicit +# k8s.io/api v0.29.2 +## explicit +# k8s.io/apimachinery v0.29.2 +## explicit +# k8s.io/apiserver v0.29.2 +## explicit +# k8s.io/client-go v0.29.2 +## explicit +# k8s.io/klog/v2 v2.110.1 +## explicit +# k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 +## explicit +# k8s.io/utils v0.0.0-20230726121419-3b25d923346b +## explicit +# sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd +## explicit +# sigs.k8s.io/structured-merge-diff/v4 v4.4.1 +## explicit +# sigs.k8s.io/yaml v1.3.0 +## explicit +# tags.cncf.io/container-device-interface v0.6.2 +## explicit diff --git a/recipes-containers/docker-compose/python3-docker-compose_1.29.1.bb b/recipes-containers/docker-compose/python3-docker-compose_1.29.1.bb deleted file mode 100644 index d74f742e..00000000 --- a/recipes-containers/docker-compose/python3-docker-compose_1.29.1.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Multi-container orchestration for Docker" -HOMEPAGE = "https://www.docker.com/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=435b266b3899aa8a959f17d41c56def8" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "49c202544c7e2eadbbe45da8e838ae02" -SRC_URI[sha256sum] = "d2064934f5084db8a0c4805e226447bf1fd0c928419be95afb6bd1866838c1f1" - - -SRC_URI += "file://0001-setup.py-remove-maximum-version-requirements.patch \ - file://0001-setup.py-import-fastentrypoints.patch \ - " - -DEPENDS += "${PYTHON_PN}-fastentrypoints-native" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-cached-property \ - ${PYTHON_PN}-certifi \ - ${PYTHON_PN}-chardet \ - ${PYTHON_PN}-colorama \ - ${PYTHON_PN}-distro \ - ${PYTHON_PN}-docker \ - ${PYTHON_PN}-docker-pycreds \ - ${PYTHON_PN}-dockerpty \ - ${PYTHON_PN}-docopt \ - ${PYTHON_PN}-dotenv \ - ${PYTHON_PN}-fcntl \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-jsonschema \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-paramiko \ - ${PYTHON_PN}-pyyaml \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-terminal \ - ${PYTHON_PN}-texttable \ - ${PYTHON_PN}-urllib3 \ - ${PYTHON_PN}-wcwidth \ - ${PYTHON_PN}-websocket-client \ -" diff --git a/recipes-containers/docker-compose/relocation.inc b/recipes-containers/docker-compose/relocation.inc new file mode 100644 index 00000000..ac21ca05 --- /dev/null +++ b/recipes-containers/docker-compose/relocation.inc @@ -0,0 +1,203 @@ +export sites="k8s.io/api:k8s.io/api:force \ + k8s.io/utils:k8s.io/utils:force \ + k8s.io/klog/v2:k8s.io/klog/v2:force \ + gotest.tools/v3:gotest.tools/v3:force \ + dario.cat/mergo:dario.cat/mergo:force \ + gopkg.in/inf.v0:gopkg.in/inf.v0:force \ + go.uber.org/mock:go.uber.org/mock:force \ + golang.org/x/exp:golang.org/x/exp:force \ + golang.org/x/sys:golang.org/x/sys:force \ + gopkg.in/yaml.v3:gopkg.in/yaml.v3:force \ + golang.org/x/mod:golang.org/x/mod:force \ + golang.org/x/net:golang.org/x/net:force \ + gopkg.in/yaml.v2:gopkg.in/yaml.v2:force \ + k8s.io/apiserver:k8s.io/apiserver:force \ + k8s.io/client-go:k8s.io/client-go:force \ + sigs.k8s.io/json:sigs.k8s.io/json:force \ + sigs.k8s.io/yaml:sigs.k8s.io/yaml:force \ + golang.org/x/sync:golang.org/x/sync:force \ + golang.org/x/term:golang.org/x/term:force \ + golang.org/x/text:golang.org/x/text:force \ + golang.org/x/time:golang.org/x/time:force \ + go.uber.org/goleak:go.uber.org/goleak:force \ + golang.org/x/tools:golang.org/x/tools:force \ + golang.org/x/crypto:golang.org/x/crypto:force \ + golang.org/x/oauth2:golang.org/x/oauth2:force \ + k8s.io/apimachinery:k8s.io/apimachinery:force \ + k8s.io/kube-openapi:k8s.io/kube-openapi:force \ + github.com/moby/term:github.com/moby/term:force \ + github.com/docker/go:github.com/docker/go:force \ + github.com/docker/cli:github.com/docker/cli:force \ + github.com/r3labs/sse:github.com/r3labs/sse:force \ + github.com/mgutz/ansi:github.com/mgutz/ansi:force \ + github.com/pkg/errors:github.com/pkg/errors:force \ + github.com/spf13/cobra:github.com/spf13/cobra:force \ + github.com/spf13/pflag:github.com/spf13/pflag:force \ + google.golang.org/grpc:google.golang.org/grpc:force \ + github.com/gofrs/flock:github.com/gofrs/flock:force \ + github.com/google/uuid:github.com/google/uuid:force \ + github.com/gorilla/mux:github.com/gorilla/mux:force \ + github.com/moby/locker:github.com/moby/locker:force \ + github.com/rivo/uniseg:github.com/rivo/uniseg:force \ + github.com/buger/goterm:github.com/buger/goterm:force \ + github.com/morikuni/aec:github.com/morikuni/aec:force \ + github.com/otiai10/copy:github.com/otiai10/copy:force \ + github.com/beorn7/perks:github.com/beorn7/perks:force \ + github.com/go-logr/logr:github.com/go-logr/logr:force \ + github.com/go-logr/stdr:github.com/go-logr/stdr:force \ + github.com/google/shlex:github.com/google/shlex:force \ + github.com/miekg/pkcs11:github.com/miekg/pkcs11:force \ + github.com/docker/buildx:github.com/docker/buildx:force \ + github.com/docker/docker:github.com/docker/docker:force \ + github.com/google/go-cmp:github.com/google/go-cmp:force \ + github.com/moby/buildkit:github.com/moby/buildkit:force \ + go.opentelemetry.io/otel:go.opentelemetry.io/otel:force \ + github.com/aws/smithy-go:github.com/aws/smithy-go:force \ + github.com/gogo/protobuf:github.com/gogo/protobuf:force \ + github.com/google/gofuzz:github.com/google/gofuzz:force \ + github.com/imdario/mergo:github.com/imdario/mergo:force \ + github.com/containerd/log:github.com/containerd/log:force \ + github.com/davecgh/go-spew:github.com/davecgh/go-spew:force \ + github.com/docker/go-units:github.com/docker/go-units:force \ + github.com/mitchellh/go-ps:github.com/mitchellh/go-ps:force \ + github.com/sirupsen/logrus:github.com/sirupsen/logrus:force \ + github.com/go-openapi/swag:github.com/go-openapi/swag:force \ + github.com/gogo/googleapis:github.com/gogo/googleapis:force \ + github.com/golang/protobuf:github.com/golang/protobuf:force \ + github.com/mailru/easyjson:github.com/mailru/easyjson:force \ + github.com/mattn/go-isatty:github.com/mattn/go-isatty:force \ + github.com/moby/spdystream:github.com/moby/spdystream:force \ + github.com/mxk/go-flowrate:github.com/mxk/go-flowrate:force \ + google.golang.org/genproto:google.golang.org/genproto:force \ + google.golang.org/protobuf:google.golang.org/protobuf:force \ + github.com/moby/sys/user:github.com/moby/sys/user/user:force \ + github.com/stretchr/testify:github.com/stretchr/testify:force \ + github.com/containerd/ttrpc:github.com/containerd/ttrpc:force \ + github.com/josharian/intern:github.com/josharian/intern:force \ + github.com/json-iterator/go:github.com/json-iterator/go:force \ + github.com/serialx/hashring:github.com/serialx/hashring:force \ + github.com/tonistiigi/units:github.com/tonistiigi/units:force \ + github.com/tonistiigi/vt100:github.com/tonistiigi/vt100:force \ + google.golang.org/appengine:google.golang.org/appengine:force \ + github.com/fsnotify/fsevents:github.com/fsnotify/fsevents:force \ + github.com/tilt-dev/fsnotify:github.com/tilt-dev/fsnotify:force \ + github.com/Azure/go-ansiterm:github.com/Azure/go-ansiterm:force \ + github.com/Microsoft/hcsshim:github.com/Microsoft/hcsshim:force \ + github.com/aws/aws-sdk-go-v2:github.com/aws/aws-sdk-go-v2:force \ + github.com/cespare/xxhash/v2:github.com/cespare/xxhash/v2:force \ + github.com/docker/go-metrics:github.com/docker/go-metrics:force \ + github.com/eiannone/keyboard:github.com/eiannone/keyboard:force \ + github.com/felixge/httpsnoop:github.com/felixge/httpsnoop:force \ + github.com/gorilla/websocket:github.com/gorilla/websocket:force \ + github.com/hashicorp/errwrap:github.com/hashicorp/errwrap:force \ + github.com/munnerz/goautoneg:github.com/munnerz/goautoneg:force \ + github.com/pelletier/go-toml:github.com/pelletier/go-toml:force \ + github.com/prometheus/common:github.com/prometheus/common:force \ + github.com/prometheus/procfs:github.com/prometheus/procfs:force \ + github.com/tonistiigi/fsutil:github.com/tonistiigi/fsutil:force \ + gopkg.in/cenkalti/backoff.v1:gopkg.in/cenkalti/backoff.v1:force \ + github.com/Microsoft/go-winio:github.com/Microsoft/go-winio:force \ + github.com/acarl005/stripansi:github.com/acarl005/stripansi:force \ + github.com/containerd/console:github.com/containerd/console:force \ + github.com/fvbommel/sortorder:github.com/fvbommel/sortorder:force \ + github.com/klauspost/compress:github.com/klauspost/compress:force \ + github.com/mattn/go-colorable:github.com/mattn/go-colorable:force \ + github.com/mattn/go-runewidth:github.com/mattn/go-runewidth:force \ + github.com/modern-go/reflect2:github.com/modern-go/reflect2:force \ + github.com/pmezard/go-difflib:github.com/pmezard/go-difflib:force \ + github.com/moby/sys/signal:github.com/moby/sys/signal/signal:force \ + github.com/jonboulle/clockwork:github.com/jonboulle/clockwork:force \ + github.com/mattn/go-shellwords:github.com/mattn/go-shellwords:force \ + github.com/moby/patternmatcher:github.com/moby/patternmatcher:force \ + go.opentelemetry.io/otel/sdk:go.opentelemetry.io/otel/sdk/sdk:force \ + github.com/cenkalti/backoff/v4:github.com/cenkalti/backoff/v4:force \ + github.com/docker/distribution:github.com/docker/distribution:force \ + github.com/shibumi/go-pathspec:github.com/shibumi/go-pathspec:force \ + github.com/docker/cli-docs-tool:github.com/docker/cli-docs-tool:force \ + github.com/hashicorp/go-version:github.com/hashicorp/go-version:force \ + github.com/moby/sys/symlink:github.com/moby/sys/symlink/symlink:force \ + github.com/modern-go/concurrent:github.com/modern-go/concurrent:force \ + github.com/xeipuuv/gojsonschema:github.com/xeipuuv/gojsonschema:force \ + github.com/AlecAivazis/survey/v2:github.com/AlecAivazis/survey/v2:force \ + github.com/containerd/containerd:github.com/containerd/containerd:force \ + github.com/docker/go-connections:github.com/docker/go-connections:force \ + github.com/Masterminds/semver/v3:github.com/Masterminds/semver/v3:force \ + github.com/containerd/continuity:github.com/containerd/continuity:force \ + github.com/containerd/typeurl/v2:github.com/containerd/typeurl/v2:force \ + github.com/google/gnostic-models:github.com/google/gnostic-models:force \ + github.com/mitchellh/reflectwalk:github.com/mitchellh/reflectwalk:force \ + github.com/xeipuuv/gojsonpointer:github.com/xeipuuv/gojsonpointer:force \ + go.opentelemetry.io/proto/otlp:go.opentelemetry.io/proto/otlp/otlp:force \ + github.com/distribution/reference:github.com/distribution/reference:force \ + github.com/mitchellh/mapstructure:github.com/mitchellh/mapstructure:force \ + github.com/skratchdot/open-golang:github.com/skratchdot/open-golang:force \ + go.opentelemetry.io/otel/trace:go.opentelemetry.io/otel/trace/trace:force \ + github.com/emicklei/go-restful/v3:github.com/emicklei/go-restful/v3:force \ + github.com/go-openapi/jsonpointer:github.com/go-openapi/jsonpointer:force \ + github.com/hashicorp/go-cleanhttp:github.com/hashicorp/go-cleanhttp:force \ + github.com/in-toto/in-toto-golang:github.com/in-toto/in-toto-golang:force \ + github.com/kballard/go-shellquote:github.com/kballard/go-shellquote:force \ + github.com/moby/docker-image-spec:github.com/moby/docker-image-spec:force \ + github.com/hashicorp/go-multierror:github.com/hashicorp/go-multierror:force \ + github.com/mitchellh/copystructure:github.com/mitchellh/copystructure:force \ + github.com/moby/sys/mountinfo:github.com/moby/sys/mountinfo/mountinfo:force \ + github.com/prometheus/client_model:github.com/prometheus/client_model:force \ + github.com/xeipuuv/gojsonreference:github.com/xeipuuv/gojsonreference:force \ + go.opentelemetry.io/otel/metric:go.opentelemetry.io/otel/metric/metric:force \ + github.com/opencontainers/go-digest:github.com/opencontainers/go-digest:force \ + github.com/go-openapi/jsonreference:github.com/go-openapi/jsonreference:force \ + github.com/prometheus/client_golang:github.com/prometheus/client_golang:force \ + github.com/moby/sys/sequential:github.com/moby/sys/sequential/sequential:force \ + github.com/opencontainers/image-spec:github.com/opencontainers/image-spec:force \ + github.com/theupdateframework/notary:github.com/theupdateframework/notary:force \ + github.com/AdaLogics/go-fuzz-headers:github.com/AdaLogics/go-fuzz-headers:force \ + github.com/inconshreveable/mousetrap:github.com/inconshreveable/mousetrap:force \ + sigs.k8s.io/structured-merge-diff/v4:sigs.k8s.io/structured-merge-diff/v4:force \ + github.com/compose-spec/compose-go/v2:github.com/compose-spec/compose-go/v2:force \ + github.com/aws/aws-sdk-go-v2/config:github.com/aws/aws-sdk-go-v2/config/config:force \ + tags.cncf.io/container-device-interface:tags.cncf.io/container-device-interface:force \ + go.opentelemetry.io/otel/sdk/metric:go.opentelemetry.io/otel/sdk/metric/sdk/metric:force \ + github.com/grpc-ecosystem/grpc-gateway/v2:github.com/grpc-ecosystem/grpc-gateway/v2:force \ + github.com/docker/docker-credential-helpers:github.com/docker/docker-credential-helpers:force \ + github.com/grpc-ecosystem/go-grpc-middleware:github.com/grpc-ecosystem/go-grpc-middleware:force \ + github.com/aws/aws-sdk-go-v2/credentials:github.com/aws/aws-sdk-go-v2/credentials/credentials:force \ + github.com/aws/aws-sdk-go-v2/service/sso:github.com/aws/aws-sdk-go-v2/service/sso/service/sso:force \ + github.com/aws/aws-sdk-go-v2/service/sts:github.com/aws/aws-sdk-go-v2/service/sts/service/sts:force \ + github.com/aws/aws-sdk-go-v2/internal/ini:github.com/aws/aws-sdk-go-v2/internal/ini/internal/ini:force \ + github.com/matttproud/golang_protobuf_extensions:github.com/matttproud/golang_protobuf_extensions:force \ + google.golang.org/genproto/googleapis/api:google.golang.org/genproto/googleapis/api/googleapis/api:force \ + google.golang.org/genproto/googleapis/rpc:google.golang.org/genproto/googleapis/rpc/googleapis/rpc:force \ + github.com/secure-systems-lab/go-securesystemslib:github.com/secure-systems-lab/go-securesystemslib:force \ + github.com/aws/aws-sdk-go-v2/service/ssooidc:github.com/aws/aws-sdk-go-v2/service/ssooidc/service/ssooidc:force \ + github.com/aws/aws-sdk-go-v2/feature/ec2/imds:github.com/aws/aws-sdk-go-v2/feature/ec2/imds/feature/ec2/imds:force \ + go.opentelemetry.io/otel/exporters/prometheus:go.opentelemetry.io/otel/exporters/prometheus/exporters/prometheus:force \ + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2:github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/internal/endpoints/v2:force \ + go.opentelemetry.io/otel/exporters/otlp/otlptrace:go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporters/otlp/otlptrace:force \ + github.com/aws/aws-sdk-go-v2/internal/configsources:github.com/aws/aws-sdk-go-v2/internal/configsources/internal/configsources:force \ + go.opentelemetry.io/otel/exporters/otlp/otlpmetric:go.opentelemetry.io/otel/exporters/otlp/otlpmetric/exporters/otlp/otlpmetric:force \ + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url:github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/service/internal/presigned-url:force \ + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding:github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/service/internal/accept-encoding:force \ + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp:go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/instrumentation/net/http/otelhttp:force \ + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc:go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/exporters/otlp/otlptrace/otlptracegrpc:force \ + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp:go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/exporters/otlp/otlptrace/otlptracehttp:force \ + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc:go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/exporters/otlp/otlpmetric/otlpmetricgrpc:force \ + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp:go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/exporters/otlp/otlpmetric/otlpmetrichttp:force \ + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc:go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/instrumentation/google.golang.org/grpc/otelgrpc:force \ + go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace:go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace/instrumentation/net/http/httptrace/otelhttptrace:force" + +do_compile:prepend() { + cd ${S}/src/import + for s in $sites; do + site_dest=$(echo $s | cut -d: -f1) + site_source=$(echo $s | cut -d: -f2) + force_flag=$(echo $s | cut -d: -f3) + mkdir -p vendor.copy/$site_dest + if [ -n "$force_flag" ]; then + echo "[INFO] $site_dest: force copying .go files" + rm -rf vendor.copy/$site_dest + rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest + else + [ -n "$(ls -A vendor.copy/$site_dest/*.go 2> /dev/null)" ] && { echo "[INFO] vendor.fetch/$site_source -> $site_dest: go copy skipped (files present)" ; true ; } || { echo "[INFO] $site_dest: copying .go files" ; rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest ; } + fi + done +} diff --git a/recipes-containers/docker-compose/src_uri.inc b/recipes-containers/docker-compose/src_uri.inc new file mode 100644 index 00000000..1978abc7 --- /dev/null +++ b/recipes-containers/docker-compose/src_uri.inc @@ -0,0 +1,930 @@ +# k8s.io/api v0.29.2 +# [1] git ls-remote https://github.com/kubernetes/api d47313059888ec984bf8432ed155fae5be935c31 +SRCREV_k8s.io-api="d47313059888ec984bf8432ed155fae5be935c31" +SRC_URI += "git://github.com/kubernetes/api;name=k8s.io-api;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/api" + +# k8s.io/utils v0.0.0-20230726121419-3b25d923346b +# [1] git ls-remote https://github.com/kubernetes/utils 3b25d923346b3814e0898684c97390092f31a61e +SRCREV_utils="3b25d923346b3814e0898684c97390092f31a61e" +SRC_URI += "git://github.com/kubernetes/utils;name=utils;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/utils" + +# k8s.io/klog/v2 v2.110.1 +# [1] git ls-remote https://github.com/kubernetes/klog e3f75b8af2707d64b5dd4c440ae8384ed2f2c386 +SRCREV_klog-v2="e3f75b8af2707d64b5dd4c440ae8384ed2f2c386" +SRC_URI += "git://github.com/kubernetes/klog;name=klog-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/klog/v2" + +# gotest.tools/v3 v3.5.1 +# [1] git ls-remote https://github.com/gotestyourself/gotest.tools 81cea1abc596b025bf2573c7fdf97740512e4c6c +SRCREV_v3="81cea1abc596b025bf2573c7fdf97740512e4c6c" +SRC_URI += "git://github.com/gotestyourself/gotest.tools;name=v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gotest.tools/v3" + +# dario.cat/mergo v1.0.0 +# [1] git ls-remote https://github.com/imdario/mergo 131de815afc35a77c41ae99da6c8f4288b6cb513 +SRCREV_mergo="131de815afc35a77c41ae99da6c8f4288b6cb513" +SRC_URI += "git://github.com/imdario/mergo;name=mergo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/dario.cat/mergo" + +# gopkg.in/inf.v0 v0.9.1 +# [1] git ls-remote https://github.com/go-inf/inf d2d2541c53f18d2a059457998ce2876cc8e67cbf +SRCREV_inf.v0="d2d2541c53f18d2a059457998ce2876cc8e67cbf" +SRC_URI += "git://github.com/go-inf/inf;name=inf.v0;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/inf.v0" + +# go.uber.org/mock v0.4.0 +# [1] git ls-remote https://github.com/uber/mock 74a29c6e6c2cbb8ccee94db061c1604ff33fd188 +SRCREV_mock="74a29c6e6c2cbb8ccee94db061c1604ff33fd188" +SRC_URI += "git://github.com/uber/mock;name=mock;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/mock" + +# golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 +# [1] git ls-remote https://go.googlesource.com/exp db7319d0e0e361ccef5c449b760df8e5f2d5087c +SRCREV_exp="db7319d0e0e361ccef5c449b760df8e5f2d5087c" +SRC_URI += "git://go.googlesource.com/exp;name=exp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/exp" + +# golang.org/x/sys v0.16.0 +# [1] git ls-remote https://go.googlesource.com/sys 0829ab15b6946f47c40012db2e0c04772730317d +SRCREV_sys="0829ab15b6946f47c40012db2e0c04772730317d" +SRC_URI += "git://go.googlesource.com/sys;name=sys;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/sys" + +# gopkg.in/yaml.v3 v3.0.1 +# [1] git ls-remote https://github.com/go-yaml/yaml f6f7691b1fdeb513f56608cd2c32c51f8194bf51 +SRCREV_yaml.v3="f6f7691b1fdeb513f56608cd2c32c51f8194bf51" +SRC_URI += "git://github.com/go-yaml/yaml;name=yaml.v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/yaml.v3" + +# golang.org/x/mod v0.14.0 +# [1] git ls-remote https://go.googlesource.com/mod 6e58e47c7bd6672665dc35cce7b1f325d2addd67 +SRCREV_mod="6e58e47c7bd6672665dc35cce7b1f325d2addd67" +SRC_URI += "git://go.googlesource.com/mod;name=mod;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/mod" + +# golang.org/x/net v0.20.0 +# [1] git ls-remote https://go.googlesource.com/net cb5b10f0bbc51089bf49030ce3bd43bbfee08c23 +SRCREV_net="cb5b10f0bbc51089bf49030ce3bd43bbfee08c23" +SRC_URI += "git://go.googlesource.com/net;name=net;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/net" + +# gopkg.in/yaml.v2 v2.4.0 +# [1] git ls-remote https://github.com/go-yaml/yaml 7649d4548cb53a614db133b2a8ac1f31859dda8c +SRCREV_yaml.v2="7649d4548cb53a614db133b2a8ac1f31859dda8c" +SRC_URI += "git://github.com/go-yaml/yaml;name=yaml.v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/yaml.v2" + +# k8s.io/apiserver v0.29.2 +# [1] git ls-remote https://github.com/kubernetes/apiserver 4c39f36a732cfb11f3fc75110c7301336b6b64e3 +SRCREV_apiserver="4c39f36a732cfb11f3fc75110c7301336b6b64e3" +SRC_URI += "git://github.com/kubernetes/apiserver;name=apiserver;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/apiserver" + +# k8s.io/client-go v0.29.2 +# [1] git ls-remote https://github.com/kubernetes/client-go 62c5e9e7b4bd09d2b43dcad1464376322398e994 +SRCREV_client-go="62c5e9e7b4bd09d2b43dcad1464376322398e994" +SRC_URI += "git://github.com/kubernetes/client-go;name=client-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/client-go" + +# sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd +# [1] git ls-remote https://github.com/kubernetes-sigs/json bc3834ca7abd3a90f03ef00a27ad80cb892f9c21 +SRCREV_json="bc3834ca7abd3a90f03ef00a27ad80cb892f9c21" +SRC_URI += "git://github.com/kubernetes-sigs/json;name=json;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/json" + +# sigs.k8s.io/yaml v1.3.0 +# [1] git ls-remote https://github.com/kubernetes-sigs/yaml 9535b3b1e2893fe44efb37c5c9f5665e245d786a +SRCREV_yaml="9535b3b1e2893fe44efb37c5c9f5665e245d786a" +SRC_URI += "git://github.com/kubernetes-sigs/yaml;name=yaml;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/yaml" + +# golang.org/x/sync v0.6.0 +# [1] git ls-remote https://go.googlesource.com/sync 59c1ca1e4661ed4452be4069ceea3c233f4deec1 +SRCREV_sync="59c1ca1e4661ed4452be4069ceea3c233f4deec1" +SRC_URI += "git://go.googlesource.com/sync;name=sync;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/sync" + +# golang.org/x/term v0.16.0 +# [1] git ls-remote https://go.googlesource.com/term ae941452f58ff9bf62f7e9dca3ea6ae3d214a68b +SRCREV_x-term="ae941452f58ff9bf62f7e9dca3ea6ae3d214a68b" +SRC_URI += "git://go.googlesource.com/term;name=x-term;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/term" + +# golang.org/x/text v0.14.0 +# [1] git ls-remote https://go.googlesource.com/text 6c97a165dd661335ff7bce6104a008558123c353 +SRCREV_text="6c97a165dd661335ff7bce6104a008558123c353" +SRC_URI += "git://go.googlesource.com/text;name=text;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/text" + +# golang.org/x/time v0.3.0 +# [1] git ls-remote https://go.googlesource.com/time 2c09566ef13fb5556401ddff3c53c3dbc2a42dac +SRCREV_time="2c09566ef13fb5556401ddff3c53c3dbc2a42dac" +SRC_URI += "git://go.googlesource.com/time;name=time;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/time" + +# go.uber.org/goleak v1.3.0 +# [1] git ls-remote https://github.com/uber-go/goleak 31095c657c34bba405a8d480db27989aa5f60b9c +SRCREV_goleak="31095c657c34bba405a8d480db27989aa5f60b9c" +SRC_URI += "git://github.com/uber-go/goleak;name=goleak;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/goleak" + +# golang.org/x/tools v0.17.0 +# [1] git ls-remote https://go.googlesource.com/tools 0b1f1d4bc227cc2e610854f23e14696becb9e46c +SRCREV_tools="0b1f1d4bc227cc2e610854f23e14696becb9e46c" +SRC_URI += "git://go.googlesource.com/tools;name=tools;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/tools" + +# golang.org/x/crypto v0.18.0 +# [1] git ls-remote https://go.googlesource.com/crypto dbb6ec16ecef7a66638d8514be54b13660551b0a +SRCREV_crypto="dbb6ec16ecef7a66638d8514be54b13660551b0a" +SRC_URI += "git://go.googlesource.com/crypto;name=crypto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/crypto" + +# golang.org/x/oauth2 v0.11.0 +# [1] git ls-remote https://go.googlesource.com/oauth2 2e4a4e2bfb69ca7609cb423438c55caa131431c1 +SRCREV_oauth2="2e4a4e2bfb69ca7609cb423438c55caa131431c1" +SRC_URI += "git://go.googlesource.com/oauth2;name=oauth2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/oauth2" + +# k8s.io/apimachinery v0.29.2 +# [1] git ls-remote https://github.com/kubernetes/apimachinery dc7e034c86479d49be4b0eefad307621e10caa0e +SRCREV_apimachinery="dc7e034c86479d49be4b0eefad307621e10caa0e" +SRC_URI += "git://github.com/kubernetes/apimachinery;name=apimachinery;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/apimachinery" + +# k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 +# [1] git ls-remote https://github.com/kubernetes/kube-openapi 2dd684a91f00351087fe2f4ed5408d4d2f3775ab +SRCREV_kube-openapi="2dd684a91f00351087fe2f4ed5408d4d2f3775ab" +SRC_URI += "git://github.com/kubernetes/kube-openapi;name=kube-openapi;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/kube-openapi" + +# github.com/moby/term v0.5.0 +# [1] git ls-remote https://github.com/moby/term 9c3c875fad924eb6c9dd32a361b5fc0a49a4feb9 +SRCREV_term="9c3c875fad924eb6c9dd32a361b5fc0a49a4feb9" +SRC_URI += "git://github.com/moby/term;name=term;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/term" + +# github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c +# [1] git ls-remote https://github.com/docker/go d30aec9fd63c35133f8f79c3412ad91a3b08be06 +SRCREV_go="d30aec9fd63c35133f8f79c3412ad91a3b08be06" +SRC_URI += "git://github.com/docker/go;name=go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go" + +# github.com/docker/cli v26.0.0+incompatible +# [1] git ls-remote https://github.com/docker/cli 2ae903e86cab51f694c819721cdfdf5eec693720 +SRCREV_cli="2ae903e86cab51f694c819721cdfdf5eec693720" +SRC_URI += "git://github.com/docker/cli;name=cli;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/cli" + +# github.com/r3labs/sse v0.0.0-20210224172625-26fe804710bc +# [1] git ls-remote https://github.com/r3labs/sse 26fe804710bc39ea7ea6636d36f27c438bd2c06f +SRCREV_sse="26fe804710bc39ea7ea6636d36f27c438bd2c06f" +SRC_URI += "git://github.com/r3labs/sse;name=sse;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/r3labs/sse" + +# github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b +# [1] git ls-remote https://github.com/mgutz/ansi 9520e82c474b0a04dd04f8a40959027271bab992 +SRCREV_ansi="9520e82c474b0a04dd04f8a40959027271bab992" +SRC_URI += "git://github.com/mgutz/ansi;name=ansi;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mgutz/ansi" + +# github.com/pkg/errors v0.9.1 +# [1] git ls-remote https://github.com/pkg/errors 614d223910a179a466c1767a985424175c39b465 +SRCREV_errors="614d223910a179a466c1767a985424175c39b465" +SRC_URI += "git://github.com/pkg/errors;name=errors;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pkg/errors" + +# github.com/spf13/cobra v1.8.0 +# [1] git ls-remote https://github.com/spf13/cobra a0a6ae020bb3899ff0276067863e50523f897370 +SRCREV_cobra="a0a6ae020bb3899ff0276067863e50523f897370" +SRC_URI += "git://github.com/spf13/cobra;name=cobra;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spf13/cobra" + +# github.com/spf13/pflag v1.0.5 +# [1] git ls-remote https://github.com/spf13/pflag 2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab +SRCREV_pflag="2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab" +SRC_URI += "git://github.com/spf13/pflag;name=pflag;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spf13/pflag" + +# google.golang.org/grpc v1.59.0 +# [1] git ls-remote https://github.com/grpc/grpc-go 7765221f4bf6104973db7946d56936cf838cad46 +SRCREV_grpc="7765221f4bf6104973db7946d56936cf838cad46" +SRC_URI += "git://github.com/grpc/grpc-go;name=grpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/grpc" + +# github.com/gofrs/flock v0.8.1 +# [1] git ls-remote https://github.com/gofrs/flock 6f010d1acea74a32f2f2066bfe324c08bbee30e3 +SRCREV_flock="6f010d1acea74a32f2f2066bfe324c08bbee30e3" +SRC_URI += "git://github.com/gofrs/flock;name=flock;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gofrs/flock" + +# github.com/google/uuid v1.6.0 +# [1] git ls-remote https://github.com/google/uuid 0f11ee6918f41a04c201eceeadf612a377bc7fbc +SRCREV_uuid="0f11ee6918f41a04c201eceeadf612a377bc7fbc" +SRC_URI += "git://github.com/google/uuid;name=uuid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/uuid" + +# github.com/gorilla/mux v1.8.1 +# [1] git ls-remote https://github.com/gorilla/mux b4617d0b9670ad14039b2739167fd35a60f557c5 +SRCREV_mux="b4617d0b9670ad14039b2739167fd35a60f557c5" +SRC_URI += "git://github.com/gorilla/mux;name=mux;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gorilla/mux" + +# github.com/moby/locker v1.0.1 +# [1] git ls-remote https://github.com/moby/locker 281af2d563954745bea9d1487c965f24d30742fe +SRCREV_locker="281af2d563954745bea9d1487c965f24d30742fe" +SRC_URI += "git://github.com/moby/locker;name=locker;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/locker" + +# github.com/rivo/uniseg v0.2.0 +# [1] git ls-remote https://github.com/rivo/uniseg 75711fccf6a3e85bc74c241e2dddd06a9bc9e53d +SRCREV_uniseg="75711fccf6a3e85bc74c241e2dddd06a9bc9e53d" +SRC_URI += "git://github.com/rivo/uniseg;name=uniseg;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rivo/uniseg" + +# github.com/buger/goterm v1.0.4 +# [1] git ls-remote https://github.com/buger/goterm a73545aae7d693f786ce4cc687460efca4845f31 +SRCREV_goterm="a73545aae7d693f786ce4cc687460efca4845f31" +SRC_URI += "git://github.com/buger/goterm;name=goterm;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/buger/goterm" + +# github.com/morikuni/aec v1.0.0 +# [1] git ls-remote https://github.com/morikuni/aec 39771216ff4c63d11f5e604076f9c45e8be1067b +SRCREV_aec="39771216ff4c63d11f5e604076f9c45e8be1067b" +SRC_URI += "git://github.com/morikuni/aec;name=aec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/morikuni/aec" + +# github.com/otiai10/copy v1.14.0 +# [1] git ls-remote https://github.com/otiai10/copy fba066acb0eb6e25d510073787741c0a8b31bf1e +SRCREV_copy="fba066acb0eb6e25d510073787741c0a8b31bf1e" +SRC_URI += "git://github.com/otiai10/copy;name=copy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/otiai10/copy" + +# github.com/beorn7/perks v1.0.1 +# [1] git ls-remote https://github.com/beorn7/perks 37c8de3658fcb183f997c4e13e8337516ab753e6 +SRCREV_perks="37c8de3658fcb183f997c4e13e8337516ab753e6" +SRC_URI += "git://github.com/beorn7/perks;name=perks;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/beorn7/perks" + +# github.com/go-logr/logr v1.3.0 +# [1] git ls-remote https://github.com/go-logr/logr 8adefbede0fe82bdee4fb8c9c9bdc7bc5d91388f +SRCREV_logr="8adefbede0fe82bdee4fb8c9c9bdc7bc5d91388f" +SRC_URI += "git://github.com/go-logr/logr;name=logr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-logr/logr" + +# github.com/go-logr/stdr v1.2.2 +# [1] git ls-remote https://github.com/go-logr/stdr 521af2addfa7c81c8a65d0e85ed34bb6bb6dc262 +SRCREV_stdr="521af2addfa7c81c8a65d0e85ed34bb6bb6dc262" +SRC_URI += "git://github.com/go-logr/stdr;name=stdr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-logr/stdr" + +# github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 +# [1] git ls-remote https://github.com/google/shlex e7afc7fbc51079733e9468cdfd1efcd7d196cd1d +SRCREV_shlex="e7afc7fbc51079733e9468cdfd1efcd7d196cd1d" +SRC_URI += "git://github.com/google/shlex;name=shlex;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/shlex" + +# github.com/miekg/pkcs11 v1.1.1 +# [1] git ls-remote https://github.com/miekg/pkcs11 f3481918a208bd212aa995a41f92d786eb418a7d +SRCREV_pkcs11="f3481918a208bd212aa995a41f92d786eb418a7d" +SRC_URI += "git://github.com/miekg/pkcs11;name=pkcs11;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/miekg/pkcs11" + +# github.com/docker/buildx v0.13.1 +# [1] git ls-remote https://github.com/docker/buildx 788433953af10f2a698f5c07611dddce2e08c7a0 +SRCREV_buildx="788433953af10f2a698f5c07611dddce2e08c7a0" +SRC_URI += "git://github.com/docker/buildx;name=buildx;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/buildx" + +# github.com/docker/docker v26.0.0+incompatible +# [1] git ls-remote https://github.com/moby/moby 8b79278316b532d396048bc8c2fa015a85d53a53 +SRCREV_docker="8b79278316b532d396048bc8c2fa015a85d53a53" +SRC_URI += "git://github.com/moby/moby;name=docker;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/docker" + +# github.com/google/go-cmp v0.6.0 +# [1] git ls-remote https://github.com/google/go-cmp c3ad8435e7bef96af35732bc0789e5a2278c6d5f +SRCREV_go-cmp="c3ad8435e7bef96af35732bc0789e5a2278c6d5f" +SRC_URI += "git://github.com/google/go-cmp;name=go-cmp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/go-cmp" + +# github.com/moby/buildkit v0.13.1 +# [1] git ls-remote https://github.com/moby/buildkit 2ae42e0c0c793d7d66b7a23424af6fd6c2f9c8f3 +SRCREV_buildkit="2ae42e0c0c793d7d66b7a23424af6fd6c2f9c8f3" +SRC_URI += "git://github.com/moby/buildkit;name=buildkit;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/buildkit" + +# go.opentelemetry.io/otel v1.21.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 98b32a6c3a87fbee5d34c063b9096f416b250897 +SRCREV_otel="98b32a6c3a87fbee5d34c063b9096f416b250897" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otel;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel" + +# github.com/aws/smithy-go v1.19.0 +# [1] git ls-remote https://github.com/aws/smithy-go f982aed889669e4bc6f1cd03f56697f1b27964a4 +SRCREV_smithy-go="f982aed889669e4bc6f1cd03f56697f1b27964a4" +SRC_URI += "git://github.com/aws/smithy-go;name=smithy-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/smithy-go" + +# github.com/gogo/protobuf v1.3.2 +# [1] git ls-remote https://github.com/gogo/protobuf b03c65ea87cdc3521ede29f62fe3ce239267c1bc +SRCREV_protobuf="b03c65ea87cdc3521ede29f62fe3ce239267c1bc" +SRC_URI += "git://github.com/gogo/protobuf;name=protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gogo/protobuf" + +# github.com/google/gofuzz v1.2.0 +# [1] git ls-remote https://github.com/google/gofuzz 379e164120fbc98885a8f494b5aa41ba94f64c56 +SRCREV_gofuzz="379e164120fbc98885a8f494b5aa41ba94f64c56" +SRC_URI += "git://github.com/google/gofuzz;name=gofuzz;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/gofuzz" + +# github.com/imdario/mergo v0.3.16 +# [1] git ls-remote https://github.com/darccio/mergo 14fe2b165b83359196f820886a2b24f2771729e9 +SRCREV_imdario-mergo="14fe2b165b83359196f820886a2b24f2771729e9" +SRC_URI += "git://github.com/darccio/mergo;name=imdario-mergo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/imdario/mergo" + +# github.com/moby/sys/user v0.1.0 +# [1] git ls-remote https://github.com/moby/sys c0711cde08c8fa33857a2c28721659267f49b5e2 +SRCREV_user="c0711cde08c8fa33857a2c28721659267f49b5e2" +SRC_URI += "git://github.com/moby/sys;name=user;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/user" + +# github.com/containerd/log v0.1.0 +# [1] git ls-remote https://github.com/containerd/log 0fc1e28871fdf2786e2cc51bbe4133db6547a199 +SRCREV_log="0fc1e28871fdf2786e2cc51bbe4133db6547a199" +SRC_URI += "git://github.com/containerd/log;name=log;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/log" + +# github.com/davecgh/go-spew v1.1.1 +# [1] git ls-remote https://github.com/davecgh/go-spew 8991bc29aa16c548c550c7ff78260e27b9ab7c73 +SRCREV_go-spew="8991bc29aa16c548c550c7ff78260e27b9ab7c73" +SRC_URI += "git://github.com/davecgh/go-spew;name=go-spew;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/davecgh/go-spew" + +# github.com/docker/go-units v0.5.0 +# [1] git ls-remote https://github.com/docker/go-units e682442797b36348f8e1f98defdbf32bac0b6c6f +SRCREV_go-units="e682442797b36348f8e1f98defdbf32bac0b6c6f" +SRC_URI += "git://github.com/docker/go-units;name=go-units;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-units" + +# github.com/mitchellh/go-ps v1.0.0 +# [1] git ls-remote https://github.com/mitchellh/go-ps 147ff83818ae939913b2e20b91ae3cd6c391771c +SRCREV_go-ps="147ff83818ae939913b2e20b91ae3cd6c391771c" +SRC_URI += "git://github.com/mitchellh/go-ps;name=go-ps;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/go-ps" + +# github.com/sirupsen/logrus v1.9.3 +# [1] git ls-remote https://github.com/sirupsen/logrus d40e25cd45ed9c6b2b66e6b97573a0413e4c23bd +SRCREV_logrus="d40e25cd45ed9c6b2b66e6b97573a0413e4c23bd" +SRC_URI += "git://github.com/sirupsen/logrus;name=logrus;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/sirupsen/logrus" + +# github.com/go-openapi/swag v0.22.3 +# [1] git ls-remote https://github.com/go-openapi/swag 0579829e66fde26b27d401921afb73704c4d463d +SRCREV_swag="0579829e66fde26b27d401921afb73704c4d463d" +SRC_URI += "git://github.com/go-openapi/swag;name=swag;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-openapi/swag" + +# github.com/gogo/googleapis v1.4.1 +# [1] git ls-remote https://github.com/gogo/googleapis 1f0e43f50bc0606e385ffae1bc80b5b231dcd042 +SRCREV_googleapis="1f0e43f50bc0606e385ffae1bc80b5b231dcd042" +SRC_URI += "git://github.com/gogo/googleapis;name=googleapis;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gogo/googleapis" + +# github.com/golang/protobuf v1.5.3 +# [1] git ls-remote https://github.com/golang/protobuf 5d5e8c018a13017f9d5b8bf4fad64aaa42a87308 +SRCREV_golang-protobuf="5d5e8c018a13017f9d5b8bf4fad64aaa42a87308" +SRC_URI += "git://github.com/golang/protobuf;name=golang-protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang/protobuf" + +# github.com/mailru/easyjson v0.7.7 +# [1] git ls-remote https://github.com/mailru/easyjson c120ca7ced6051261161ce15e8f1542a4b2567fc +SRCREV_easyjson="c120ca7ced6051261161ce15e8f1542a4b2567fc" +SRC_URI += "git://github.com/mailru/easyjson;name=easyjson;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mailru/easyjson" + +# github.com/mattn/go-isatty v0.0.17 +# [1] git ls-remote https://github.com/mattn/go-isatty ed75e619dc0f0489fd4062163a7d061eaa249b9c +SRCREV_go-isatty="ed75e619dc0f0489fd4062163a7d061eaa249b9c" +SRC_URI += "git://github.com/mattn/go-isatty;name=go-isatty;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-isatty" + +# github.com/moby/spdystream v0.2.0 +# [1] git ls-remote https://github.com/moby/spdystream dbc715126c0e3fa07721879c6d265b2b82c71e5b +SRCREV_spdystream="dbc715126c0e3fa07721879c6d265b2b82c71e5b" +SRC_URI += "git://github.com/moby/spdystream;name=spdystream;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/spdystream" + +# github.com/moby/sys/signal v0.7.0 +# [1] git ls-remote https://github.com/moby/sys b8d8fabf1fa5cf0de7c1a1729145eee854ea31f5 +SRCREV_signal="b8d8fabf1fa5cf0de7c1a1729145eee854ea31f5" +SRC_URI += "git://github.com/moby/sys;name=signal;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/signal" + +# github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f +# [1] git ls-remote https://github.com/mxk/go-flowrate cca7078d478f8520f85629ad7c68962d31ed7682 +SRCREV_go-flowrate="cca7078d478f8520f85629ad7c68962d31ed7682" +SRC_URI += "git://github.com/mxk/go-flowrate;name=go-flowrate;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mxk/go-flowrate" + +# google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b +# [1] git ls-remote https://github.com/googleapis/go-genproto 49dd2c1f3d0bf0f025ccaf8eeaaad902e3c63846 +SRCREV_genproto="49dd2c1f3d0bf0f025ccaf8eeaaad902e3c63846" +SRC_URI += "git://github.com/googleapis/go-genproto;name=genproto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto" + +# google.golang.org/protobuf v1.31.0 +# [1] git ls-remote https://github.com/protocolbuffers/protobuf-go 68463f0e96c93bc19ef36ccd3adfe690bfdb568c +SRCREV_google.golang.org-protobuf="68463f0e96c93bc19ef36ccd3adfe690bfdb568c" +SRC_URI += "git://github.com/protocolbuffers/protobuf-go;name=google.golang.org-protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/protobuf" + +# github.com/stretchr/testify v1.8.4 +# [1] git ls-remote https://github.com/stretchr/testify f97607b89807936ac4ff96748d766cf4b9711f78 +SRCREV_testify="f97607b89807936ac4ff96748d766cf4b9711f78" +SRC_URI += "git://github.com/stretchr/testify;name=testify;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/stretchr/testify" + +# github.com/containerd/ttrpc v1.2.2 +# [1] git ls-remote https://github.com/containerd/ttrpc ac26f8cbea1c440d451dd19a4a1b847fd073f3c3 +SRCREV_ttrpc="ac26f8cbea1c440d451dd19a4a1b847fd073f3c3" +SRC_URI += "git://github.com/containerd/ttrpc;name=ttrpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/ttrpc" + +# github.com/josharian/intern v1.0.0 +# [1] git ls-remote https://github.com/josharian/intern 8e6ff32b3e7c0b018c43953085fe2ac330fe9acd +SRCREV_intern="8e6ff32b3e7c0b018c43953085fe2ac330fe9acd" +SRC_URI += "git://github.com/josharian/intern;name=intern;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/josharian/intern" + +# github.com/json-iterator/go v1.1.12 +# [1] git ls-remote https://github.com/json-iterator/go 024077e996b048517130b21ea6bf12aa23055d3d +SRCREV_json-iterator-go="024077e996b048517130b21ea6bf12aa23055d3d" +SRC_URI += "git://github.com/json-iterator/go;name=json-iterator-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/json-iterator/go" + +# github.com/moby/sys/symlink v0.2.0 +# [1] git ls-remote https://github.com/moby/sys 03b9f8d59a07f5206a2264105f4903a222aea964 +SRCREV_symlink="03b9f8d59a07f5206a2264105f4903a222aea964" +SRC_URI += "git://github.com/moby/sys;name=symlink;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/symlink" + +# github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b +# [1] git ls-remote https://github.com/serialx/hashring 22c0c7ab6b1be4be7b950bae8b117767da7b18b6 +SRCREV_hashring="22c0c7ab6b1be4be7b950bae8b117767da7b18b6" +SRC_URI += "git://github.com/serialx/hashring;name=hashring;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/serialx/hashring" + +# github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea +# [1] git ls-remote https://github.com/tonistiigi/units 6950e57a87eaf136bbe44ef2ec8e75b9e3569de2 +SRCREV_units="6950e57a87eaf136bbe44ef2ec8e75b9e3569de2" +SRC_URI += "git://github.com/tonistiigi/units;name=units;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tonistiigi/units" + +# github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531 +# [1] git ls-remote https://github.com/tonistiigi/vt100 f9a4f7ef65311848d4d4791c649a178c8e97386b +SRCREV_vt100="f9a4f7ef65311848d4d4791c649a178c8e97386b" +SRC_URI += "git://github.com/tonistiigi/vt100;name=vt100;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tonistiigi/vt100" + +# google.golang.org/appengine v1.6.7 +# [1] git ls-remote https://github.com/golang/appengine 5d1c1d03f8703c2e81478d9a30e9afa2d3e4bd8a +SRCREV_appengine="5d1c1d03f8703c2e81478d9a30e9afa2d3e4bd8a" +SRC_URI += "git://github.com/golang/appengine;name=appengine;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/appengine" + +# github.com/fsnotify/fsevents v0.1.1 +# [1] git ls-remote https://github.com/fsnotify/fsevents f721bd2b045774a566e8f7f5fa2a9985e04c875d +SRCREV_fsevents="f721bd2b045774a566e8f7f5fa2a9985e04c875d" +SRC_URI += "git://github.com/fsnotify/fsevents;name=fsevents;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fsnotify/fsevents" + +# github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 +# [1] git ls-remote https://github.com/tilt-dev/fsnotify fff9c274a375301ae46812f257aa68393790c45b +SRCREV_fsnotify="fff9c274a375301ae46812f257aa68393790c45b" +SRC_URI += "git://github.com/tilt-dev/fsnotify;name=fsnotify;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tilt-dev/fsnotify" + +# go.opentelemetry.io/otel/sdk v1.21.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 98b32a6c3a87fbee5d34c063b9096f416b250897 +SRCREV_sdk="98b32a6c3a87fbee5d34c063b9096f416b250897" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=sdk;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/sdk" + +# github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 +# [1] git ls-remote https://github.com/Azure/go-ansiterm d185dfc1b5a126116ea5a19e148e29d16b4574c9 +SRCREV_go-ansiterm="d185dfc1b5a126116ea5a19e148e29d16b4574c9" +SRC_URI += "git://github.com/Azure/go-ansiterm;name=go-ansiterm;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-ansiterm" + +# github.com/Microsoft/hcsshim v0.11.4 +# [1] git ls-remote https://github.com/microsoft/hcsshim b16edf62c1723deb948632261b445d0228d973e0 +SRCREV_hcsshim="b16edf62c1723deb948632261b445d0228d973e0" +SRC_URI += "git://github.com/microsoft/hcsshim;name=hcsshim;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Microsoft/hcsshim" + +# github.com/aws/aws-sdk-go-v2 v1.24.1 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39 +SRCREV_aws-sdk-go-v2="47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=aws-sdk-go-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2" + +# github.com/cespare/xxhash/v2 v2.2.0 +# [1] git ls-remote https://github.com/cespare/xxhash a76eb16a93c1e30527c073ca831d9048b4b935f6 +SRCREV_xxhash-v2="a76eb16a93c1e30527c073ca831d9048b4b935f6" +SRC_URI += "git://github.com/cespare/xxhash;name=xxhash-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cespare/xxhash/v2" + +# github.com/docker/go-metrics v0.0.1 +# [1] git ls-remote https://github.com/docker/go-metrics b619b3592b65de4f087d9f16863a7e6ff905973c +SRCREV_go-metrics="b619b3592b65de4f087d9f16863a7e6ff905973c" +SRC_URI += "git://github.com/docker/go-metrics;name=go-metrics;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-metrics" + +# github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 +# [1] git ls-remote https://github.com/eiannone/keyboard 0d226195f2038e282bb90d2e24f7f29aa7c5b210 +SRCREV_keyboard="0d226195f2038e282bb90d2e24f7f29aa7c5b210" +SRC_URI += "git://github.com/eiannone/keyboard;name=keyboard;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/eiannone/keyboard" + +# github.com/felixge/httpsnoop v1.0.4 +# [1] git ls-remote https://github.com/felixge/httpsnoop c5817c27ec125409c069052fdd171023c353501c +SRCREV_httpsnoop="c5817c27ec125409c069052fdd171023c353501c" +SRC_URI += "git://github.com/felixge/httpsnoop;name=httpsnoop;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/felixge/httpsnoop" + +# github.com/gorilla/websocket v1.5.0 +# [1] git ls-remote https://github.com/gorilla/websocket 9111bb834a68b893cebbbaed5060bdbc1d9ab7d2 +SRCREV_websocket="9111bb834a68b893cebbbaed5060bdbc1d9ab7d2" +SRC_URI += "git://github.com/gorilla/websocket;name=websocket;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gorilla/websocket" + +# github.com/hashicorp/errwrap v1.1.0 +# [1] git ls-remote https://github.com/hashicorp/errwrap 7b00e5db719c64d14dd0caaacbd13e76254d02c0 +SRCREV_errwrap="7b00e5db719c64d14dd0caaacbd13e76254d02c0" +SRC_URI += "git://github.com/hashicorp/errwrap;name=errwrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/errwrap" + +# github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 +# [1] git ls-remote https://github.com/munnerz/goautoneg a7dc8b61c822528f973a5e4e7b272055c6fdb43e +SRCREV_goautoneg="a7dc8b61c822528f973a5e4e7b272055c6fdb43e" +SRC_URI += "git://github.com/munnerz/goautoneg;name=goautoneg;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/munnerz/goautoneg" + +# github.com/pelletier/go-toml v1.9.5 +# [1] git ls-remote https://github.com/pelletier/go-toml fed1464066413075eac02cd4dc368b5221845541 +SRCREV_go-toml="fed1464066413075eac02cd4dc368b5221845541" +SRC_URI += "git://github.com/pelletier/go-toml;name=go-toml;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pelletier/go-toml" + +# github.com/prometheus/common v0.44.0 +# [1] git ls-remote https://github.com/prometheus/common 94bf9828e56d9670579b28a9f78237d3cd8d0395 +SRCREV_common="94bf9828e56d9670579b28a9f78237d3cd8d0395" +SRC_URI += "git://github.com/prometheus/common;name=common;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/common" + +# github.com/prometheus/procfs v0.12.0 +# [1] git ls-remote https://github.com/prometheus/procfs ff0ad85f7e8bcd5c677d99143f14a2a3aab533aa +SRCREV_procfs="ff0ad85f7e8bcd5c677d99143f14a2a3aab533aa" +SRC_URI += "git://github.com/prometheus/procfs;name=procfs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/procfs" + +# github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5 +# [1] git ls-remote https://github.com/tonistiigi/fsutil 7525a1af2bb545e89dc9bced785bff7a3b7f08c2 +SRCREV_fsutil="7525a1af2bb545e89dc9bced785bff7a3b7f08c2" +SRC_URI += "git://github.com/tonistiigi/fsutil;name=fsutil;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tonistiigi/fsutil" + +# gopkg.in/cenkalti/backoff.v1 v1.1.0 +# [1] git ls-remote https://github.com/cenkalti/backoff 61153c768f31ee5f130071d08fc82b85208528de +SRCREV_backoff.v1="61153c768f31ee5f130071d08fc82b85208528de" +SRC_URI += "git://github.com/cenkalti/backoff;name=backoff.v1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/cenkalti/backoff.v1" + +# github.com/Microsoft/go-winio v0.6.1 +# [1] git ls-remote https://github.com/microsoft/go-winio 070c828abb873da9e71c7247740253b50f7cf049 +SRCREV_go-winio="070c828abb873da9e71c7247740253b50f7cf049" +SRC_URI += "git://github.com/microsoft/go-winio;name=go-winio;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Microsoft/go-winio" + +# github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d +# [1] git ls-remote https://github.com/acarl005/stripansi 5a71ef0e047df0427e87a79f27009029921f1f9b +SRCREV_stripansi="5a71ef0e047df0427e87a79f27009029921f1f9b" +SRC_URI += "git://github.com/acarl005/stripansi;name=stripansi;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/acarl005/stripansi" + +# github.com/containerd/console v1.0.4 +# [1] git ls-remote https://github.com/containerd/console 8f6c4e4faef5a326d2cd907097d04c0239ee5e2f +SRCREV_console="8f6c4e4faef5a326d2cd907097d04c0239ee5e2f" +SRC_URI += "git://github.com/containerd/console;name=console;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/console" + +# github.com/fvbommel/sortorder v1.0.2 +# [1] git ls-remote https://github.com/fvbommel/sortorder 26fad50c6b32a3064c09ed089865c16f2f3615f6 +SRCREV_sortorder="26fad50c6b32a3064c09ed089865c16f2f3615f6" +SRC_URI += "git://github.com/fvbommel/sortorder;name=sortorder;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fvbommel/sortorder" + +# github.com/klauspost/compress v1.17.4 +# [1] git ls-remote https://github.com/klauspost/compress 98ff542abe3108aa760c1558f80d393be0136539 +SRCREV_compress="98ff542abe3108aa760c1558f80d393be0136539" +SRC_URI += "git://github.com/klauspost/compress;name=compress;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/klauspost/compress" + +# github.com/mattn/go-colorable v0.1.13 +# [1] git ls-remote https://github.com/mattn/go-colorable 11a925cff3d38c293ddc8c05a16b504e3e2c63be +SRCREV_go-colorable="11a925cff3d38c293ddc8c05a16b504e3e2c63be" +SRC_URI += "git://github.com/mattn/go-colorable;name=go-colorable;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-colorable" + +# github.com/mattn/go-runewidth v0.0.15 +# [1] git ls-remote https://github.com/mattn/go-runewidth 44b7c5b4d67df8ca22917b6800c158a6d3be3560 +SRCREV_go-runewidth="44b7c5b4d67df8ca22917b6800c158a6d3be3560" +SRC_URI += "git://github.com/mattn/go-runewidth;name=go-runewidth;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-runewidth" + +# github.com/moby/sys/mountinfo v0.7.1 +# [1] git ls-remote https://github.com/moby/sys 4950d7687cf6c9b138dc0e18c2c7351e1f6ed497 +SRCREV_mountinfo="4950d7687cf6c9b138dc0e18c2c7351e1f6ed497" +SRC_URI += "git://github.com/moby/sys;name=mountinfo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/mountinfo" + +# github.com/modern-go/reflect2 v1.0.2 +# [1] git ls-remote https://github.com/modern-go/reflect2 2b33151c9bbc5231aea69b8861c540102b087070 +SRCREV_reflect2="2b33151c9bbc5231aea69b8861c540102b087070" +SRC_URI += "git://github.com/modern-go/reflect2;name=reflect2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/modern-go/reflect2" + +# github.com/pmezard/go-difflib v1.0.0 +# [1] git ls-remote https://github.com/pmezard/go-difflib 792786c7400a136282c1664665ae0a8db921c6c2 +SRCREV_go-difflib="792786c7400a136282c1664665ae0a8db921c6c2" +SRC_URI += "git://github.com/pmezard/go-difflib;name=go-difflib;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pmezard/go-difflib" + +# github.com/jonboulle/clockwork v0.4.0 +# [1] git ls-remote https://github.com/jonboulle/clockwork 606c48b92358fcca153952b56fb0d14d6845f84a +SRCREV_clockwork="606c48b92358fcca153952b56fb0d14d6845f84a" +SRC_URI += "git://github.com/jonboulle/clockwork;name=clockwork;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jonboulle/clockwork" + +# github.com/mattn/go-shellwords v1.0.12 +# [1] git ls-remote https://github.com/mattn/go-shellwords 973b9d5391598d4ee601db46fa32f6e186a356ac +SRCREV_go-shellwords="973b9d5391598d4ee601db46fa32f6e186a356ac" +SRC_URI += "git://github.com/mattn/go-shellwords;name=go-shellwords;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-shellwords" + +# github.com/moby/patternmatcher v0.6.0 +# [1] git ls-remote https://github.com/moby/patternmatcher 347bb8d8d557f90d1b75cd8bca3c0177f380a979 +SRCREV_patternmatcher="347bb8d8d557f90d1b75cd8bca3c0177f380a979" +SRC_URI += "git://github.com/moby/patternmatcher;name=patternmatcher;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/patternmatcher" + +# go.opentelemetry.io/otel/trace v1.21.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 98b32a6c3a87fbee5d34c063b9096f416b250897 +SRCREV_trace="98b32a6c3a87fbee5d34c063b9096f416b250897" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=trace;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/trace" + +# github.com/cenkalti/backoff/v4 v4.2.1 +# [1] git ls-remote https://github.com/cenkalti/backoff a04a6fe64ffb0e3fd0816460529d300be5f252df +SRCREV_v4="a04a6fe64ffb0e3fd0816460529d300be5f252df" +SRC_URI += "git://github.com/cenkalti/backoff;name=v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cenkalti/backoff/v4" + +# github.com/docker/distribution v2.8.3+incompatible +# [1] git ls-remote https://github.com/distribution/distribution 4772604ae973031ab32dd9805a4bccf61d94909f +SRCREV_distribution="4772604ae973031ab32dd9805a4bccf61d94909f" +SRC_URI += "git://github.com/distribution/distribution;name=distribution;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/distribution" + +# github.com/moby/sys/sequential v0.5.0 +# [1] git ls-remote https://github.com/moby/sys b22ba8a69b306f0b4adbbe2a529457e6283ed9f7 +SRCREV_sequential="b22ba8a69b306f0b4adbbe2a529457e6283ed9f7" +SRC_URI += "git://github.com/moby/sys;name=sequential;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/sequential" + +# github.com/shibumi/go-pathspec v1.3.0 +# [1] git ls-remote https://github.com/shibumi/go-pathspec 30eddf187f62305a5b34f662049d077211abaacd +SRCREV_go-pathspec="30eddf187f62305a5b34f662049d077211abaacd" +SRC_URI += "git://github.com/shibumi/go-pathspec;name=go-pathspec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/shibumi/go-pathspec" + +# go.opentelemetry.io/proto/otlp v1.0.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-proto-go 97744b2e4a0fa6787b96b9c3c740daefca754333 +SRCREV_otlp="97744b2e4a0fa6787b96b9c3c740daefca754333" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-proto-go;name=otlp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/proto/otlp" + +# github.com/docker/cli-docs-tool v0.7.0 +# [1] git ls-remote https://github.com/docker/cli-docs-tool 3149c912295595f6fc3bd7d3ee9283d97a4aedf6 +SRCREV_cli-docs-tool="3149c912295595f6fc3bd7d3ee9283d97a4aedf6" +SRC_URI += "git://github.com/docker/cli-docs-tool;name=cli-docs-tool;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/cli-docs-tool" + +# github.com/hashicorp/go-version v1.6.0 +# [1] git ls-remote https://github.com/hashicorp/go-version 78d058c5618891f74d604bd15356fca690b64d8a +SRCREV_go-version="78d058c5618891f74d604bd15356fca690b64d8a" +SRC_URI += "git://github.com/hashicorp/go-version;name=go-version;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-version" + +# github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd +# [1] git ls-remote https://github.com/modern-go/concurrent bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94 +SRCREV_concurrent="bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94" +SRC_URI += "git://github.com/modern-go/concurrent;name=concurrent;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/modern-go/concurrent" + +# github.com/xeipuuv/gojsonschema v1.2.0 +# [1] git ls-remote https://github.com/xeipuuv/gojsonschema 82fcdeb203eb6ab2a67d0a623d9c19e5e5a64927 +SRCREV_gojsonschema="82fcdeb203eb6ab2a67d0a623d9c19e5e5a64927" +SRC_URI += "git://github.com/xeipuuv/gojsonschema;name=gojsonschema;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xeipuuv/gojsonschema" + +# go.opentelemetry.io/otel/metric v1.21.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 98b32a6c3a87fbee5d34c063b9096f416b250897 +SRCREV_metric="98b32a6c3a87fbee5d34c063b9096f416b250897" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=metric;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/metric" + +# github.com/AlecAivazis/survey/v2 v2.3.7 +# [1] git ls-remote https://github.com/AlecAivazis/survey fa37277e6394c29db7bcc94062cb30cd7785a126 +SRCREV_v2="fa37277e6394c29db7bcc94062cb30cd7785a126" +SRC_URI += "git://github.com/AlecAivazis/survey;name=v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/AlecAivazis/survey/v2" + +# github.com/containerd/containerd v1.7.13 +# [1] git ls-remote https://github.com/containerd/containerd 7c3aca7a610df76212171d200ca3811ff6096eb8 +SRCREV_containerd="7c3aca7a610df76212171d200ca3811ff6096eb8" +SRC_URI += "git://github.com/containerd/containerd;name=containerd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/containerd" + +# github.com/docker/go-connections v0.5.0 +# [1] git ls-remote https://github.com/docker/go-connections fa09c952e3eadbffaf8afc5b8a1667158ba38ace +SRCREV_go-connections="fa09c952e3eadbffaf8afc5b8a1667158ba38ace" +SRC_URI += "git://github.com/docker/go-connections;name=go-connections;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-connections" + +# github.com/Masterminds/semver/v3 v3.2.1 +# [1] git ls-remote https://github.com/Masterminds/semver e06051f8fcc4c8b4a4990c337b9862a2448722e5 +SRCREV_semver-v3="e06051f8fcc4c8b4a4990c337b9862a2448722e5" +SRC_URI += "git://github.com/Masterminds/semver;name=semver-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Masterminds/semver/v3" + +# github.com/containerd/continuity v0.4.3 +# [1] git ls-remote https://github.com/containerd/continuity 1743d9104d944131cdedaba33a59d2f9bd80a6f2 +SRCREV_continuity="1743d9104d944131cdedaba33a59d2f9bd80a6f2" +SRC_URI += "git://github.com/containerd/continuity;name=continuity;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/continuity" + +# github.com/containerd/typeurl/v2 v2.1.1 +# [1] git ls-remote https://github.com/containerd/typeurl 7ef6316b771f959cbb208b229e3423a466947df3 +SRCREV_typeurl-v2="7ef6316b771f959cbb208b229e3423a466947df3" +SRC_URI += "git://github.com/containerd/typeurl;name=typeurl-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/typeurl/v2" + +# github.com/google/gnostic-models v0.6.8 +# [1] git ls-remote https://github.com/google/gnostic-models 577692584cdf09674595bba0c182d0e8a44655d3 +SRCREV_gnostic-models="577692584cdf09674595bba0c182d0e8a44655d3" +SRC_URI += "git://github.com/google/gnostic-models;name=gnostic-models;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/gnostic-models" + +# github.com/mitchellh/reflectwalk v1.0.2 +# [1] git ls-remote https://github.com/mitchellh/reflectwalk e0c24fdb021963cd2c4013097a0b993a7c4e344f +SRCREV_reflectwalk="e0c24fdb021963cd2c4013097a0b993a7c4e344f" +SRC_URI += "git://github.com/mitchellh/reflectwalk;name=reflectwalk;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/reflectwalk" + +# github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb +# [1] git ls-remote https://github.com/xeipuuv/gojsonpointer 02993c407bfbf5f6dae44c4f4b1cf6a39b5fc5bb +SRCREV_gojsonpointer="02993c407bfbf5f6dae44c4f4b1cf6a39b5fc5bb" +SRC_URI += "git://github.com/xeipuuv/gojsonpointer;name=gojsonpointer;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xeipuuv/gojsonpointer" + +# github.com/distribution/reference v0.5.0 +# [1] git ls-remote https://github.com/distribution/reference 49c28499d219290c3226822e9cfcd4ede6d75379 +SRCREV_reference="49c28499d219290c3226822e9cfcd4ede6d75379" +SRC_URI += "git://github.com/distribution/reference;name=reference;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/distribution/reference" + +# github.com/mitchellh/mapstructure v1.5.0 +# [1] git ls-remote https://github.com/mitchellh/mapstructure ab69d8d93410fce4361f4912bb1ff88110a81311 +SRCREV_mapstructure="ab69d8d93410fce4361f4912bb1ff88110a81311" +SRC_URI += "git://github.com/mitchellh/mapstructure;name=mapstructure;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/mapstructure" + +# github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 +# [1] git ls-remote https://github.com/skratchdot/open-golang eef8423979666925a58eb77f9db583e54320d5a4 +SRCREV_open-golang="eef8423979666925a58eb77f9db583e54320d5a4" +SRC_URI += "git://github.com/skratchdot/open-golang;name=open-golang;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/skratchdot/open-golang" + +# github.com/emicklei/go-restful/v3 v3.11.0 +# [1] git ls-remote https://github.com/emicklei/go-restful 30bec7807481e62e1e1e59ad57e7f22054806966 +SRCREV_go-restful-v3="30bec7807481e62e1e1e59ad57e7f22054806966" +SRC_URI += "git://github.com/emicklei/go-restful;name=go-restful-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/emicklei/go-restful/v3" + +# github.com/go-openapi/jsonpointer v0.19.6 +# [1] git ls-remote https://github.com/go-openapi/jsonpointer 5df0d69a6be189afff354877d332f9ede32afe12 +SRCREV_jsonpointer="5df0d69a6be189afff354877d332f9ede32afe12" +SRC_URI += "git://github.com/go-openapi/jsonpointer;name=jsonpointer;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-openapi/jsonpointer" + +# github.com/hashicorp/go-cleanhttp v0.5.2 +# [1] git ls-remote https://github.com/hashicorp/go-cleanhttp 6d9e2ac5d828e5f8594b97f88c4bde14a67bb6d2 +SRCREV_go-cleanhttp="6d9e2ac5d828e5f8594b97f88c4bde14a67bb6d2" +SRC_URI += "git://github.com/hashicorp/go-cleanhttp;name=go-cleanhttp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-cleanhttp" + +# github.com/in-toto/in-toto-golang v0.5.0 +# [1] git ls-remote https://github.com/in-toto/in-toto-golang ec599036d27ebaca3e8c03559d3f8fd5fe429dfe +SRCREV_in-toto-golang="ec599036d27ebaca3e8c03559d3f8fd5fe429dfe" +SRC_URI += "git://github.com/in-toto/in-toto-golang;name=in-toto-golang;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/in-toto/in-toto-golang" + +# github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 +# [1] git ls-remote https://github.com/kballard/go-shellquote 95032a82bc518f77982ea72343cc1ade730072f0 +SRCREV_go-shellquote="95032a82bc518f77982ea72343cc1ade730072f0" +SRC_URI += "git://github.com/kballard/go-shellquote;name=go-shellquote;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/kballard/go-shellquote" + +# github.com/moby/docker-image-spec v1.3.1 +# [1] git ls-remote https://github.com/moby/docker-image-spec f1d00ebd2d6d6805170d5543dbca4b850f35f9af +SRCREV_docker-image-spec="f1d00ebd2d6d6805170d5543dbca4b850f35f9af" +SRC_URI += "git://github.com/moby/docker-image-spec;name=docker-image-spec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/docker-image-spec" + +# github.com/hashicorp/go-multierror v1.1.1 +# [1] git ls-remote https://github.com/hashicorp/go-multierror 9974e9ec57696378079ecc3accd3d6f29401b3a0 +SRCREV_go-multierror="9974e9ec57696378079ecc3accd3d6f29401b3a0" +SRC_URI += "git://github.com/hashicorp/go-multierror;name=go-multierror;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-multierror" + +# github.com/mitchellh/copystructure v1.2.0 +# [1] git ls-remote https://github.com/mitchellh/copystructure d4ce1f938f7a7ea2a40bff4544b56be9c00b5e84 +SRCREV_copystructure="d4ce1f938f7a7ea2a40bff4544b56be9c00b5e84" +SRC_URI += "git://github.com/mitchellh/copystructure;name=copystructure;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/copystructure" + +# github.com/prometheus/client_model v0.5.0 +# [1] git ls-remote https://github.com/prometheus/client_model 1c92cadf7d8fa1726bae12e6025cca9b86d2ba5f +SRCREV_client_model="1c92cadf7d8fa1726bae12e6025cca9b86d2ba5f" +SRC_URI += "git://github.com/prometheus/client_model;name=client_model;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/client_model" + +# github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 +# [1] git ls-remote https://github.com/xeipuuv/gojsonreference bd5ef7bd5415a7ac448318e64f11a24cd21e594b +SRCREV_gojsonreference="bd5ef7bd5415a7ac448318e64f11a24cd21e594b" +SRC_URI += "git://github.com/xeipuuv/gojsonreference;name=gojsonreference;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xeipuuv/gojsonreference" + +# github.com/opencontainers/go-digest v1.0.0 +# [1] git ls-remote https://github.com/opencontainers/go-digest ea51bea511f75cfa3ef6098cc253c5c3609b037a +SRCREV_go-digest="ea51bea511f75cfa3ef6098cc253c5c3609b037a" +SRC_URI += "git://github.com/opencontainers/go-digest;name=go-digest;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/go-digest" + +# github.com/aws/aws-sdk-go-v2/config v1.26.6 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 857d5277b41f290ab7ba0e0f6f96f940045f69b7 +SRCREV_config="857d5277b41f290ab7ba0e0f6f96f940045f69b7" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=config;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/config" + +# github.com/go-openapi/jsonreference v0.20.2 +# [1] git ls-remote https://github.com/go-openapi/jsonreference 1f158e563669961b8e54817e3ea57978d439ffff +SRCREV_jsonreference="1f158e563669961b8e54817e3ea57978d439ffff" +SRC_URI += "git://github.com/go-openapi/jsonreference;name=jsonreference;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-openapi/jsonreference" + +# github.com/prometheus/client_golang v1.17.0 +# [1] git ls-remote https://github.com/prometheus/client_golang fa1408ee351f6aba15c6d0207f7a0021eb3af406 +SRCREV_client_golang="fa1408ee351f6aba15c6d0207f7a0021eb3af406" +SRC_URI += "git://github.com/prometheus/client_golang;name=client_golang;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/client_golang" + +# go.opentelemetry.io/otel/sdk/metric v1.21.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 98b32a6c3a87fbee5d34c063b9096f416b250897 +SRCREV_sdk-metric="98b32a6c3a87fbee5d34c063b9096f416b250897" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=sdk-metric;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/sdk/metric" + +# github.com/opencontainers/image-spec v1.1.0-rc6 +# [1] git ls-remote https://github.com/opencontainers/image-spec 6c2b5fafa0731a97aad0c2a68bac238d6c98c690 +SRCREV_image-spec="6c2b5fafa0731a97aad0c2a68bac238d6c98c690" +SRC_URI += "git://github.com/opencontainers/image-spec;name=image-spec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/image-spec" + +# github.com/theupdateframework/notary v0.7.0 +# [1] git ls-remote https://github.com/notaryproject/notary b0b6bfdd4933081e8d5ae026b24e8337311dd598 +SRCREV_notary="b0b6bfdd4933081e8d5ae026b24e8337311dd598" +SRC_URI += "git://github.com/notaryproject/notary;name=notary;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/theupdateframework/notary" + +# github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 +# [1] git ls-remote https://github.com/AdaLogics/go-fuzz-headers ced1acdcaa24dc39c01b039fc37576c395f506cf +SRCREV_go-fuzz-headers="ced1acdcaa24dc39c01b039fc37576c395f506cf" +SRC_URI += "git://github.com/AdaLogics/go-fuzz-headers;name=go-fuzz-headers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/AdaLogics/go-fuzz-headers" + +# github.com/inconshreveable/mousetrap v1.1.0 +# [1] git ls-remote https://github.com/inconshreveable/mousetrap 4e8053ee7ef85a6bd26368364a6d27f1641c1d21 +SRCREV_mousetrap="4e8053ee7ef85a6bd26368364a6d27f1641c1d21" +SRC_URI += "git://github.com/inconshreveable/mousetrap;name=mousetrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/inconshreveable/mousetrap" + +# sigs.k8s.io/structured-merge-diff/v4 v4.4.1 +# [1] git ls-remote https://github.com/kubernetes-sigs/structured-merge-diff cf09e71f4508bfc416135048e392a8a4990bf4e3 +SRCREV_structured-merge-diff-v4="cf09e71f4508bfc416135048e392a8a4990bf4e3" +SRC_URI += "git://github.com/kubernetes-sigs/structured-merge-diff;name=structured-merge-diff-v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/structured-merge-diff/v4" + +# github.com/compose-spec/compose-go/v2 v2.0.2 +# [1] git ls-remote https://github.com/compose-spec/compose-go d0722c0e5564b4970f6634592638c0577ef8e028 +SRCREV_compose-go-v2="d0722c0e5564b4970f6634592638c0577ef8e028" +SRC_URI += "git://github.com/compose-spec/compose-go;name=compose-go-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/compose-spec/compose-go/v2" + +# tags.cncf.io/container-device-interface v0.6.2 +# [1] git ls-remote https://github.com/cncf-tags/container-device-interface fb50bf8fc8b2c3c8fda6d23ab7e044774dcca678 +SRCREV_container-device-interface="fb50bf8fc8b2c3c8fda6d23ab7e044774dcca678" +SRC_URI += "git://github.com/cncf-tags/container-device-interface;name=container-device-interface;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/tags.cncf.io/container-device-interface" + +# github.com/aws/aws-sdk-go-v2/credentials v1.16.16 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 a75d7694eb2709212655ee25e811d72a1188a68b +SRCREV_credentials="a75d7694eb2709212655ee25e811d72a1188a68b" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=credentials;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/credentials" + +# github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 a75d7694eb2709212655ee25e811d72a1188a68b +SRCREV_sso="a75d7694eb2709212655ee25e811d72a1188a68b" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=sso;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/service/sso" + +# github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39 +SRCREV_sts="47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=sts;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/service/sts" + +# github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 857d5277b41f290ab7ba0e0f6f96f940045f69b7 +SRCREV_ini="857d5277b41f290ab7ba0e0f6f96f940045f69b7" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=ini;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/internal/ini" + +# github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 +# [1] git ls-remote https://github.com/grpc-ecosystem/grpc-gateway 09e3965a330155f7db8482269d7d91b9bceb7641 +SRCREV_grpc-gateway-v2="09e3965a330155f7db8482269d7d91b9bceb7641" +SRC_URI += "git://github.com/grpc-ecosystem/grpc-gateway;name=grpc-gateway-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/grpc-ecosystem/grpc-gateway/v2" + +# google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b +# [1] git ls-remote https://github.com/googleapis/go-genproto 49dd2c1f3d0bf0f025ccaf8eeaaad902e3c63846 +SRCREV_api="49dd2c1f3d0bf0f025ccaf8eeaaad902e3c63846" +SRC_URI += "git://github.com/googleapis/go-genproto;name=api;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto/googleapis/api" + +# google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b +# [1] git ls-remote https://github.com/googleapis/go-genproto 49dd2c1f3d0bf0f025ccaf8eeaaad902e3c63846 +SRCREV_rpc="49dd2c1f3d0bf0f025ccaf8eeaaad902e3c63846" +SRC_URI += "git://github.com/googleapis/go-genproto;name=rpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto/googleapis/rpc" + +# github.com/docker/docker-credential-helpers v0.8.0 +# [1] git ls-remote https://github.com/docker/docker-credential-helpers 8396edb35f8d7229e75482e9d82c7729fa7001b7 +SRCREV_docker-credential-helpers="8396edb35f8d7229e75482e9d82c7729fa7001b7" +SRC_URI += "git://github.com/docker/docker-credential-helpers;name=docker-credential-helpers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/docker-credential-helpers" + +# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 f53c9bcd7ccef6fd9f13f77512e78e3a7aa3cc01 +SRCREV_ssooidc="f53c9bcd7ccef6fd9f13f77512e78e3a7aa3cc01" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=ssooidc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/service/ssooidc" + +# github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 +# [1] git ls-remote https://github.com/grpc-ecosystem/go-grpc-middleware df0f91b29bbbdfc3a686a7a8edbe2b9de2072fdd +SRCREV_go-grpc-middleware="df0f91b29bbbdfc3a686a7a8edbe2b9de2072fdd" +SRC_URI += "git://github.com/grpc-ecosystem/go-grpc-middleware;name=go-grpc-middleware;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/grpc-ecosystem/go-grpc-middleware" + +# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39 +SRCREV_imds="47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=imds;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/feature/ec2/imds" + +# go.opentelemetry.io/otel/exporters/prometheus v0.42.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 60666c554065ac4da502fe28943eea4b938ab479 +SRCREV_prometheus="60666c554065ac4da502fe28943eea4b938ab479" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=prometheus;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/prometheus" + +# github.com/matttproud/golang_protobuf_extensions v1.0.4 +# [1] git ls-remote https://github.com/matttproud/golang_protobuf_extensions c182affec369e30f25d3eb8cd8a478dee585ae7d +SRCREV_golang_protobuf_extensions="c182affec369e30f25d3eb8cd8a478dee585ae7d" +SRC_URI += "git://github.com/matttproud/golang_protobuf_extensions;name=golang_protobuf_extensions;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/matttproud/golang_protobuf_extensions" + +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 98b32a6c3a87fbee5d34c063b9096f416b250897 +SRCREV_otlptrace="98b32a6c3a87fbee5d34c063b9096f416b250897" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otlptrace;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/otlptrace" + +# github.com/secure-systems-lab/go-securesystemslib v0.4.0 +# [1] git ls-remote https://github.com/secure-systems-lab/go-securesystemslib abcd7c95c952df38eb237fab3764ef1b8d2b15c9 +SRCREV_go-securesystemslib="abcd7c95c952df38eb237fab3764ef1b8d2b15c9" +SRC_URI += "git://github.com/secure-systems-lab/go-securesystemslib;name=go-securesystemslib;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/secure-systems-lab/go-securesystemslib" + +# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39 +SRCREV_endpoints-v2="47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=endpoints-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2" + +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 60666c554065ac4da502fe28943eea4b938ab479 +SRCREV_otlpmetric="60666c554065ac4da502fe28943eea4b938ab479" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otlpmetric;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/otlpmetric" + +# github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39 +SRCREV_configsources="47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=configsources;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/internal/configsources" + +# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39 +SRCREV_presigned-url="47dd1b1bcbde244357a82ef00fa6a61a9bfb9b39" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=presigned-url;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url" + +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go-contrib ba19074a6785b2b65c86a52c0649cf040319fa96 +SRCREV_otelhttp="ba19074a6785b2b65c86a52c0649cf040319fa96" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go-contrib;name=otelhttp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" + +# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 +# [1] git ls-remote https://github.com/aws/aws-sdk-go-v2 0d643a8f0a8ad09075f41a60acba6a208cb36c58 +SRCREV_accept-encoding="0d643a8f0a8ad09075f41a60acba6a208cb36c58" +SRC_URI += "git://github.com/aws/aws-sdk-go-v2;name=accept-encoding;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding" + +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 98b32a6c3a87fbee5d34c063b9096f416b250897 +SRCREV_otlptracegrpc="98b32a6c3a87fbee5d34c063b9096f416b250897" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otlptracegrpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" + +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 98b32a6c3a87fbee5d34c063b9096f416b250897 +SRCREV_otlptracehttp="98b32a6c3a87fbee5d34c063b9096f416b250897" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otlptracehttp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp" + +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.42.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 60666c554065ac4da502fe28943eea4b938ab479 +SRCREV_otlpmetricgrpc="60666c554065ac4da502fe28943eea4b938ab479" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otlpmetricgrpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc" + +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 60666c554065ac4da502fe28943eea4b938ab479 +SRCREV_otlpmetrichttp="60666c554065ac4da502fe28943eea4b938ab479" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otlpmetrichttp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp" + +# go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go-contrib ba19074a6785b2b65c86a52c0649cf040319fa96 +SRCREV_otelgrpc="ba19074a6785b2b65c86a52c0649cf040319fa96" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go-contrib;name=otelgrpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" + +# go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go-contrib ba19074a6785b2b65c86a52c0649cf040319fa96 +SRCREV_otelhttptrace="ba19074a6785b2b65c86a52c0649cf040319fa96" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go-contrib;name=otelhttptrace;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace" + diff --git a/recipes-containers/docker-distribution/docker-distribution_git.bb b/recipes-containers/docker-distribution/docker-distribution_git.bb index 71a88ace..dbca0d55 100644 --- a/recipes-containers/docker-distribution/docker-distribution_git.bb +++ b/recipes-containers/docker-distribution/docker-distribution_git.bb @@ -3,21 +3,20 @@ SUMMARY = "The Docker toolset to pack, ship, store, and deliver content" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" -SRCREV_distribution="d7362d7e3a706f3200be70369544094fea3e5b7c" -SRC_URI = "git://github.com/docker/distribution.git;branch=release/2.7;name=distribution;destsuffix=git/src/github.com/docker/distribution \ +SRCREV_distribution= "d607c6ccb9372e05556624f973119a23d3a42987" +SRC_URI = "git://github.com/docker/distribution.git;branch=release/2.8;name=distribution;destsuffix=git/src/github.com/docker/distribution;protocol=https \ file://docker-registry.service \ file://0001-build-use-to-use-cross-go-compiler.patch \ " PACKAGES =+ "docker-registry" -PV = "v2.7.1" +PV = "v2.8.3+git" S = "${WORKDIR}/git/src/github.com/docker/distribution" GO_IMPORT = "import" -inherit goarch -inherit go +inherit goarch go systemd # This disables seccomp and apparmor, which are on by default in the # go package. @@ -26,16 +25,17 @@ EXTRA_OEMAKE="BUILDTAGS=''" do_compile() { export GOARCH="${TARGET_GOARCH}" export GOPATH="${WORKDIR}/git/" - export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go" + export GOROOT="${STAGING_LIBDIR}/go" # Pass the needed cflags/ldflags so that cgo # can find the needed headers files and libraries export CGO_ENABLED="1" export CFLAGS="" export LDFLAGS="" - export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_CFLAGS="${TARGET_CFLAGS}" export GO_GCFLAGS="" - export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${TARGET_LDFLAGS}" export GO111MODULE=off + export GO_BUILD_FLAGS="-trimpath" cd ${S} @@ -58,17 +58,20 @@ do_install() { install -d ${D}/${localstatedir}/lib/registry/ } -INSANE_SKIP_${PN} += "ldflags already-stripped" -INSANE_SKIP_${MLPREFIX}docker-registry += "ldflags already-stripped textrel" +INSANE_SKIP:${PN} += "ldflags already-stripped" +INSANE_SKIP:${MLPREFIX}docker-registry += "ldflags already-stripped textrel" -FILES_docker-registry = "${sbindir}/*" -FILES_docker-registry += "${systemd_unitdir}/system/docker-registry.service" -FILES_docker-registry += "${sysconfdir}/docker-distribution/*" -FILES_docker-registry += "${localstatedir}/lib/registry/" +FILES:docker-registry = "${sbindir}/*" +FILES:docker-registry += "${systemd_unitdir}/system/docker-registry.service" +FILES:docker-registry += "${sysconfdir}/docker-distribution/*" +FILES:docker-registry += "${localstatedir}/lib/registry/" -SYSTEMD_SERVICE_docker-registry = "${@bb.utils.contains('DISTRO_FEATURES','systemd','docker-registry.service','',d)}" -SYSTEMD_AUTO_ENABLE_docker-registry = "enable" +SYSTEMD_PACKAGES = "docker-registry" +SYSTEMD_SERVICE:docker-registry = "${@bb.utils.contains('DISTRO_FEATURES','systemd','docker-registry.service','',d)}" +SYSTEMD_AUTO_ENABLE:docker-registry = "enable" -RDEPENDS_${PN}-ptest_remove = "${PN}" +RDEPENDS:${PN}-ptest:remove = "${PN}" CVE_PRODUCT = "docker_registry" + +COMPATIBLE_HOST:riscv64 = "null" diff --git a/recipes-containers/docker-distribution/files/0001-build-use-to-use-cross-go-compiler.patch b/recipes-containers/docker-distribution/files/0001-build-use-to-use-cross-go-compiler.patch index 393b167f..f97a60ca 100644 --- a/recipes-containers/docker-distribution/files/0001-build-use-to-use-cross-go-compiler.patch +++ b/recipes-containers/docker-distribution/files/0001-build-use-to-use-cross-go-compiler.patch @@ -6,6 +6,8 @@ Subject: [PATCH] build: use to use cross go compiler We shouldn't be invoking 'go' as the compiler, but instead use ${GO} which tracks our cross build go compiler for the architecture. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- Makefile | 2 +- diff --git a/recipes-containers/docker/README b/recipes-containers/docker/README new file mode 100644 index 00000000..565e3501 --- /dev/null +++ b/recipes-containers/docker/README @@ -0,0 +1,7 @@ +if containerd is starting docker, and it is interfering with standalone +docker operation, you may need to kill the running daemon and restart +it: + + % ps axf | grep docker | grep -v grep | awk '{print "kill -9 " $1}' | sh + % systemctl stop docker + % systemctl start docker diff --git a/recipes-containers/docker/docker-ce_git.bb b/recipes-containers/docker/docker-ce_git.bb deleted file mode 100644 index 9921ff9d..00000000 --- a/recipes-containers/docker/docker-ce_git.bb +++ /dev/null @@ -1,56 +0,0 @@ -HOMEPAGE = "http://www.docker.com" -SUMMARY = "Linux container runtime" -DESCRIPTION = "Linux container runtime \ - Docker complements kernel namespacing with a high-level API which \ - operates at the process level. It runs unix processes with strong \ - guarantees of isolation and repeatability across servers. \ - . \ - Docker is a great building block for automating distributed systems: \ - large-scale web deployments, database clusters, continuous deployment \ - systems, private PaaS, service-oriented architectures, etc. \ - . \ - This package contains the daemon and client, which are \ - officially supported on x86_64 and arm hosts. \ - Other architectures are considered experimental. \ - . \ - Also, note that kernel version 3.10 or above is required for proper \ - operation of the daemon process, and that any lower versions may have \ - subtle and/or glaring issues. \ - " - -# -# https://github.com/docker/docker-ce-packaging.git -# common.mk: -# DOCKER_CLI_REPO ?= https://github.com/docker/cli.git -# DOCKER_ENGINE_REPO ?= https://github.com/docker/docker.git -# REF ?= HEAD -# DOCKER_CLI_REF ?= $(REF) -# DOCKER_ENGINE_REF ?= $(REF) -# -# These follow the tags for our releases in the listed repositories -# so we get that tag, and make it our SRCREVS: -# - -SRCREV_docker = "8728dd246c3ab53105434eef8ffe997b6fd14dc6" -SRCREV_libnetwork = "b3507428be5b458cb0e2b4086b13531fb0706e46" -SRCREV_cli = "370c28948e3c12dce3d1df60b6f184990618553f" -SRC_URI = "\ - git://github.com/docker/docker.git;branch=20.10;name=docker \ - git://github.com/docker/libnetwork.git;branch=master;name=libnetwork;destsuffix=git/libnetwork \ - git://github.com/docker/cli;branch=20.10;name=cli;destsuffix=git/cli \ - file://0001-libnetwork-use-GO-instead-of-go.patch \ - file://docker.init \ - file://0001-dynbinary-use-go-cross-compiler.patch \ - file://0001-cli-use-external-GO111MODULE-and-cross-compiler.patch \ - " - -require docker.inc - -# Apache-2.0 for docker -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=4859e97a9c7780e77972d989f0823f28" - -DOCKER_VERSION = "20.10.6-ce" -PV = "${DOCKER_VERSION}+git${SRCREV_docker}" - -CVE_PRODUCT = "docker" diff --git a/recipes-containers/docker/docker-moby_git.bb b/recipes-containers/docker/docker-moby_git.bb index 10a50393..0abb0b3f 100644 --- a/recipes-containers/docker/docker-moby_git.bb +++ b/recipes-containers/docker/docker-moby_git.bb @@ -27,33 +27,46 @@ DESCRIPTION = "Linux container runtime \ # the curated docker-ce repository. This allows compatibility and # functional equivalence, while allowing new features to be more # easily added. -# - This could be called "docker-moby" or just "moby" in the future, but -# that would require the creation of a virtual/docker dependency, which -# is possible, but overkill at the moment (while we wait for the upstream -# to stop changing). # - The common components of this recipe and docker-ce do need to be moved # to a docker.inc recipe +# +# Packaging details: +# +# https://github.com/docker/docker-ce-packaging.git +# common.mk: +# DOCKER_CLI_REPO ?= https://github.com/docker/cli.git +# DOCKER_ENGINE_REPO ?= https://github.com/docker/docker.git +# REF ?= HEAD +# DOCKER_CLI_REF ?= $(REF) +# DOCKER_ENGINE_REF ?= $(REF) +# +# These follow the tags for our releases in the listed repositories +# so we get that tag, and make it our SRCREVS: +# -SRCREV_moby = "ce826938232fbee567c8805460a8b2c82dc2e493" -SRCREV_libnetwork = "b3507428be5b458cb0e2b4086b13531fb0706e46" -SRCREV_cli = "370c28948e3c12dce3d1df60b6f184990618553f" +SRCREV_moby = "f417435e5f6216828dec57958c490c4f8bae4f98" +SRCREV_libnetwork = "67e0588f1ddfaf2faf4c8cae8b7ea2876434d91c" +SRCREV_cli = "01f933261885c0126edb3f47fd56d048ae31265a" +SRCREV_FORMAT = "moby_libnetwork" SRC_URI = "\ - git://github.com/moby/moby.git;branch=20.10;name=moby \ - git://github.com/docker/libnetwork.git;branch=master;name=libnetwork;destsuffix=git/libnetwork \ - git://github.com/docker/cli;branch=20.10;name=cli;destsuffix=git/cli \ + git://github.com/moby/moby.git;branch=25.0;name=moby;protocol=https \ + git://github.com/docker/libnetwork.git;branch=master;name=libnetwork;destsuffix=git/libnetwork;protocol=https \ + git://github.com/docker/cli;branch=25.0;name=cli;destsuffix=git/cli;protocol=https \ file://docker.init \ file://0001-libnetwork-use-GO-instead-of-go.patch \ file://0001-cli-use-external-GO111MODULE-and-cross-compiler.patch \ - file://0001-dynbinary-use-go-cross-compiler.patch \ + file://0001-dynbinary-use-go-cross-compiler.patch;patchdir=src/import \ " +DOCKER_COMMIT = "${SRCREV_moby}" + require docker.inc # Apache-2.0 for docker LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=4859e97a9c7780e77972d989f0823f28" -DOCKER_VERSION = "20.10.6" +DOCKER_VERSION = "25.0.3" PV = "${DOCKER_VERSION}+git${SRCREV_moby}" -CVE_PRODUCT = "docker" +CVE_PRODUCT = "docker mobyproject:moby" diff --git a/recipes-containers/docker/docker.inc b/recipes-containers/docker/docker.inc index cd4d27b9..48f7d3ec 100644 --- a/recipes-containers/docker/docker.inc +++ b/recipes-containers/docker/docker.inc @@ -1,47 +1,32 @@ DEPENDS = " \ - go-cli \ - go-pty \ - go-context \ - go-mux \ - go-patricia \ - go-logrus \ - go-fsnotify \ - go-dbus \ - go-capability \ - go-systemd \ btrfs-tools \ sqlite3 \ - go-distribution \ - compose-file \ - go-connections \ - notary \ - grpc-go \ libtool-native \ libtool \ " -DEPENDS_append_class-target = " lvm2" -RDEPENDS_${PN} = "util-linux util-linux-unshare iptables \ +DEPENDS:append:class-target = " lvm2" +RDEPENDS:${PN} = "util-linux util-linux-unshare iptables \ ${@bb.utils.contains('DISTRO_FEATURES', 'aufs', 'aufs-util', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'cgroup-lite', d)} \ bridge-utils \ ca-certificates \ " -RDEPENDS_${PN} += "virtual/containerd virtual/runc" +RDEPENDS:${PN} += "virtual-containerd ${VIRTUAL-RUNTIME_container_runtime}" -RRECOMMENDS_${PN} = "kernel-module-dm-thin-pool kernel-module-nf-nat kernel-module-nf-conntrack-netlink kernel-module-xt-addrtype kernel-module-xt-masquerade" +RRECOMMENDS:${PN} = "kernel-module-dm-thin-pool kernel-module-nf-nat kernel-module-nf-conntrack-netlink kernel-module-xt-addrtype kernel-module-xt-masquerade" PROVIDES += "virtual/docker" # we want all the docker variant recpes to be installable via "docker" PACKAGE_NAME = "docker" -RPROVIDES_${PN} += "docker" -RPROVIDES_${PN}-dbg += "docker-dbg" -RPROVIDES_${PN}-dev += "docker-dev" -RPROVIDES_${PN}-contrip += "docker-dev" +RPROVIDES:${PN} += "docker" +RPROVIDES:${PN}-dbg += "docker-dbg" +RPROVIDES:${PN}-dev += "docker-dev" +RPROVIDES:${PN}-contrip += "docker-dev" inherit pkgconfig -PACKAGECONFIG ??= "docker-init" +PACKAGECONFIG ??= "docker-init seccomp" PACKAGECONFIG[seccomp] = "seccomp,,libseccomp" PACKAGECONFIG[docker-init] = ",,,docker-init" PACKAGECONFIG[transient-config] = "transient-config" @@ -58,6 +43,9 @@ inherit pkgconfig do_configure[noexec] = "1" +# Export for possible use in Makefiles, default value comes from go.bbclass +export GO_LINKSHARED + DOCKER_PKG="github.com/docker/docker" # in order to exclude devicemapper and btrfs - https://github.com/docker/docker/issues/14056 BUILD_TAGS ?= "exclude_graphdriver_btrfs exclude_graphdriver_devicemapper" @@ -75,7 +63,7 @@ do_compile() { ln -sf ${WORKDIR}/git/libnetwork .gopath/src/github.com/docker/libnetwork ln -sf ${WORKDIR}/git/cli .gopath/src/github.com/docker/cli - export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go" + export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor" export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go" # Pass the needed cflags/ldflags so that cgo @@ -94,14 +82,14 @@ do_compile() { # this is the unsupported built structure # that doesn't rely on an existing docker # to build this: - VERSION="${DOCKER_VERSION}" DOCKER_GITCOMMIT="${SRCREV_moby}" ./hack/make.sh dynbinary + VERSION="${DOCKER_VERSION}" DOCKER_GITCOMMIT="${DOCKER_COMMIT}" ./hack/make.sh dynbinary # build the cli cd ${S}/src/import/.gopath/src/github.com/docker/cli export CFLAGS="" export LDFLAGS="" export DOCKER_VERSION=${DOCKER_VERSION} - VERSION="${DOCKER_VERSION}" DOCKER_GITCOMMIT="${SRCREV_moby}" make dynbinary + VERSION="${DOCKER_VERSION}" DOCKER_GITCOMMIT="${DOCKER_COMMIT}" make dynbinary # build the proxy cd ${S}/src/import/.gopath/src/github.com/docker/libnetwork @@ -138,26 +126,28 @@ do_install() { SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}" -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','docker.socket','',d)}" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','docker.socket','',d)}" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" -INITSCRIPT_PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','${PN}','',d)}" -INITSCRIPT_NAME_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','docker.init','',d)}" -INITSCRIPT_PARAMS_${PN} = "defaults" +# inverted logic warning. We ony want the sysvinit init to be installed if systemd +# is NOT in the distro features +INITSCRIPT_PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES','systemd','', '${PN}',d)}" +INITSCRIPT_NAME:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','', 'docker.init',d)}" +INITSCRIPT_PARAMS:${PN} = "defaults" inherit useradd USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "-r docker" +GROUPADD_PARAM:${PN} = "-r docker" COMPATIBLE_HOST = "^(?!(qemu)?mips).*" -INSANE_SKIP_${PN} += "ldflags textrel" +INSANE_SKIP:${PN} += "ldflags textrel" -FILES_${PN} += "${systemd_unitdir}/system/* ${sysconfdir}/docker" +FILES:${PN} += "${systemd_unitdir}/system/* ${sysconfdir}/docker" PACKAGES =+ "${PN}-contrib" -FILES_${PN}-contrib += "${datadir}/docker/check-config.sh" -RDEPENDS_${PN}-contrib += "bash" +FILES:${PN}-contrib += "${datadir}/docker/check-config.sh" +RDEPENDS:${PN}-contrib += "bash" # By the docker-packaging repository and https://docs.docker.com/engine/install/centos/#installation-methods # docker is packaged by most distros with a split between the engine and the CLI. @@ -170,9 +160,9 @@ RDEPENDS_${PN}-contrib += "bash" # set the DOCKER_UNIFIED_PACKAGE variable to False # PACKAGES =+ "${PN}-cli" -FILES_${PN}-cli += "${bindir}/docker" +FILES:${PN}-cli += "${bindir}/docker" # set to "False" if packages should be generated for the cli and engine, and # NOT rdepend to get a classic one-package install DOCKER_UNIFIED_PACKAGE ?= "True" -RDEPENDS_${PN} += "${@bb.utils.contains("DOCKER_UNIFIED_PACKAGE", "True", "${PN}-cli", "", d)}" +RDEPENDS:${PN} += "${@bb.utils.contains("DOCKER_UNIFIED_PACKAGE", "True", "${PN}-cli", "", d)}" diff --git a/recipes-containers/docker/files/0001-cli-use-external-GO111MODULE-and-cross-compiler.patch b/recipes-containers/docker/files/0001-cli-use-external-GO111MODULE-and-cross-compiler.patch index dc322612..26f5aad4 100644 --- a/recipes-containers/docker/files/0001-cli-use-external-GO111MODULE-and-cross-compiler.patch +++ b/recipes-containers/docker/files/0001-cli-use-external-GO111MODULE-and-cross-compiler.patch @@ -3,25 +3,31 @@ From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Thu, 15 Apr 2021 11:28:05 -0400 Subject: [PATCH] cli: use external GO111MODULE and cross compiler +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- git/cli/scripts/build/binary | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -diff --git git/cli/scripts/build/binary git/cli/scripts/build/binary -index e4c5e12a6b..7c47b75c2f 100755 ---- git/cli/scripts/build/binary +Index: git/cli/scripts/build/binary +=================================================================== +--- git.orig/cli/scripts/build/binary +++ git/cli/scripts/build/binary -@@ -73,8 +73,7 @@ fi +@@ -13,8 +13,6 @@ echo "Building $GO_LINKMODE $(basename "${TARGET}")" -export GO111MODULE=auto +- + if [ "$(go env GOOS)" = "windows" ]; then + if [ ! -x "$(command -v goversioninfo)" ]; then + >&2 echo "goversioninfo not found, skipping manifesting binary" +@@ -24,6 +22,6 @@ + fi + fi --go build -o "${TARGET}" -tags "${GO_BUILDTAGS}" --ldflags "${LDFLAGS}" ${GO_BUILDMODE} "${SOURCE}" -+${GO} build -o "${TARGET}" -tags "${GO_BUILDTAGS}" --ldflags "${LDFLAGS}" ${GO_BUILDMODE} "${SOURCE}" +-(set -x ; go build -o "${TARGET}" -tags "${GO_BUILDTAGS}" -ldflags "${GO_LDFLAGS}" ${GO_BUILDMODE} "${SOURCE}") ++(set -x ; ${GO} build -trimpath -o "${TARGET}" -tags "${GO_BUILDTAGS}" -ldflags "${GO_LDFLAGS}" ${GO_BUILDMODE} "${SOURCE}") ln -sf "$(basename "${TARGET}")" "$(dirname "${TARGET}")/docker" --- -2.19.1 - diff --git a/recipes-containers/docker/files/0001-dynbinary-use-go-cross-compiler.patch b/recipes-containers/docker/files/0001-dynbinary-use-go-cross-compiler.patch index 971c60d7..160a3bca 100644 --- a/recipes-containers/docker/files/0001-dynbinary-use-go-cross-compiler.patch +++ b/recipes-containers/docker/files/0001-dynbinary-use-go-cross-compiler.patch @@ -1,23 +1,111 @@ -From bbf600cc4d46c3f7ec0c1b486790a2402d41f550 Mon Sep 17 00:00:00 2001 +From 3ce6089417b8c6c4e8279e6ef60213436ebf8793 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Tue, 30 Jun 2020 22:23:33 -0400 Subject: [PATCH] dynbinary: use go cross compiler +MJ: use ${GO} also in "go env" calls, because native go: + $ go env GOARM + 5 +while go cross compiler for my target: + $ ${GO} env GOARM + 7 +this can lead to: + error: switch '-mcpu=cortex-a9' conflicts with switch '-march=armv5t' [-Werror] + +but even after fixing it to use "better" -march it still doesn't match with -mcpu +set in our GOBUILDFLAGS, causing e.g.: + error: switch '-mcpu=cortex-a9' conflicts with switch '-march=armv7-a+simd' [-Werror] + +so drop CGO_CFLAGS/CGO_CXXFLAGS as in OE builds we don't need them +as long as ${GO} and GOBUILDFLAGS are respected + +it was added in: +https://github.com/moby/moby/commit/12558c8d6ea9f388b54eb94ba6b9eb4a9fc5c9f2 + +and it wasn't an issue before: +https://github.com/moby/moby/commit/8c12a6648b368cc2acaea0339d6c57c920ed265c + +because it was using 'case "${GOARM}" in' and ${GOARM} was empty in our builds + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- - hack/make/.binary | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + hack/make/.binary | 37 ++++++++----------------------------- + 1 file changed, 8 insertions(+), 29 deletions(-) -Index: git/src/import/hack/make/.binary +Index: import/hack/make/.binary =================================================================== ---- git.orig/src/import/hack/make/.binary -+++ git/src/import/hack/make/.binary -@@ -81,7 +81,7 @@ +--- import.orig/hack/make/.binary ++++ import/hack/make/.binary +@@ -3,7 +3,7 @@ + + # a helper to provide ".exe" when it's appropriate + binary_extension() { +- if [ "$(go env GOOS)" = 'windows' ]; then ++ if [ "$(${GO} env GOOS)" = 'windows' ]; then + echo -n '.exe' + fi + } +@@ -16,33 +16,12 @@ + ( + export GOGC=${DOCKER_BUILD_GOGC:-1000} + +- if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARCH)" ]; then +- # must be cross-compiling! +- if [ "$(go env GOOS)/$(go env GOARCH)" = "linux/arm" ]; then +- # specify name of the target ARM architecture +- case "$(go env GOARM)" in +- 5) +- export CGO_CFLAGS="-march=armv5t" +- export CGO_CXXFLAGS="-march=armv5t" +- ;; +- 6) +- export CGO_CFLAGS="-march=armv6" +- export CGO_CXXFLAGS="-march=armv6" +- ;; +- 7) +- export CGO_CFLAGS="-march=armv7-a" +- export CGO_CXXFLAGS="-march=armv7-a" +- ;; +- esac +- fi +- fi +- + # -buildmode=pie is not supported on Windows arm64 and Linux mips*, ppc64be + # https://github.com/golang/go/blob/go1.19.4/src/cmd/internal/sys/supported.go#L125-L132 + if ! [ "$DOCKER_STATIC" = "1" ]; then + # -buildmode=pie not supported when -race is enabled + if [[ " $BUILDFLAGS " != *" -race "* ]]; then +- case "$(go env GOOS)/$(go env GOARCH)" in ++ case "$(${GO} env GOOS)/$(${GO} env GOARCH)" in + windows/arm64 | linux/mips* | linux/ppc64) ;; + *) + BUILDFLAGS+=("-buildmode=pie") +@@ -66,11 +45,11 @@ + # only necessary for non-sandboxed invocation where TARGETPLATFORM is empty + PLATFORM_NAME=$TARGETPLATFORM + if [ -z "$PLATFORM_NAME" ]; then +- PLATFORM_NAME="$(go env GOOS)/$(go env GOARCH)" +- if [ -n "$(go env GOARM)" ]; then +- PLATFORM_NAME+="/v$(go env GOARM)" +- elif [ -n "$(go env GOAMD64)" ] && [ "$(go env GOAMD64)" != "v1" ]; then +- PLATFORM_NAME+="/$(go env GOAMD64)" ++ PLATFORM_NAME="$(${GO} env GOOS)/$(${GO} env GOARCH)" ++ if [ -n "$(${GO} env GOARM)" ]; then ++ PLATFORM_NAME+="/v$(${GO} env GOARM)" ++ elif [ -n "$(${GO} env GOAMD64)" ] && [ "$(${GO} env GOAMD64)" != "v1" ]; then ++ PLATFORM_NAME+="/$(${GO} env GOAMD64)" + fi + fi + +@@ -82,7 +61,7 @@ + if [ -n "$DOCKER_DEBUG" ]; then + set -x + fi +- ./hack/with-go-mod.sh go build -mod=vendor -modfile=vendor.mod -o "$DEST/$BINARY_FULLNAME" "${BUILDFLAGS[@]}" -ldflags "$LDFLAGS $LDFLAGS_STATIC $DOCKER_LDFLAGS" -gcflags="${GCFLAGS}" "$GO_PACKAGE" ++ ./hack/with-go-mod.sh ${GO} build -trimpath -mod=vendor -modfile=vendor.mod -o "$DEST/$BINARY_FULLNAME" "${BUILDFLAGS[@]}" -ldflags "$LDFLAGS $LDFLAGS_STATIC $DOCKER_LDFLAGS" -gcflags="${GCFLAGS}" "$GO_PACKAGE" + ) - echo "Building: $DEST/$BINARY_FULLNAME" - echo "GOOS=\"${GOOS}\" GOARCH=\"${GOARCH}\" GOARM=\"${GOARM}\"" -- go build \ -+ ${GO} build \ - -o "$DEST/$BINARY_FULLNAME" \ - "${BUILDFLAGS[@]}" \ - -ldflags " + echo "Created binary: $DEST/$BINARY_FULLNAME" diff --git a/recipes-containers/docker/files/0001-libnetwork-use-GO-instead-of-go.patch b/recipes-containers/docker/files/0001-libnetwork-use-GO-instead-of-go.patch index c623b260..f94f73e4 100644 --- a/recipes-containers/docker/files/0001-libnetwork-use-GO-instead-of-go.patch +++ b/recipes-containers/docker/files/0001-libnetwork-use-GO-instead-of-go.patch @@ -6,6 +6,8 @@ Subject: [PATCH] libnetwork: use $(GO) instead of go Ensure that the libnetwork makefile uses the go cross flags and utilities. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> --- Makefile | 14 +++++++------- @@ -15,27 +17,29 @@ Index: git/libnetwork/Makefile =================================================================== --- git.orig/libnetwork/Makefile +++ git/libnetwork/Makefile -@@ -45,9 +45,9 @@ +@@ -45,10 +45,10 @@ build-local: @echo "🐳 $@" @mkdir -p "bin" -- go build -tags experimental -o "bin/dnet" ./cmd/dnet -- go build -o "bin/docker-proxy" ./cmd/proxy +- GO111MODULE=off go build -tags experimental -o "bin/dnet" ./cmd/dnet +- GO111MODULE=off go build -o "bin/docker-proxy" ./cmd/proxy - CGO_ENABLED=0 go build -o "bin/diagnosticClient" ./cmd/diagnostic -+ $(GO) build -tags experimental -o "bin/dnet" ./cmd/dnet -+ $(GO) build -o "bin/proxy" ./cmd/proxy -+ CGO_ENABLED=0 $(GO) build -o "bin/diagnosticClient" ./cmd/diagnostic - CGO_ENABLED=0 go build -o "bin/testMain" ./cmd/networkdb-test/testMain.go +- CGO_ENABLED=0 go build -o "bin/testMain" ./cmd/networkdb-test/testMain.go ++ GO111MODULE=off $(GO) build -trimpath -tags experimental -o "bin/dnet" ./cmd/dnet ++ GO111MODULE=off $(GO) build -trimpath -o "bin/docker-proxy" ./cmd/proxy ++ CGO_ENABLED=0 $(GO) build -trimpath -o "bin/diagnosticClient" ./cmd/diagnostic ++ CGO_ENABLED=0 $(GO) build -trimpath -o "bin/testMain" ./cmd/networkdb-test/testMain.go build-images: + @echo "🐳 $@" @@ -82,8 +82,8 @@ cross-local: @echo "🐳 $@" -- go build -o "bin/dnet-$$GOOS-$$GOARCH" ./cmd/dnet -- go build -o "bin/docker-proxy-$$GOOS-$$GOARCH" ./cmd/proxy -+ @$(GO) build -linkshared $(GOBUILDFLAGS) -o "bin/docker-proxy-$$GOOS-$$GOARCH" ./cmd/proxy -+ @$(GO) build -linkshared $(GOBUILDFLAGS) -o "bin/dnet-$$GOOS-$$GOARCH" ./cmd/dnet +- GO111MODULE=off go build -o "bin/dnet-$$GOOS-$$GOARCH" ./cmd/dnet +- GO111MODULE=off go build -o "bin/docker-proxy-$$GOOS-$$GOARCH" ./cmd/proxy ++ GO111MODULE=off $(GO) build -trimpath $(GO_LINKSHARED) $(GOBUILDFLAGS) -o "bin/dnet-$$GOOS-$$GOARCH" ./cmd/dnet ++ GO111MODULE=off $(GO) build -trimpath $(GO_LINKSHARED) $(GOBUILDFLAGS) -o "bin/docker-proxy-$$GOOS-$$GOARCH" ./cmd/proxy # Rebuild protocol buffers. # These may need to be rebuilt after vendoring updates, so .proto files are declared .PHONY so they are always rebuilt. diff --git a/recipes-containers/go-digest/go-digest_git.bb b/recipes-containers/go-digest/go-digest_git.bb index a2f8cd69..a1be705d 100644 --- a/recipes-containers/go-digest/go-digest_git.bb +++ b/recipes-containers/go-digest/go-digest_git.bb @@ -2,15 +2,15 @@ DESCRIPTION = "Common digest package used across the container ecosystem." HOMEPAGE = "https://github.com/opencontainers/go-digest.git" SECTION = "devel/go" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE.code;md5=9cd86830b557232ce55e2a6b47387471" +LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=2d6fc0e85c3f118af64c85a78d56d3cf" SRCNAME = "go-digest" PKG_NAME = "github.com/opencontainers/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=master;protocol=https" -SRCREV = "b6234c321f263c503268e3b205f3d9755f9d14ed" -PV = "v1.0.0-rc0+git${SRCPV}" +SRCREV = "65fac7b55eb714642e9359458656939349dcb766" +PV = "v1.0.0-rc0+git" S = "${WORKDIR}/git" @@ -18,6 +18,8 @@ S = "${WORKDIR}/git" do_compile() { } +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do @@ -26,7 +28,7 @@ do_install() { fi cp $j ${D}${prefix}/local/go/$j done - cp -r ${S}/src/${PKG_NAME}/LICENSE.code ${D}${prefix}/local/go/src/${PKG_NAME}/ + cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/ } SYSROOT_PREPROCESS_FUNCS += "go_digest_file_sysroot_preprocess" @@ -36,6 +38,6 @@ go_digest_file_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" -CLEANBROKEN = "1"
\ No newline at end of file +CLEANBROKEN = "1" diff --git a/recipes-containers/go-errors/go-errors_git.bb b/recipes-containers/go-errors/go-errors_git.bb index 3bb74a7c..1236bb7b 100644 --- a/recipes-containers/go-errors/go-errors_git.bb +++ b/recipes-containers/go-errors/go-errors_git.bb @@ -1,16 +1,16 @@ DESCRIPTION = "Simple error handling primitives" HOMEPAGE = "https://github.com/pkg/errors" SECTION = "devel/go" -LICENSE = "BSD" +LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=6fe682a02df52c6653f33bd0f7126b5a" SRCNAME = "errors" PKG_NAME = "github.com/pkg/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=master;protocol=https" -SRCREV = "248dadf4e9068a0b3e79f02ed0a610d935de5302" -PV = "v0.8.0+git${SRCPV}" +SRCREV = "5dd12d0cfe7f152f80558d591504ce685299311e" +PV = "v0.8.1+git" S = "${WORKDIR}/git" @@ -18,6 +18,8 @@ S = "${WORKDIR}/git" do_compile() { } +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go" -not -path "*/.tool/*"); do @@ -36,6 +38,6 @@ go_errors_file_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" -CLEANBROKEN = "1"
\ No newline at end of file +CLEANBROKEN = "1" diff --git a/recipes-containers/go-spf13-cobra/spf13-cobra_git.bb b/recipes-containers/go-spf13-cobra/spf13-cobra_git.bb index e942e4e3..8dfb0692 100644 --- a/recipes-containers/go-spf13-cobra/spf13-cobra_git.bb +++ b/recipes-containers/go-spf13-cobra/spf13-cobra_git.bb @@ -7,10 +7,10 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE.txt;md5=920d76114a32b0fb75b3f SRCNAME = "cobra" PKG_NAME = "github.com/spf13/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=main;protocol=https" -SRCREV = "b5d8e8f46a2f829f755b6e33b454e25c61c935e1" -PV = "v0.0.1+git${SRCPV}" +SRCREV = "4dd4b25de38418174a6e859e8a32eaccca32dccc" +PV = "v1.6.0+git" S = "${WORKDIR}/git" @@ -18,6 +18,8 @@ S = "${WORKDIR}/git" do_compile() { } +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go" -not -path "*/.tool/*"); do @@ -36,6 +38,6 @@ cobra_file_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" -CLEANBROKEN = "1"
\ No newline at end of file +CLEANBROKEN = "1" diff --git a/recipes-containers/go-spf13-pflag/spf13-pflag_git.bb b/recipes-containers/go-spf13-pflag/spf13-pflag_git.bb index 2fbcb439..b3e41545 100644 --- a/recipes-containers/go-spf13-pflag/spf13-pflag_git.bb +++ b/recipes-containers/go-spf13-pflag/spf13-pflag_git.bb @@ -1,16 +1,16 @@ DESCRIPTION = "Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags." HOMEPAGE = "https://github.com/spf13/pflag" SECTION = "devel/go" -LICENSE = "BSD" +LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=1e8b7dc8b906737639131047a590f21d" SRCNAME = "pflag" PKG_NAME = "github.com/spf13/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=master;protocol=https" -SRCREV = "9ff6c6923cfffbcd502984b8e0c80539a94968b7" -PV = "v1.0.0-rc4+git${SRCPV}" +SRCREV = "d5e0c0615acee7028e1e2740a11102313be88de1" +PV = "v1.0.5+git" S = "${WORKDIR}/git" @@ -18,6 +18,8 @@ S = "${WORKDIR}/git" do_compile() { } +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go" -not -path "*/.tool/*"); do @@ -36,6 +38,6 @@ pflag_file_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" -CLEANBROKEN = "1"
\ No newline at end of file +CLEANBROKEN = "1" diff --git a/recipes-containers/k3s/k3s/0001-Finding-host-local-in-usr-libexec.patch b/recipes-containers/k3s/k3s/0001-Finding-host-local-in-usr-libexec.patch index 524ac2cb..3e8e5512 100644 --- a/recipes-containers/k3s/k3s/0001-Finding-host-local-in-usr-libexec.patch +++ b/recipes-containers/k3s/k3s/0001-Finding-host-local-in-usr-libexec.patch @@ -3,7 +3,7 @@ From: Erik Jansson <erikja@axis.com> Date: Wed, 16 Oct 2019 15:07:48 +0200 Subject: [PATCH] Finding host-local in /usr/libexec -Upstream-status: Inappropriate [embedded specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: <erikja@axis.com> --- pkg/agent/config/config.go | 2 +- @@ -13,9 +13,9 @@ Index: import/pkg/agent/config/config.go =================================================================== --- import.orig/pkg/agent/config/config.go +++ import/pkg/agent/config/config.go -@@ -445,7 +445,7 @@ - } +@@ -577,7 +577,7 @@ func get(ctx context.Context, envInfo *c + nodeConfig.NoFlannel = nodeConfig.FlannelBackend == config.FlannelBackendNone if !nodeConfig.NoFlannel { - hostLocal, err := exec.LookPath("host-local") + hostLocal, err := exec.LookPath("/usr/libexec/cni/host-local") diff --git a/recipes-containers/k3s/k3s/k3s-killall.sh b/recipes-containers/k3s/k3s/k3s-killall.sh new file mode 100644 index 00000000..9e726153 --- /dev/null +++ b/recipes-containers/k3s/k3s/k3s-killall.sh @@ -0,0 +1,82 @@ +#!/bin/sh + +# Based on: k3s-killall.sh installed when running Rancher Lab's K3S install.sh +# In open-source project: https://github.com/k3s-io/k3s +# +# Original file: Copyright (c) 2021 Rancher Labs and Contributors. +# Modifications: Copyright (c) 2021 Arm Limited and Contributors. All rights reserved. +# +# Modifications: +# - Change systemd service directory location +# - Fix PID parsing to run on core image +# - Remove service stopping code (as this is intended to run as part of service +# stop) +# - Changes to resolve warnings from the ShellCheck static analysis tool +# +# SPDX-License-Identifier: Apache License 2.0 + +[ "$(id -u)" -eq 0 ] || exec sudo "$0" "$@" + +for bin in /var/lib/rancher/k3s/data/**/bin/; do + [ -d "$bin" ] && export PATH=$PATH:$bin:$bin/aux +done + +set -x + +pschildren() { + ps -e -o ppid= -o pid= | sed -e 's/^\s*//g; s/\s\s*/\t/g;' | grep -w "^$1" | cut -f2 +} + +pstree() { + for pid in "$@"; do + echo "$pid" + for child in $(pschildren "$pid"); do + pstree "$child" + done + done +} + +killtree() { + while read -r pid; do + if [ -n "${pid}" ]; then + kill -9 "${pid}" 2>/dev/null + fi + done <<EOF +$({ set +x; } 2>/dev/null; pstree "$@"; set -x;) +EOF +} + +getshims() { + ps -e -o pid= -o args= | sed -e 's/^ *//; s/\s\s*/\t/;' | grep -w '[^/]*/bin/containerd-shim' | cut -f1 +} + +killtree "$({ set +x; } 2>/dev/null; getshims; set -x)" + +# shellcheck disable=SC2016 +do_unmount_and_remove() { + set +x + while read -r _ path _; do + case "$path" in $1*) echo "$path" ;; esac + done < /proc/self/mounts | sort -r | xargs -r -t -n 1 sh -c 'umount "$0" && rm -rf "$0"' + set -x +} + +do_unmount_and_remove '/run/k3s' +do_unmount_and_remove '/var/lib/rancher/k3s' +do_unmount_and_remove '/var/lib/kubelet/pods' +do_unmount_and_remove '/var/lib/kubelet/plugins' +do_unmount_and_remove '/run/netns/cni-' + +# Remove CNI namespaces +ip netns show 2>/dev/null | grep cni- | xargs -r -t -n 1 ip netns delete + +# Delete network interface(s) that match 'master cni0' +ip link show 2>/dev/null | grep 'master cni0' | while read -r _ iface _; do + iface=${iface%%@*} + [ -z "$iface" ] || ip link delete "$iface" +done +ip link delete cni0 +ip link delete flannel.1 +ip link delete flannel-v6.1 +rm -rf /var/lib/cni/ +iptables-save | grep -v KUBE- | grep -v CNI- | iptables-restore diff --git a/recipes-containers/k3s/k3s/k3s.service b/recipes-containers/k3s/k3s/k3s.service index 34c7a804..33d3ee74 100644 --- a/recipes-containers/k3s/k3s/k3s.service +++ b/recipes-containers/k3s/k3s/k3s.service @@ -4,12 +4,17 @@ Description=Lightweight Kubernetes Documentation=https://k3s.io Requires=containerd.service After=containerd.service +After=network-online.target +Wants=network-online.target [Install] WantedBy=multi-user.target [Service] Type=notify +EnvironmentFile=-/etc/default/%N +EnvironmentFile=-/etc/sysconfig/%N +EnvironmentFile=-/etc/systemd/system/k3s.service.env KillMode=process Delegate=yes # Having non-zero Limit*s causes performance problems due to accounting overhead @@ -21,7 +26,12 @@ TasksMax=infinity TimeoutStartSec=0 Restart=always RestartSec=5s +ExecStartPre=/bin/sh -xc '! systemctl is-enabled --quiet nm-cloud-setup.service' ExecStartPre=-/sbin/modprobe br_netfilter ExecStartPre=-/sbin/modprobe overlay ExecStart=/usr/local/bin/k3s server - +# Avoid any delay due to this service when the system is rebooting or shutting +# down by using the k3s-killall.sh script to kill all of the running k3s +# services and containers +ExecStopPost=/bin/sh -c "if systemctl is-system-running | grep -i \ + 'stopping'; then /usr/local/bin/k3s-killall.sh; fi" diff --git a/recipes-containers/k3s/k3s/modules.txt b/recipes-containers/k3s/k3s/modules.txt new file mode 100644 index 00000000..04a8523c --- /dev/null +++ b/recipes-containers/k3s/k3s/modules.txt @@ -0,0 +1,946 @@ +# github.com/Microsoft/hcsshim v0.11.4 +## explicit +# github.com/Mirantis/cri-dockerd v0.0.0-00010101000000-000000000000 +## explicit +# github.com/blang/semver/v4 v4.0.0 +## explicit +# github.com/cloudnativelabs/kube-router/v2 v2.0.0-00010101000000-000000000000 +## explicit +# github.com/containerd/aufs v1.0.0 +## explicit +# github.com/containerd/cgroups/v3 v3.0.2 +## explicit +# github.com/containerd/containerd v1.7.11 +## explicit +# github.com/containerd/fuse-overlayfs-snapshotter v1.0.5 +## explicit +# github.com/containerd/stargz-snapshotter v0.14.4-0.20230913082252-7275d45b185c +## explicit +# github.com/containerd/zfs v1.1.0 +## explicit +# github.com/coreos/go-iptables v0.7.0 +## explicit +# github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf +## explicit +# github.com/docker/docker v24.0.7+incompatible +## explicit +# github.com/erikdubbelboer/gspt v0.0.0-20190125194910-e68493906b83 +## explicit +# github.com/flannel-io/flannel v0.24.2 +## explicit +# github.com/go-bindata/go-bindata v3.1.2+incompatible +## explicit +# github.com/go-logr/logr v1.4.1 +## explicit +# github.com/go-logr/stdr v1.2.3-0.20220714215716-96bad1d688c5 +## explicit +# github.com/go-sql-driver/mysql v1.7.1 +## explicit +# github.com/go-test/deep v1.0.7 +## explicit +# github.com/golang/mock v1.6.0 +## explicit +# github.com/google/cadvisor v0.47.3 +## explicit +# github.com/google/uuid v1.4.0 +## explicit +# github.com/gorilla/mux v1.8.1 +## explicit +# github.com/gorilla/websocket v1.5.0 +## explicit +# github.com/ipfs/go-ds-leveldb v0.5.0 +## explicit +# github.com/ipfs/go-log/v2 v2.5.1 +## explicit +# github.com/json-iterator/go v1.1.12 +## explicit +# github.com/k3s-io/helm-controller v0.15.8 +## explicit +# github.com/k3s-io/kine v0.11.4 +## explicit +# github.com/klauspost/compress v1.17.2 +## explicit +# github.com/kubernetes-sigs/cri-tools v0.0.0-00010101000000-000000000000 +## explicit +# github.com/lib/pq v1.10.2 +## explicit +# github.com/libp2p/go-libp2p v0.30.0 +## explicit +# github.com/mattn/go-sqlite3 v1.14.19 +## explicit +# github.com/minio/minio-go/v7 v7.0.33 +## explicit +# github.com/mwitkow/go-http-dialer v0.0.0-20161116154839-378f744fb2b8 +## explicit +# github.com/natefinch/lumberjack v2.0.0+incompatible +## explicit +# github.com/onsi/ginkgo/v2 v2.11.0 +## explicit +# github.com/onsi/gomega v1.27.10 +## explicit +# github.com/opencontainers/runc v1.1.12 +## explicit +# github.com/opencontainers/selinux v1.11.0 +## explicit +# github.com/otiai10/copy v1.7.0 +## explicit +# github.com/pkg/errors v0.9.1 +## explicit +# github.com/rancher/dynamiclistener v0.3.6 +## explicit +# github.com/rancher/lasso v0.0.0-20230830164424-d684fdeb6f29 +## explicit +# github.com/rancher/remotedialer v0.3.0 +## explicit +# github.com/rancher/wharfie v0.6.4 +## explicit +# github.com/rancher/wrangler v1.1.1 +## explicit +# github.com/robfig/cron/v3 v3.0.1 +## explicit +# github.com/rootless-containers/rootlesskit v1.0.1 +## explicit +# github.com/sirupsen/logrus v1.9.3 +## explicit +# github.com/spf13/pflag v1.0.5 +## explicit +# github.com/stretchr/testify v1.8.4 +## explicit +# github.com/urfave/cli v1.22.14 +## explicit +# github.com/vishvananda/netlink v1.2.1-beta.2 +## explicit +# github.com/xenitab/spegel v0.0.16 +## explicit +# github.com/yl2chen/cidranger v1.0.2 +## explicit +# go.etcd.io/etcd/api/v3 v3.5.10 +## explicit +# go.etcd.io/etcd/client/pkg/v3 v3.5.10 +## explicit +# go.etcd.io/etcd/client/v3 v3.5.10 +## explicit +# go.etcd.io/etcd/etcdutl/v3 v3.5.9 +## explicit +# go.etcd.io/etcd/server/v3 v3.5.10 +## explicit +# go.uber.org/zap v1.26.0 +## explicit +# golang.org/x/crypto v0.17.0 +## explicit +# golang.org/x/net v0.19.0 +## explicit +# golang.org/x/sync v0.6.0 +## explicit +# golang.org/x/sys v0.16.0 +## explicit +# google.golang.org/grpc v1.60.1 +## explicit +# gopkg.in/yaml.v2 v2.4.0 +## explicit +# inet.af/tcpproxy v0.0.0-20200125044825-b6bb9b5b8252 +## explicit +# k8s.io/api v0.28.7 +## explicit +# k8s.io/apimachinery v0.28.7 +## explicit +# k8s.io/apiserver v0.28.7 +## explicit +# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible +## explicit +# k8s.io/cloud-provider v0.28.7 +## explicit +# k8s.io/cluster-bootstrap v0.0.0 +## explicit +# k8s.io/component-base v0.28.7 +## explicit +# k8s.io/component-helpers v0.28.7 +## explicit +# k8s.io/cri-api v0.29.0-alpha.0 +## explicit +# k8s.io/klog/v2 v2.100.1 +## explicit +# k8s.io/kube-proxy v0.0.0 +## explicit +# k8s.io/kubectl v0.25.0 +## explicit +# k8s.io/kubernetes v1.28.7 +## explicit +# k8s.io/utils v0.0.0-20230726121419-3b25d923346b +## explicit +# sigs.k8s.io/yaml v1.4.0 +## explicit +# github.com/benbjohnson/clock v1.3.5 +## explicit +# github.com/bytedance/sonic v1.9.1 +## explicit +# github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 +## explicit +# github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c +## explicit +# github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 +## explicit +# github.com/elastic/gosigar v0.14.2 +## explicit +# github.com/flynn/noise v1.0.0 +## explicit +# github.com/francoispqt/gojay v1.2.13 +## explicit +# github.com/gabriel-vasile/mimetype v1.4.2 +## explicit +# github.com/gin-contrib/sse v0.1.0 +## explicit +# github.com/gin-gonic/gin v1.9.1 +## explicit +# github.com/go-playground/locales v0.14.1 +## explicit +# github.com/go-playground/universal-translator v0.18.1 +## explicit +# github.com/go-playground/validator/v10 v10.14.0 +## explicit +# github.com/goccy/go-json v0.10.2 +## explicit +# github.com/golang/snappy v0.0.4 +## explicit +# github.com/google/gopacket v1.1.19 +## explicit +# github.com/hashicorp/golang-lru v0.5.4 +## explicit +# github.com/hashicorp/golang-lru/arc/v2 v2.0.5 +## explicit +# github.com/hashicorp/golang-lru/v2 v2.0.5 +## explicit +# github.com/huin/goupnp v1.2.0 +## explicit +# github.com/ipfs/boxo v0.10.0 +## explicit +# github.com/ipfs/go-cid v0.4.1 +## explicit +# github.com/ipfs/go-datastore v0.6.0 +## explicit +# github.com/ipfs/go-log v1.0.5 +## explicit +# github.com/ipld/go-ipld-prime v0.20.0 +## explicit +# github.com/jackpal/go-nat-pmp v1.0.2 +## explicit +# github.com/jbenet/go-temp-err-catcher v0.1.0 +## explicit +# github.com/jbenet/goprocess v0.1.4 +## explicit +# github.com/koron/go-ssdp v0.0.4 +## explicit +# github.com/leodido/go-urn v1.2.4 +## explicit +# github.com/libp2p/go-buffer-pool v0.1.0 +## explicit +# github.com/libp2p/go-cidranger v1.1.0 +## explicit +# github.com/libp2p/go-flow-metrics v0.1.0 +## explicit +# github.com/libp2p/go-libp2p-asn-util v0.3.0 +## explicit +# github.com/libp2p/go-libp2p-kad-dht v0.25.2 +## explicit +# github.com/libp2p/go-libp2p-kbucket v0.6.3 +## explicit +# github.com/libp2p/go-libp2p-record v0.2.0 +## explicit +# github.com/libp2p/go-libp2p-routing-helpers v0.7.2 +## explicit +# github.com/libp2p/go-msgio v0.3.0 +## explicit +# github.com/libp2p/go-nat v0.2.0 +## explicit +# github.com/libp2p/go-netroute v0.2.1 +## explicit +# github.com/libp2p/go-reuseport v0.4.0 +## explicit +# github.com/libp2p/go-yamux/v4 v4.0.1 +## explicit +# github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd +## explicit +# github.com/mattn/go-isatty v0.0.19 +## explicit +# github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 +## explicit +# github.com/miekg/dns v1.1.55 +## explicit +# github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b +## explicit +# github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc +## explicit +# github.com/mr-tron/base58 v1.2.0 +## explicit +# github.com/multiformats/go-base32 v0.1.0 +## explicit +# github.com/multiformats/go-base36 v0.2.0 +## explicit +# github.com/multiformats/go-multiaddr v0.12.0 +## explicit +# github.com/multiformats/go-multiaddr-dns v0.3.1 +## explicit +# github.com/multiformats/go-multiaddr-fmt v0.1.0 +## explicit +# github.com/multiformats/go-multibase v0.2.0 +## explicit +# github.com/multiformats/go-multicodec v0.9.0 +## explicit +# github.com/multiformats/go-multihash v0.2.3 +## explicit +# github.com/multiformats/go-multistream v0.4.1 +## explicit +# github.com/multiformats/go-varint v0.0.7 +## explicit +# github.com/opentracing/opentracing-go v1.2.0 +## explicit +# github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 +## explicit +# github.com/pelletier/go-toml/v2 v2.1.1 +## explicit +# github.com/polydawn/refmt v0.89.0 +## explicit +# github.com/quic-go/qpack v0.4.0 +## explicit +# github.com/quic-go/qtls-go1-20 v0.3.3 +## explicit +# github.com/quic-go/quic-go v0.38.0 +## explicit +# github.com/quic-go/webtransport-go v0.5.3 +## explicit +# github.com/raulk/go-watchdog v1.3.0 +## explicit +# github.com/slok/go-http-metrics v0.10.0 +## explicit +# github.com/spaolacci/murmur3 v1.1.0 +## explicit +# github.com/spf13/afero v1.11.0 +## explicit +# github.com/syndtr/goleveldb v1.0.0 +## explicit +# github.com/twitchyliquid64/golang-asm v0.15.1 +## explicit +# github.com/ugorji/go/codec v1.2.11 +## explicit +# github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 +## explicit +# github.com/xenitab/pkg/channels v0.0.2 +## explicit +# github.com/xenitab/pkg/gin v0.0.9 +## explicit +# go.uber.org/dig v1.17.0 +## explicit +# go.uber.org/fx v1.20.0 +## explicit +# golang.org/x/arch v0.3.0 +## explicit +# gonum.org/v1/gonum v0.13.0 +## explicit +# lukechampine.com/blake3 v1.2.1 +## explicit +# cloud.google.com/go/compute v1.23.3 +## explicit +# cloud.google.com/go/compute/metadata v0.2.3 +## explicit +# github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 +## explicit +# github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 +## explicit +# github.com/Azure/azure-sdk-for-go v68.0.0+incompatible +## explicit +# github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 +## explicit +# github.com/Azure/go-autorest v14.2.0+incompatible +## explicit +# github.com/Azure/go-autorest/autorest v0.11.29 +## explicit +# github.com/Azure/go-autorest/autorest/adal v0.9.23 +## explicit +# github.com/Azure/go-autorest/autorest/date v0.3.0 +## explicit +# github.com/Azure/go-autorest/autorest/mocks v0.4.2 +## explicit +# github.com/Azure/go-autorest/autorest/to v0.4.0 +## explicit +# github.com/Azure/go-autorest/autorest/validation v0.3.1 +## explicit +# github.com/Azure/go-autorest/logger v0.2.1 +## explicit +# github.com/Azure/go-autorest/tracing v0.6.0 +## explicit +# github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f11817397a1b +## explicit +# github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab +## explicit +# github.com/MakeNowJust/heredoc v1.0.0 +## explicit +# github.com/Microsoft/go-winio v0.6.1 +## explicit +# github.com/NYTimes/gziphandler v1.1.1 +## explicit +# github.com/Rican7/retry v0.1.0 +## explicit +# github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df +## explicit +# github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e +## explicit +# github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a +## explicit +# github.com/avast/retry-go/v4 v4.3.2 +## explicit +# github.com/beorn7/perks v1.0.1 +## explicit +# github.com/blang/semver v3.5.1+incompatible +## explicit +# github.com/bronze1man/goStrongswanVici v0.0.0-20221114103242-3f6dc524986c +## explicit +# github.com/canonical/go-dqlite v1.5.1 +## explicit +# github.com/cenkalti/backoff/v4 v4.2.1 +## explicit +# github.com/cespare/xxhash/v2 v2.2.0 +## explicit +# github.com/chai2010/gettext-go v1.0.2 +## explicit +# github.com/checkpoint-restore/go-criu/v5 v5.3.0 +## explicit +# github.com/cilium/ebpf v0.9.1 +## explicit +# github.com/container-orchestrated-devices/container-device-interface v0.5.4 +## explicit +# github.com/container-storage-interface/spec v1.8.0 +## explicit +# github.com/containerd/btrfs/v2 v2.0.0 +## explicit +# github.com/containerd/cgroups v1.1.0 +## explicit +# github.com/containerd/console v1.0.3 +## explicit +# github.com/containerd/continuity v0.4.2 +## explicit +# github.com/containerd/fifo v1.1.0 +## explicit +# github.com/containerd/go-cni v1.1.9 +## explicit +# github.com/containerd/go-runc v1.0.0 +## explicit +# github.com/containerd/imgcrypt v1.1.7 +## explicit +# github.com/containerd/log v0.1.0 +## explicit +# github.com/containerd/nri v0.4.0 +## explicit +# github.com/containerd/stargz-snapshotter/estargz v0.14.3 +## explicit +# github.com/containerd/ttrpc v1.2.2 +## explicit +# github.com/containerd/typeurl v1.0.2 +## explicit +# github.com/containerd/typeurl/v2 v2.1.1 +## explicit +# github.com/containernetworking/cni v1.1.2 +## explicit +# github.com/containernetworking/plugins v1.3.0 +## explicit +# github.com/containers/ocicrypt v1.1.6 +## explicit +# github.com/coreos/go-oidc v2.2.1+incompatible +## explicit +# github.com/coreos/go-semver v0.3.1 +## explicit +# github.com/coreos/go-systemd/v22 v22.5.0 +## explicit +# github.com/cpuguy83/go-md2man/v2 v2.0.3 +## explicit +# github.com/cyphar/filepath-securejoin v0.2.4 +## explicit +# github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc +## explicit +# github.com/daviddengcn/go-colortext v1.0.0 +## explicit +# github.com/docker/cli v24.0.5+incompatible +## explicit +# github.com/docker/distribution v2.8.3+incompatible +## explicit +# github.com/docker/docker-credential-helpers v0.7.0 +## explicit +# github.com/docker/go-connections v0.5.0 +## explicit +# github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c +## explicit +# github.com/docker/go-metrics v0.0.1 +## explicit +# github.com/docker/go-units v0.5.0 +## explicit +# github.com/dustin/go-humanize v1.0.1 +## explicit +# github.com/emicklei/go-restful v2.16.0+incompatible +## explicit +# github.com/emicklei/go-restful/v3 v3.11.0 +## explicit +# github.com/euank/go-kmsg-parser v2.0.0+incompatible +## explicit +# github.com/evanphx/json-patch v5.6.0+incompatible +## explicit +# github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d +## explicit +# github.com/fatih/camelcase v1.0.0 +## explicit +# github.com/felixge/httpsnoop v1.0.4 +## explicit +# github.com/fsnotify/fsnotify v1.7.0 +## explicit +# github.com/fvbommel/sortorder v1.1.0 +## explicit +# github.com/ghodss/yaml v1.0.0 +## explicit +# github.com/go-errors/errors v1.4.2 +## explicit +# github.com/go-openapi/jsonpointer v0.20.0 +## explicit +# github.com/go-openapi/jsonreference v0.20.2 +## explicit +# github.com/go-openapi/swag v0.22.4 +## explicit +# github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 +## explicit +# github.com/godbus/dbus/v5 v5.1.0 +## explicit +# github.com/gofrs/flock v0.8.1 +## explicit +# github.com/gofrs/uuid v4.4.0+incompatible +## explicit +# github.com/gogo/protobuf v1.3.2 +## explicit +# github.com/golang-jwt/jwt/v4 v4.5.0 +## explicit +# github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da +## explicit +# github.com/golang/protobuf v1.5.3 +## explicit +# github.com/google/btree v1.1.2 +## explicit +# github.com/google/cel-go v0.16.1 +## explicit +# github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 +## explicit +# github.com/google/go-cmp v0.6.0 +## explicit +# github.com/google/go-containerregistry v0.14.0 +## explicit +# github.com/google/gofuzz v1.2.0 +## explicit +# github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f +## explicit +# github.com/google/s2a-go v0.1.7 +## explicit +# github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 +## explicit +# github.com/googleapis/enterprise-certificate-proxy v0.3.2 +## explicit +# github.com/googleapis/gax-go/v2 v2.12.0 +## explicit +# github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 +## explicit +# github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 +## explicit +# github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 +## explicit +# github.com/grpc-ecosystem/grpc-gateway v1.16.0 +## explicit +# github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 +## explicit +# github.com/hanwen/go-fuse/v2 v2.3.0 +## explicit +# github.com/hashicorp/errwrap v1.1.0 +## explicit +# github.com/hashicorp/go-cleanhttp v0.5.2 +## explicit +# github.com/hashicorp/go-multierror v1.1.1 +## explicit +# github.com/hashicorp/go-retryablehttp v0.7.4 +## explicit +# github.com/hashicorp/go-version v1.6.0 +## explicit +# github.com/imdario/mergo v0.3.16 +## explicit +# github.com/inconshreveable/mousetrap v1.1.0 +## explicit +# github.com/intel/goresctrl v0.3.0 +## explicit +# github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa +## explicit +# github.com/jackc/pgpassfile v1.0.0 +## explicit +# github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a +## explicit +# github.com/jackc/pgx/v5 v5.4.2 +## explicit +# github.com/jonboulle/clockwork v0.4.0 +## explicit +# github.com/josharian/intern v1.0.0 +## explicit +# github.com/josharian/native v1.1.0 +## explicit +# github.com/karrick/godirwalk v1.17.0 +## explicit +# github.com/klauspost/cpuid/v2 v2.2.5 +## explicit +# github.com/kylelemons/godebug v1.1.0 +## explicit +# github.com/libopenstorage/openstorage v1.0.0 +## explicit +# github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de +## explicit +# github.com/lithammer/dedent v1.1.0 +## explicit +# github.com/mailru/easyjson v0.7.7 +## explicit +# github.com/mdlayher/genetlink v1.3.2 +## explicit +# github.com/mdlayher/netlink v1.7.2 +## explicit +# github.com/mdlayher/socket v0.4.1 +## explicit +# github.com/miekg/pkcs11 v1.1.1 +## explicit +# github.com/minio/highwayhash v1.0.2 +## explicit +# github.com/minio/md5-simd v1.1.2 +## explicit +# github.com/minio/sha256-simd v1.0.1 +## explicit +# github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible +## explicit +# github.com/mistifyio/go-zfs/v3 v3.0.1 +## explicit +# github.com/mitchellh/go-homedir v1.1.0 +## explicit +# github.com/mitchellh/go-wordwrap v1.0.1 +## explicit +# github.com/moby/ipvs v1.1.0 +## explicit +# github.com/moby/locker v1.0.1 +## explicit +# github.com/moby/spdystream v0.2.0 +## explicit +# github.com/moby/sys/mountinfo v0.6.2 +## explicit +# github.com/moby/sys/sequential v0.5.0 +## explicit +# github.com/moby/sys/signal v0.7.0 +## explicit +# github.com/moby/sys/symlink v0.2.0 +## explicit +# github.com/moby/term v0.0.0-20221205130635-1aeaba878587 +## explicit +# github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd +## explicit +# github.com/modern-go/reflect2 v1.0.2 +## explicit +# github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 +## explicit +# github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 +## explicit +# github.com/morikuni/aec v1.0.0 +## explicit +# github.com/mrunalp/fileutils v0.5.1 +## explicit +# github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 +## explicit +# github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f +## explicit +# github.com/nats-io/jsm.go v0.0.31-0.20220317133147-fe318f464eee +## explicit +# github.com/nats-io/jwt/v2 v2.5.3 +## explicit +# github.com/nats-io/nats-server/v2 v2.10.5 +## explicit +# github.com/nats-io/nats.go v1.31.0 +## explicit +# github.com/nats-io/nkeys v0.4.6 +## explicit +# github.com/nats-io/nuid v1.0.1 +## explicit +# github.com/opencontainers/go-digest v1.0.0 +## explicit +# github.com/opencontainers/image-spec v1.1.0-rc5 +## explicit +# github.com/opencontainers/runtime-spec v1.1.0 +## explicit +# github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 +## explicit +# github.com/pelletier/go-toml v1.9.5 +## explicit +# github.com/peterbourgon/diskv v2.0.1+incompatible +## explicit +# github.com/pierrec/lz4 v2.6.0+incompatible +## explicit +# github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 +## explicit +# github.com/pquerna/cachecontrol v0.1.0 +## explicit +# github.com/prometheus/client_golang v1.18.0 +## explicit +# github.com/prometheus/client_model v0.5.0 +## explicit +# github.com/prometheus/common v0.45.0 +## explicit +# github.com/prometheus/procfs v0.12.0 +## explicit +# github.com/rs/xid v1.5.0 +## explicit +# github.com/rubiojr/go-vhd v0.0.0-20200706105327-02e210299021 +## explicit +# github.com/russross/blackfriday/v2 v2.1.0 +## explicit +# github.com/seccomp/libseccomp-golang v0.10.0 +## explicit +# github.com/shengdoushi/base58 v1.0.0 +## explicit +# github.com/soheilhy/cmux v0.1.5 +## explicit +# github.com/spf13/cobra v1.8.0 +## explicit +# github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 +## explicit +# github.com/stoewer/go-strcase v1.2.0 +## explicit +# github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 +## explicit +# github.com/tchap/go-patricia/v2 v2.3.1 +## explicit +# github.com/tidwall/btree v1.6.0 +## explicit +# github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 +## explicit +# github.com/urfave/cli/v2 v2.23.5 +## explicit +# github.com/vbatts/tar-split v0.11.5 +## explicit +# github.com/vishvananda/netns v0.0.4 +## explicit +# github.com/vmware/govmomi v0.30.6 +## explicit +# github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 +## explicit +# github.com/xlab/treeprint v1.2.0 +## explicit +# github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 +## explicit +# go.etcd.io/bbolt v1.3.8 +## explicit +# go.etcd.io/etcd/client/v2 v2.305.10 +## explicit +# go.etcd.io/etcd/pkg/v3 v3.5.10 +## explicit +# go.etcd.io/etcd/raft/v3 v3.5.10 +## explicit +# go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 +## explicit +# go.opencensus.io v0.24.0 +## explicit +# go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.42.0 +## explicit +# go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 +## explicit +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 +## explicit +# go.opentelemetry.io/otel v1.21.0 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 +## explicit +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 +## explicit +# go.opentelemetry.io/otel/metric v1.21.0 +## explicit +# go.opentelemetry.io/otel/sdk v1.21.0 +## explicit +# go.opentelemetry.io/otel/trace v1.21.0 +## explicit +# go.opentelemetry.io/proto/otlp v1.0.0 +## explicit +# go.starlark.net v0.0.0-20230525235612-a134d8f9ddca +## explicit +# go.uber.org/multierr v1.11.0 +## explicit +# golang.org/x/exp v0.0.0-20231006140011-7918f672742d +## explicit +# golang.org/x/mod v0.14.0 +## explicit +# golang.org/x/oauth2 v0.15.0 +## explicit +# golang.org/x/term v0.15.0 +## explicit +# golang.org/x/text v0.14.0 +## explicit +# golang.org/x/time v0.5.0 +## explicit +# golang.org/x/tools v0.16.1 +## explicit +# golang.zx2c4.com/wireguard v0.0.0-20230325221338-052af4a8072b +## explicit +# golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6 +## explicit +# google.golang.org/api v0.152.0 +## explicit +# google.golang.org/appengine v1.6.8 +## explicit +# google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 +## explicit +# google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 +## explicit +# google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f +## explicit +# google.golang.org/protobuf v1.31.0 +## explicit +# gopkg.in/gcfg.v1 v1.2.3 +## explicit +# gopkg.in/inf.v0 v0.9.1 +## explicit +# gopkg.in/ini.v1 v1.67.0 +## explicit +# gopkg.in/natefinch/lumberjack.v2 v2.2.1 +## explicit +# gopkg.in/square/go-jose.v2 v2.6.0 +## explicit +# gopkg.in/warnings.v0 v0.1.2 +## explicit +# gopkg.in/yaml.v3 v3.0.1 +## explicit +# k8s.io/apiextensions-apiserver v0.28.7 +## explicit +# k8s.io/cli-runtime v0.22.2 +## explicit +# k8s.io/code-generator v0.28.7 +## explicit +# k8s.io/controller-manager v0.25.4 +## explicit +# k8s.io/csi-translation-lib v0.0.0 +## explicit +# k8s.io/dynamic-resource-allocation v0.0.0 +## explicit +# k8s.io/endpointslice v0.0.0 +## explicit +# k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 +## explicit +# k8s.io/kms v0.0.0 +## explicit +# k8s.io/kube-aggregator v0.28.7 +## explicit +# k8s.io/kube-controller-manager v0.0.0 +## explicit +# k8s.io/kube-openapi v0.0.0-20230928205116-a78145627833 +## explicit +# k8s.io/kube-scheduler v0.0.0 +## explicit +# k8s.io/kubelet v0.28.7 +## explicit +# k8s.io/legacy-cloud-providers v0.0.0 +## explicit +# k8s.io/metrics v0.0.0 +## explicit +# k8s.io/mount-utils v0.28.7 +## explicit +# k8s.io/pod-security-admission v0.0.0 +## explicit +# sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2 +## explicit +# sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd +## explicit +# sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 +## explicit +# sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3 +## explicit +# sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 +## explicit +# sigs.k8s.io/structured-merge-diff/v4 v4.3.0 +## explicit +# github.com/Microsoft/hcsshim => github.com/Microsoft/hcsshim v0.11.0 +# github.com/Mirantis/cri-dockerd => github.com/k3s-io/cri-dockerd v0.3.9-k3s2 +# github.com/cloudnativelabs/kube-router/v2 => github.com/k3s-io/kube-router/v2 v2.0.1 +# github.com/containerd/containerd => github.com/k3s-io/containerd v1.7.11-k3s2 +# github.com/coreos/go-systemd => github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e +# github.com/docker/distribution => github.com/docker/distribution v2.8.2+incompatible +# github.com/docker/docker => github.com/docker/docker v24.0.0-rc.2.0.20230801142700-69c9adb7d386+incompatible +# github.com/docker/libnetwork => github.com/docker/libnetwork v0.8.0-dev.2.0.20190624125649-f0e46a78ea34 +# github.com/emicklei/go-restful/v3 => github.com/emicklei/go-restful/v3 v3.9.0 +# github.com/golang/protobuf => github.com/golang/protobuf v1.5.3 +# github.com/googleapis/gax-go/v2 => github.com/googleapis/gax-go/v2 v2.12.0 +# github.com/juju/errors => github.com/k3s-io/nocode v0.0.0-20200630202308-cb097102c09f +# github.com/kubernetes-sigs/cri-tools => github.com/k3s-io/cri-tools v1.26.0-rc.0-k3s1 +# github.com/open-policy-agent/opa => github.com/open-policy-agent/opa v0.59.0 +# github.com/opencontainers/runc => github.com/k3s-io/runc v1.1.12-k3s1 +# github.com/opencontainers/runtime-spec => github.com/opencontainers/runtime-spec v1.0.3-0.20220909204839-494a5a6aca78 +# github.com/opencontainers/selinux => github.com/opencontainers/selinux v1.10.1 +# github.com/quic-go/qtls-go1-20 => github.com/quic-go/qtls-go1-20 v0.3.3 +# github.com/quic-go/quic-go => github.com/quic-go/quic-go v0.38.2 +# github.com/rancher/wrangler => github.com/rancher/wrangler v1.1.1-0.20230818201331-3604a6be798d +# github.com/ugorji/go => github.com/ugorji/go v1.2.11 +# github.com/xenitab/spegel => github.com/k3s-io/spegel v0.0.17-0.20240109004735-9466a5529330 +# go.etcd.io/etcd/api/v3 => github.com/k3s-io/etcd/api/v3 v3.5.9-k3s1 +# go.etcd.io/etcd/client/pkg/v3 => github.com/k3s-io/etcd/client/pkg/v3 v3.5.9-k3s1 +# go.etcd.io/etcd/client/v2 => github.com/k3s-io/etcd/client/v2 v2.305.9-k3s1 +# go.etcd.io/etcd/client/v3 => github.com/k3s-io/etcd/client/v3 v3.5.9-k3s1 +# go.etcd.io/etcd/etcdutl/v3 => github.com/k3s-io/etcd/etcdutl/v3 v3.5.9-k3s1 +# go.etcd.io/etcd/pkg/v3 => github.com/k3s-io/etcd/pkg/v3 v3.5.9-k3s1 +# go.etcd.io/etcd/raft/v3 => github.com/k3s-io/etcd/raft/v3 v3.5.9-k3s1 +# go.etcd.io/etcd/server/v3 => github.com/k3s-io/etcd/server/v3 v3.5.9-k3s1 +# go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful => go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.35.0 +# go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp => go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.1 +# go.opentelemetry.io/contrib/propagators/b3 => go.opentelemetry.io/contrib/propagators/b3 v1.13.0 +# go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.13.0 +# go.opentelemetry.io/otel/exporters/otlp/internal/retry => go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.13.0 +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric => go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.32.1 +# go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc => go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.32.1 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace => go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.13.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.13.0 +# go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v0.32.1 +# go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.13.0 +# go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.13.0 +# go.opentelemetry.io/proto/otlp => go.opentelemetry.io/proto/otlp v0.19.0 +# golang.org/x/crypto => golang.org/x/crypto v0.14.0 +# golang.org/x/net => golang.org/x/net v0.17.0 +# golang.org/x/sys => golang.org/x/sys v0.13.0 +# google.golang.org/genproto => google.golang.org/genproto v0.0.0-20230525234035-dd9d682886f9 +# google.golang.org/grpc => google.golang.org/grpc v1.58.3 +# gopkg.in/square/go-jose.v2 => gopkg.in/square/go-jose.v2 v2.6.0 +# k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.28.7-k3s1 +# k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.28.7-k3s1 +# k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.28.7-k3s1 +# k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.28.7-k3s1 +# k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.28.7-k3s1 +# k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.28.7-k3s1 +# k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.28.7-k3s1 +# k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.28.7-k3s1 +# k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.28.7-k3s1 +# k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.28.7-k3s1 +# k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.28.7-k3s1 +# k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.28.7-k3s1 +# k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.28.7-k3s1 +# k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.28.7-k3s1 +# k8s.io/dynamic-resource-allocation => github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.28.7-k3s1 +# k8s.io/endpointslice => github.com/k3s-io/kubernetes/staging/src/k8s.io/endpointslice v1.28.7-k3s1 +# k8s.io/klog => github.com/k3s-io/klog v1.0.0-k3s2 +# k8s.io/klog/v2 => github.com/k3s-io/klog/v2 v2.100.1-k3s1 +# k8s.io/kms => github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.28.7-k3s1 +# k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.28.7-k3s1 +# k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.28.7-k3s1 +# k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 +# k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.28.7-k3s1 +# k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.28.7-k3s1 +# k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.28.7-k3s1 +# k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.28.7-k3s1 +# k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.28.7-k3s1 +# k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.28.7-k3s1 +# k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.28.7-k3s1 +# k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.28.7-k3s1 +# k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.28.7-k3s1 +# k8s.io/pod-security-admission => github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.28.7-k3s1 +# k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.28.7-k3s1 +# k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.28.7-k3s1 +# k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.28.7-k3s1 +# mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20210104141923-aac4ce9116a7 diff --git a/recipes-containers/k3s/k3s_git.bb b/recipes-containers/k3s/k3s_git.bb index 20345f26..b88b8349 100644 --- a/recipes-containers/k3s/k3s_git.bb +++ b/recipes-containers/k3s/k3s_git.bb @@ -4,18 +4,24 @@ HOMEPAGE = "https://k3s.io/" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/src/import/LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" -SRC_URI = "git://github.com/rancher/k3s.git;branch=release-1.20;name=k3s \ +SRC_URI = "git://github.com/rancher/k3s.git;branch=release-1.28;name=k3s;protocol=https \ file://k3s.service \ file://k3s-agent.service \ file://k3s-agent \ file://k3s-clean \ file://cni-containerd-net.conf \ file://0001-Finding-host-local-in-usr-libexec.patch;patchdir=src/import \ + file://k3s-killall.sh \ + file://modules.txt \ " + SRC_URI[k3s.md5sum] = "363d3a08dc0b72ba6e6577964f6e94a5" -SRCREV_k3s = "8d0432824a9fd9474b67138b7630c33f285d332f" +SRCREV_k3s = "051b14b248655896fdfd7ba6c93db6182cde7431" + +SRCREV_FORMAT = "k3s_fuse" +PV = "v1.28.7+k3s1+git${SRCREV_k3s}" -PV = "v1.20.6+k3s1" +include src_uri.inc CNI_NETWORKING_FILES ?= "${WORKDIR}/cni-containerd-net.conf" @@ -24,11 +30,13 @@ inherit goarch inherit systemd inherit cni_networking +COMPATIBLE_HOST = "^(?!mips).*" + PACKAGECONFIG = "" PACKAGECONFIG[upx] = ",,upx-native" GO_IMPORT = "import" -GO_BUILD_LDFLAGS = "-X github.com/rancher/k3s/pkg/version.Version=${PV} \ - -X github.com/rancher/k3s/pkg/version.GitCommit=${@d.getVar('SRCREV_k3s', d, 1)[:8]} \ +GO_BUILD_LDFLAGS = "-X github.com/k3s-io/k3s/pkg/version.Version=${PV} \ + -X github.com/k3s-io/k3s/pkg/version.GitCommit=${@d.getVar('SRCREV_k3s', d, 1)[:8]} \ -w -s \ " BIN_PREFIX ?= "${exec_prefix}/local" @@ -36,15 +44,40 @@ BIN_PREFIX ?= "${exec_prefix}/local" inherit features_check REQUIRED_DISTRO_FEATURES ?= "seccomp" +DEPENDS += "rsync-native" + +include relocation.inc + do_compile() { export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go" export CGO_ENABLED="1" export GOFLAGS="-mod=vendor" - TAGS="static_build ctrd no_btrfs netcgo osusergo providerless" + # TAGS="static_build ctrd no_btrfs netcgo osusergo providerless" + TAGS="static_build netcgo osusergo providerless" cd ${S}/src/import - ${GO} build -tags "$TAGS" -ldflags "${GO_BUILD_LDFLAGS} -w -s" -o ./dist/artifacts/k3s ./cmd/server/main.go + + if ! [ -e vendor/.noclobber ]; then + ln -sf vendor.copy vendor + else + echo "[INFO]: no clobber on vendor" + fi + + # these are bad symlinks, go validates them and breaks the build if they are present + rm -f vendor/go.etcd.io/etcd/client/v*/example_* + rm -f vendor/go.etcd.io/etcd/client/v*/concurrency/example_*.go + + # Note: if no_brtfs is used in the tags, we'll violate build + # constraints, and the following files need to have them + # removed for the build to continue: + # + # vendor/github.com/containerd/containerd/snapshots/btrfs/plugin/*.go + + cp ${WORKDIR}/modules.txt vendor/ + + VERSION_GOLANG="$(go version | cut -d" " -f3)" + ${GO} build -trimpath -tags "$TAGS" -ldflags "-X github.com/k3s-io/k3s/pkg/version.UpstreamGolang=$VERSION_GOLANG ${GO_BUILD_LDFLAGS} -w -s" -o ./dist/artifacts/k3s ./cmd/server/main.go # Use UPX if it is enabled (and thus exists) to compress binary if command -v upx > /dev/null 2>&1; then @@ -60,6 +93,7 @@ do_install() { # ln -sr "${D}/${BIN_PREFIX}/bin/k3s" "${D}${BIN_PREFIX}/bin/ctr" ln -sr "${D}/${BIN_PREFIX}/bin/k3s" "${D}${BIN_PREFIX}/bin/kubectl" install -m 755 "${WORKDIR}/k3s-clean" "${D}${BIN_PREFIX}/bin" + install -m 755 "${WORKDIR}/k3s-killall.sh" "${D}${BIN_PREFIX}/bin" if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then install -D -m 0644 "${WORKDIR}/k3s.service" "${D}${systemd_system_unitdir}/k3s.service" @@ -67,23 +101,26 @@ do_install() { sed -i "s#\(Exec\)\(.*\)=\(.*\)\(k3s\)#\1\2=${BIN_PREFIX}/bin/\4#g" "${D}${systemd_system_unitdir}/k3s.service" "${D}${systemd_system_unitdir}/k3s-agent.service" install -m 755 "${WORKDIR}/k3s-agent" "${D}${BIN_PREFIX}/bin" fi + + mkdir -p ${D}${datadir}/k3s/ + install -m 0755 ${S}/src/import/contrib/util/check-config.sh ${D}${datadir}/k3s/ } PACKAGES =+ "${PN}-server ${PN}-agent" SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}-server ${PN}-agent','',d)}" -SYSTEMD_SERVICE_${PN}-server = "${@bb.utils.contains('DISTRO_FEATURES','systemd','k3s.service','',d)}" -SYSTEMD_SERVICE_${PN}-agent = "${@bb.utils.contains('DISTRO_FEATURES','systemd','k3s-agent.service','',d)}" -SYSTEMD_AUTO_ENABLE_${PN}-agent = "disable" +SYSTEMD_SERVICE:${PN}-server = "${@bb.utils.contains('DISTRO_FEATURES','systemd','k3s.service','',d)}" +SYSTEMD_SERVICE:${PN}-agent = "${@bb.utils.contains('DISTRO_FEATURES','systemd','k3s-agent.service','',d)}" +SYSTEMD_AUTO_ENABLE:${PN}-agent = "disable" -FILES_${PN}-agent = "${BIN_PREFIX}/bin/k3s-agent" -FILES_${PN} += "${BIN_PREFIX}/bin/*" +FILES:${PN}-agent = "${BIN_PREFIX}/bin/k3s-agent" +FILES:${PN} += "${BIN_PREFIX}/bin/*" -RDEPENDS_${PN} = "k3s-cni conntrack-tools coreutils findutils iptables iproute2 ipset virtual/containerd" -RDEPENDS_${PN}-server = "${PN}" -RDEPENDS_${PN}-agent = "${PN}" +RDEPENDS:${PN} = "k3s-cni conntrack-tools coreutils findutils iptables iproute2 ipset virtual-containerd" +RDEPENDS:${PN}-server = "${PN}" +RDEPENDS:${PN}-agent = "${PN}" -RRECOMMENDS_${PN} = "\ +RRECOMMENDS:${PN} = "\ kernel-module-xt-addrtype \ kernel-module-xt-nat \ kernel-module-xt-multiport \ @@ -93,9 +130,22 @@ RRECOMMENDS_${PN} = "\ kernel-module-xt-connmark \ kernel-module-vxlan \ kernel-module-xt-masquerade \ + kernel-module-xt-statistic \ + kernel-module-xt-physdev \ + kernel-module-xt-nflog \ + kernel-module-xt-limit \ + kernel-module-nfnetlink-log \ + kernel-module-ip-vs \ + kernel-module-ip-vs-rr \ + kernel-module-ip-vs-sh \ + kernel-module-ip-vs-wrr \ " -RCONFLICTS_${PN} = "kubectl" +RCONFLICTS:${PN} = "kubectl" + +PACKAGES =+ "${PN}-contrib" +FILES:${PN}-contrib += "${datadir}/k3s/check-config.sh" +RDEPENDS:${PN}-contrib += "bash" INHIBIT_PACKAGE_STRIP = "1" -INSANE_SKIP_${PN} += "ldflags already-stripped" +INSANE_SKIP:${PN} += "ldflags already-stripped textrel" diff --git a/recipes-containers/k3s/relocation.inc b/recipes-containers/k3s/relocation.inc new file mode 100644 index 00000000..024f2605 --- /dev/null +++ b/recipes-containers/k3s/relocation.inc @@ -0,0 +1,447 @@ +export sites="k8s.io/utils:k8s.io/utils:force \ + k8s.io/gengo:k8s.io/gengo:force \ + go.uber.org/fx:go.uber.org/fx:force \ + go.uber.org/zap:go.uber.org/zap:force \ + go.uber.org/dig:go.uber.org/dig:force \ + go.starlark.net:go.starlark.net:force \ + gopkg.in/inf.v0:gopkg.in/inf.v0:force \ + gopkg.in/ini.v1:gopkg.in/ini.v1:force \ + golang.org/x/net:golang.org/x/net:force \ + golang.org/x/sys:golang.org/x/sys:force \ + gopkg.in/yaml.v2:gopkg.in/yaml.v2:force \ + inet.af/tcpproxy:inet.af/tcpproxy:force \ + sigs.k8s.io/yaml:sigs.k8s.io/yaml:force \ + go.etcd.io/bbolt:go.etcd.io/bbolt:force \ + go.opencensus.io:go.opencensus.io:force \ + golang.org/x/exp:golang.org/x/exp:force \ + golang.org/x/mod:golang.org/x/mod:force \ + gopkg.in/gcfg.v1:gopkg.in/gcfg.v1:force \ + gopkg.in/yaml.v3:gopkg.in/yaml.v3:force \ + sigs.k8s.io/json:sigs.k8s.io/json:force \ + github.com/lib/pq:github.com/lib/pq:force \ + golang.org/x/sync:golang.org/x/sync:force \ + golang.org/x/arch:golang.org/x/arch:force \ + github.com/rs/xid:github.com/rs/xid:force \ + golang.org/x/term:golang.org/x/term:force \ + golang.org/x/text:golang.org/x/text:force \ + golang.org/x/time:golang.org/x/time:force \ + gonum.org/v1/gonum:gonum.org/v1/gonum:force \ + golang.org/x/tools:golang.org/x/tools:force \ + golang.org/x/crypto:golang.org/x/crypto:force \ + golang.org/x/oauth2:golang.org/x/oauth2:force \ + k8s.io/kube-openapi:k8s.io/kube-openapi:force \ + k8s.io/klog/v2:github.com/k3s-io/klog/v2:force \ + github.com/ipfs/boxo:github.com/ipfs/boxo:force \ + github.com/miekg/dns:github.com/miekg/dns:force \ + github.com/moby/ipvs:github.com/moby/ipvs:force \ + github.com/moby/term:github.com/moby/term:force \ + go.mozilla.org/pkcs7:go.mozilla.org/pkcs7:force \ + go.uber.org/multierr:go.uber.org/multierr:force \ + gopkg.in/warnings.v0:gopkg.in/warnings.v0:force \ + github.com/pkg/errors:github.com/pkg/errors:force \ + github.com/urfave/cli:github.com/urfave/cli:force \ + github.com/docker/cli:github.com/docker/cli:force \ + github.com/gofrs/uuid:github.com/gofrs/uuid:force \ + google.golang.org/api:google.golang.org/api:force \ + github.com/golang/mock:github.com/golang/mock:force \ + github.com/google/uuid:github.com/google/uuid:force \ + github.com/gorilla/mux:github.com/gorilla/mux:force \ + github.com/k3s-io/kine:github.com/k3s-io/kine:force \ + github.com/onsi/gomega:github.com/onsi/gomega:force \ + github.com/spf13/pflag:github.com/spf13/pflag:force \ + google.golang.org/grpc:google.golang.org/grpc:force \ + github.com/flynn/noise:github.com/flynn/noise:force \ + github.com/huin/goupnp:github.com/huin/goupnp:force \ + github.com/ipfs/go-cid:github.com/ipfs/go-cid:force \ + github.com/ipfs/go-log:github.com/ipfs/go-log:force \ + github.com/spf13/afero:github.com/spf13/afero:force \ + github.com/cilium/ebpf:github.com/cilium/ebpf:force \ + github.com/ghodss/yaml:github.com/ghodss/yaml:force \ + github.com/gofrs/flock:github.com/gofrs/flock:force \ + github.com/moby/locker:github.com/moby/locker:force \ + github.com/pierrec/lz4:github.com/pierrec/lz4:force \ + github.com/spf13/cobra:github.com/spf13/cobra:force \ + k8s.io/kubernetes:github.com/k3s-io/kubernetes:force \ + github.com/go-logr/logr:github.com/go-logr/logr:force \ + github.com/go-logr/stdr:github.com/go-logr/stdr:force \ + github.com/go-test/deep:github.com/go-test/deep:force \ + github.com/otiai10/copy:github.com/otiai10/copy:force \ + lukechampine.com/blake3:lukechampine.com/blake3:force \ + github.com/Rican7/retry:github.com/Rican7/retry:force \ + github.com/beorn7/perks:github.com/beorn7/perks:force \ + github.com/blang/semver:github.com/blang/semver:force \ + github.com/google/btree:github.com/google/btree:force \ + github.com/google/pprof:github.com/google/pprof:force \ + github.com/google/shlex:github.com/google/shlex:force \ + github.com/jackc/pgx/v5:github.com/jackc/pgx/v5:force \ + github.com/miekg/pkcs11:github.com/miekg/pkcs11:force \ + github.com/morikuni/aec:github.com/morikuni/aec:force \ + github.com/nats-io/nuid:github.com/nats-io/nuid:force \ + github.com/docker/docker:github.com/docker/docker:force \ + github.com/rancher/lasso:github.com/rancher/lasso:force \ + github.com/gin-gonic/gin:github.com/gin-gonic/gin:force \ + github.com/goccy/go-json:github.com/goccy/go-json:force \ + github.com/golang/snappy:github.com/golang/snappy:force \ + github.com/koron/go-ssdp:github.com/koron/go-ssdp:force \ + github.com/libp2p/go-nat:github.com/libp2p/go-nat:force \ + github.com/mikioh/tcpopt:github.com/mikioh/tcpopt:force \ + github.com/pbnjay/memory:github.com/pbnjay/memory:force \ + github.com/quic-go/qpack:github.com/quic-go/qpack:force \ + github.com/armon/circbuf:github.com/armon/circbuf:force \ + github.com/gogo/protobuf:github.com/gogo/protobuf:force \ + github.com/google/cel-go:github.com/google/cel-go:force \ + github.com/google/go-cmp:github.com/google/go-cmp:force \ + github.com/google/gofuzz:github.com/google/gofuzz:force \ + github.com/google/s2a-go:github.com/google/s2a-go:force \ + github.com/imdario/mergo:github.com/imdario/mergo:force \ + github.com/nats-io/nkeys:github.com/nats-io/nkeys:force \ + github.com/soheilhy/cmux:github.com/soheilhy/cmux:force \ + github.com/tidwall/btree:github.com/tidwall/btree:force \ + github.com/urfave/cli/v2:github.com/urfave/cli/v2:force \ + go.opentelemetry.io/otel:go.opentelemetry.io/otel:force \ + github.com/xenitab/spegel:github.com/k3s-io/spegel:force \ + github.com/containerd/zfs:github.com/containerd/zfs:force \ + github.com/ipfs/go-log/v2:github.com/ipfs/go-log/v2:force \ + github.com/onsi/ginkgo/v2:github.com/onsi/ginkgo/v2:force \ + github.com/robfig/cron/v3:github.com/robfig/cron/v3:force \ + github.com/leodido/go-urn:github.com/leodido/go-urn:force \ + github.com/mikioh/tcpinfo:github.com/mikioh/tcpinfo:force \ + github.com/mr-tron/base58:github.com/mr-tron/base58:force \ + github.com/polydawn/refmt:github.com/polydawn/refmt:force \ + github.com/containerd/log:github.com/containerd/log:force \ + github.com/containerd/nri:github.com/containerd/nri:force \ + github.com/coreos/go-oidc:github.com/coreos/go-oidc:force \ + github.com/godbus/dbus/v5:github.com/godbus/dbus/v5:force \ + github.com/minio/md5-simd:github.com/minio/md5-simd:force \ + github.com/mohae/deepcopy:github.com/mohae/deepcopy:force \ + github.com/nats-io/jsm.go:github.com/nats-io/jsm.go:force \ + github.com/nats-io/jwt/v2:github.com/nats-io/jwt/v2:force \ + github.com/rubiojr/go-vhd:github.com/rubiojr/go-vhd:force \ + github.com/vmware/govmomi:github.com/vmware/govmomi:force \ + github.com/xlab/treeprint:github.com/xlab/treeprint:force \ + github.com/xrash/smetrics:github.com/xrash/smetrics:force \ + github.com/blang/semver/v4:github.com/blang/semver/v4:force \ + github.com/containerd/aufs:github.com/containerd/aufs:force \ + github.com/google/cadvisor:github.com/google/cadvisor:force \ + github.com/opencontainers/runc:github.com/k3s-io/runc:force \ + github.com/rancher/wharfie:github.com/rancher/wharfie:force \ + github.com/sirupsen/logrus:github.com/sirupsen/logrus:force \ + github.com/bytedance/sonic:github.com/bytedance/sonic:force \ + github.com/elastic/gosigar:github.com/elastic/gosigar:force \ + github.com/gin-contrib/sse:github.com/gin-contrib/sse:force \ + github.com/google/gopacket:github.com/google/gopacket:force \ + github.com/libp2p/go-msgio:github.com/libp2p/go-msgio:force \ + github.com/mattn/go-isatty:github.com/mattn/go-isatty:force \ + github.com/quic-go/quic-go:github.com/quic-go/quic-go:force \ + github.com/containerd/fifo:github.com/containerd/fifo:force \ + github.com/davecgh/go-spew:github.com/davecgh/go-spew:force \ + github.com/docker/go-units:github.com/docker/go-units:force \ + github.com/fatih/camelcase:github.com/fatih/camelcase:force \ + github.com/go-openapi/swag:github.com/go-openapi/swag:force \ + github.com/golang/protobuf:github.com/golang/protobuf:force \ + github.com/intel/goresctrl:github.com/intel/goresctrl:force \ + github.com/jackc/pgerrcode:github.com/jackc/pgerrcode:force \ + github.com/mailru/easyjson:github.com/mailru/easyjson:force \ + github.com/mdlayher/socket:github.com/mdlayher/socket:force \ + github.com/moby/spdystream:github.com/moby/spdystream:force \ + github.com/mxk/go-flowrate:github.com/mxk/go-flowrate:force \ + github.com/nats-io/nats.go:github.com/nats-io/nats.go:force \ + github.com/xiang90/probing:github.com/xiang90/probing:force \ + golang.zx2c4.com/wireguard:golang.zx2c4.com/wireguard:force \ + google.golang.org/genproto:google.golang.org/genproto:force \ + google.golang.org/protobuf:google.golang.org/protobuf:force \ + gopkg.in/square/go-jose.v2:gopkg.in/square/go-jose.v2:force \ + github.com/json-iterator/go:github.com/json-iterator/go:force \ + github.com/libp2p/go-libp2p:github.com/libp2p/go-libp2p:force \ + github.com/mattn/go-sqlite3:github.com/mattn/go-sqlite3:force \ + github.com/rancher/wrangler:github.com/rancher/wrangler:force \ + github.com/stretchr/testify:github.com/stretchr/testify:force \ + github.com/jbenet/goprocess:github.com/jbenet/goprocess:force \ + github.com/syndtr/goleveldb:github.com/syndtr/goleveldb:force \ + github.com/containerd/ttrpc:github.com/containerd/ttrpc:force \ + github.com/coreos/go-semver:github.com/coreos/go-semver:force \ + github.com/docker/go-events:github.com/docker/go-events:force \ + github.com/go-errors/errors:github.com/go-errors/errors:force \ + github.com/jackc/pgpassfile:github.com/jackc/pgpassfile:force \ + github.com/josharian/intern:github.com/josharian/intern:force \ + github.com/josharian/native:github.com/josharian/native:force \ + github.com/lithammer/dedent:github.com/lithammer/dedent:force \ + github.com/mdlayher/netlink:github.com/mdlayher/netlink:force \ + github.com/mistifyio/go-zfs:github.com/mistifyio/go-zfs:force \ + github.com/vbatts/tar-split:github.com/vbatts/tar-split:force \ + google.golang.org/appengine:google.golang.org/appengine:force \ + sigs.k8s.io/kustomize/api:sigs.k8s.io/kustomize/api/api:force \ + go.etcd.io/etcd/api/v3:github.com/k3s-io/etcd/api/v3/api:force \ + go.etcd.io/etcd/pkg/v3:github.com/k3s-io/etcd/pkg/v3/pkg:force \ + github.com/Microsoft/hcsshim:github.com/Microsoft/hcsshim:force \ + github.com/coreos/go-systemd:github.com/coreos/go-systemd:force \ + github.com/gorilla/websocket:github.com/gorilla/websocket:force \ + github.com/minio/minio-go/v7:github.com/minio/minio-go/v7:force \ + github.com/yl2chen/cidranger:github.com/yl2chen/cidranger:force \ + github.com/benbjohnson/clock:github.com/benbjohnson/clock:force \ + github.com/francoispqt/gojay:github.com/francoispqt/gojay:force \ + github.com/ipfs/go-datastore:github.com/ipfs/go-datastore:force \ + github.com/raulk/go-watchdog:github.com/raulk/go-watchdog:force \ + github.com/spaolacci/murmur3:github.com/spaolacci/murmur3:force \ + github.com/xenitab/pkg/gin:github.com/xenitab/pkg/gin/gin:force \ + github.com/Azure/go-ansiterm:github.com/Azure/go-ansiterm:force \ + github.com/Azure/go-autorest:github.com/Azure/go-autorest:force \ + github.com/avast/retry-go/v4:github.com/avast/retry-go/v4:force \ + github.com/cespare/xxhash/v2:github.com/cespare/xxhash/v2:force \ + github.com/containerd/go-cni:github.com/containerd/go-cni:force \ + github.com/docker/go-metrics:github.com/docker/go-metrics:force \ + github.com/felixge/httpsnoop:github.com/felixge/httpsnoop:force \ + github.com/fsnotify/fsnotify:github.com/fsnotify/fsnotify:force \ + github.com/golang-jwt/jwt/v4:github.com/golang-jwt/jwt/v4:force \ + github.com/golang/groupcache:github.com/golang/groupcache:force \ + github.com/hanwen/go-fuse/v2:github.com/hanwen/go-fuse/v2:force \ + github.com/hashicorp/errwrap:github.com/hashicorp/errwrap:force \ + github.com/karrick/godirwalk:github.com/karrick/godirwalk:force \ + github.com/liggitt/tabwriter:github.com/liggitt/tabwriter:force \ + github.com/minio/highwayhash:github.com/minio/highwayhash:force \ + github.com/minio/sha256-simd:github.com/minio/sha256-simd:force \ + github.com/mrunalp/fileutils:github.com/mrunalp/fileutils:force \ + github.com/munnerz/goautoneg:github.com/munnerz/goautoneg:force \ + github.com/pelletier/go-toml:github.com/pelletier/go-toml:force \ + github.com/prometheus/common:github.com/prometheus/common:force \ + github.com/prometheus/procfs:github.com/prometheus/procfs:force \ + github.com/vishvananda/netns:github.com/vishvananda/netns:force \ + github.com/coreos/go-iptables:github.com/coreos/go-iptables:force \ + github.com/flannel-io/flannel:github.com/flannel-io/flannel:force \ + github.com/ipfs/go-ds-leveldb:github.com/ipfs/go-ds-leveldb:force \ + github.com/klauspost/compress:github.com/klauspost/compress:force \ + github.com/chenzhuoyu/base64x:github.com/chenzhuoyu/base64x:force \ + github.com/ipld/go-ipld-prime:github.com/ipld/go-ipld-prime:force \ + github.com/jackpal/go-nat-pmp:github.com/jackpal/go-nat-pmp:force \ + github.com/libp2p/go-netroute:github.com/libp2p/go-netroute:force \ + github.com/libp2p/go-yamux/v4:github.com/libp2p/go-yamux/v4:force \ + github.com/marten-seemann/tcp:github.com/marten-seemann/tcp:force \ + github.com/ugorji/go/codec:github.com/ugorji/go/codec/codec:force \ + github.com/JeffAshton/win_pdh:github.com/JeffAshton/win_pdh:force \ + github.com/Microsoft/go-winio:github.com/Microsoft/go-winio:force \ + github.com/containerd/cgroups:github.com/containerd/cgroups:force \ + github.com/containerd/console:github.com/containerd/console:force \ + github.com/containerd/go-runc:github.com/containerd/go-runc:force \ + github.com/containerd/typeurl:github.com/containerd/typeurl:force \ + github.com/dustin/go-humanize:github.com/dustin/go-humanize:force \ + github.com/evanphx/json-patch:github.com/evanphx/json-patch:force \ + github.com/fvbommel/sortorder:github.com/fvbommel/sortorder:force \ + github.com/go-task/slim-sprig:github.com/go-task/slim-sprig:force \ + github.com/klauspost/cpuid/v2:github.com/klauspost/cpuid/v2:force \ + github.com/kylelemons/godebug:github.com/kylelemons/godebug:force \ + github.com/mdlayher/genetlink:github.com/mdlayher/genetlink:force \ + github.com/modern-go/reflect2:github.com/modern-go/reflect2:force \ + github.com/peterbourgon/diskv:github.com/peterbourgon/diskv:force \ + github.com/pmezard/go-difflib:github.com/pmezard/go-difflib:force \ + github.com/shengdoushi/base58:github.com/shengdoushi/base58:force \ + github.com/stoewer/go-strcase:github.com/stoewer/go-strcase:force \ + go.etcd.io/etcd/raft/v3:github.com/k3s-io/etcd/raft/v3/raft:force \ + github.com/moby/sys/signal:github.com/moby/sys/signal/signal:force \ + github.com/Mirantis/cri-dockerd:github.com/k3s-io/cri-dockerd:force \ + github.com/containerd/containerd:github.com/k3s-io/containerd:force \ + github.com/erikdubbelboer/gspt:github.com/erikdubbelboer/gspt:force \ + github.com/go-sql-driver/mysql:github.com/go-sql-driver/mysql:force \ + github.com/vishvananda/netlink:github.com/vishvananda/netlink:force \ + github.com/libp2p/go-cidranger:github.com/libp2p/go-cidranger:force \ + github.com/libp2p/go-reuseport:github.com/libp2p/go-reuseport:force \ + github.com/quic-go/qtls-go1-20:github.com/quic-go/qtls-go1-20:force \ + github.com/MakeNowJust/heredoc:github.com/MakeNowJust/heredoc:force \ + github.com/NYTimes/gziphandler:github.com/NYTimes/gziphandler:force \ + github.com/canonical/go-dqlite:github.com/canonical/go-dqlite:force \ + github.com/cenkalti/backoff/v4:github.com/cenkalti/backoff/v4:force \ + github.com/chai2010/gettext-go:github.com/chai2010/gettext-go:force \ + github.com/containerd/btrfs/v2:github.com/containerd/btrfs/v2:force \ + github.com/containerd/imgcrypt:github.com/containerd/imgcrypt:force \ + github.com/containers/ocicrypt:github.com/containers/ocicrypt:force \ + github.com/docker/distribution:github.com/docker/distribution:force \ + github.com/emicklei/go-restful:github.com/emicklei/go-restful:force \ + github.com/gregjones/httpcache:github.com/gregjones/httpcache:force \ + github.com/jackc/pgservicefile:github.com/jackc/pgservicefile:force \ + github.com/jonboulle/clockwork:github.com/jonboulle/clockwork:force \ + github.com/mistifyio/go-zfs/v3:github.com/mistifyio/go-zfs/v3:force \ + github.com/syndtr/gocapability:github.com/syndtr/gocapability:force \ + go.opentelemetry.io/otel/sdk:go.opentelemetry.io/otel/sdk/sdk:force \ + sigs.k8s.io/kustomize/kyaml:sigs.k8s.io/kustomize/kyaml/kyaml:force \ + github.com/natefinch/lumberjack:github.com/natefinch/lumberjack:force \ + github.com/rancher/remotedialer:github.com/rancher/remotedialer:force \ + github.com/davidlazar/go-crypto:github.com/davidlazar/go-crypto:force \ + github.com/hashicorp/golang-lru:github.com/hashicorp/golang-lru:force \ + github.com/pelletier/go-toml/v2:github.com/pelletier/go-toml/v2:force \ + github.com/slok/go-http-metrics:github.com/slok/go-http-metrics:force \ + cloud.google.com/go/compute:cloud.google.com/go/compute/compute:force \ + github.com/euank/go-kmsg-parser:github.com/euank/go-kmsg-parser:force \ + github.com/exponent-io/jsonpath:github.com/exponent-io/jsonpath:force \ + github.com/googleapis/gax-go/v2:github.com/googleapis/gax-go/v2:force \ + github.com/hashicorp/go-version:github.com/hashicorp/go-version:force \ + github.com/mitchellh/go-homedir:github.com/mitchellh/go-homedir:force \ + github.com/moby/sys/symlink:github.com/moby/sys/symlink/symlink:force \ + github.com/modern-go/concurrent:github.com/modern-go/concurrent:force \ + github.com/pquerna/cachecontrol:github.com/pquerna/cachecontrol:force \ + github.com/tchap/go-patricia/v2:github.com/tchap/go-patricia/v2:force \ + github.com/kubernetes-sigs/cri-tools:github.com/k3s-io/cri-tools:force \ + github.com/containerd/cgroups/v3:github.com/containerd/cgroups/v3:force \ + github.com/go-bindata/go-bindata:github.com/go-bindata/go-bindata:force \ + go.etcd.io/etcd/server/v3:github.com/k3s-io/etcd/server/v3/server:force \ + github.com/go-playground/locales:github.com/go-playground/locales:force \ + github.com/libp2p/go-buffer-pool:github.com/libp2p/go-buffer-pool:force \ + github.com/containerd/continuity:github.com/containerd/continuity:force \ + github.com/containerd/typeurl/v2:github.com/containerd/typeurl/v2:force \ + github.com/coreos/go-systemd/v22:github.com/coreos/go-systemd/v22:force \ + github.com/cpuguy83/go-md2man/v2:github.com/cpuguy83/go-md2man/v2:force \ + github.com/docker/go-connections:github.com/docker/go-connections:force \ + github.com/google/gnostic-models:github.com/google/gnostic-models:force \ + github.com/mitchellh/go-wordwrap:github.com/mitchellh/go-wordwrap:force \ + gopkg.in/natefinch/lumberjack.v2:gopkg.in/natefinch/lumberjack.v2:force \ + go.opentelemetry.io/proto/otlp:go.opentelemetry.io/proto/otlp/otlp:force \ + github.com/k3s-io/helm-controller:github.com/k3s-io/helm-controller:force \ + github.com/mwitkow/go-http-dialer:github.com/mwitkow/go-http-dialer:force \ + github.com/opencontainers/selinux:github.com/opencontainers/selinux:force \ + github.com/libp2p/go-flow-metrics:github.com/libp2p/go-flow-metrics:force \ + github.com/multiformats/go-base32:github.com/multiformats/go-base32:force \ + github.com/multiformats/go-base36:github.com/multiformats/go-base36:force \ + github.com/multiformats/go-varint:github.com/multiformats/go-varint:force \ + github.com/Azure/azure-sdk-for-go:github.com/Azure/azure-sdk-for-go:force \ + github.com/asaskevich/govalidator:github.com/asaskevich/govalidator:force \ + github.com/emicklei/go-restful/v3:github.com/emicklei/go-restful/v3:force \ + github.com/go-openapi/jsonpointer:github.com/go-openapi/jsonpointer:force \ + github.com/hashicorp/go-cleanhttp:github.com/hashicorp/go-cleanhttp:force \ + github.com/nats-io/nats-server/v2:github.com/nats-io/nats-server/v2:force \ + go.opentelemetry.io/otel/trace:go.opentelemetry.io/otel/trace/trace:force \ + golang.zx2c4.com/wireguard/wgctrl:golang.zx2c4.com/wireguard/wgctrl:force \ + go.etcd.io/etcd/client/v3:github.com/k3s-io/etcd/client/v3/client/v3:force \ + go.etcd.io/etcd/etcdutl/v3:github.com/k3s-io/etcd/etcdutl/v3/etcdutl:force \ + go.etcd.io/etcd/client/v2:github.com/k3s-io/etcd/client/v2/client/v2:force \ + github.com/rancher/dynamiclistener:github.com/rancher/dynamiclistener:force \ + github.com/gabriel-vasile/mimetype:github.com/gabriel-vasile/mimetype:force \ + github.com/hashicorp/golang-lru/v2:github.com/hashicorp/golang-lru/v2:force \ + github.com/libp2p/go-libp2p-record:github.com/libp2p/go-libp2p-record:force \ + github.com/quic-go/webtransport-go:github.com/quic-go/webtransport-go:force \ + github.com/containernetworking/cni:github.com/containernetworking/cni:force \ + github.com/hashicorp/go-multierror:github.com/hashicorp/go-multierror:force \ + github.com/moby/sys/mountinfo:github.com/moby/sys/mountinfo/mountinfo:force \ + github.com/prometheus/client_model:github.com/prometheus/client_model:force \ + github.com/russross/blackfriday/v2:github.com/russross/blackfriday/v2:force \ + sigs.k8s.io/kustomize/kustomize/v5:sigs.k8s.io/kustomize/kustomize/v5/kustomize:force \ + go.opentelemetry.io/otel/metric:go.opentelemetry.io/otel/metric/metric:force \ + github.com/libp2p/go-libp2p-kad-dht:github.com/libp2p/go-libp2p-kad-dht:force \ + github.com/libp2p/go-libp2p-kbucket:github.com/libp2p/go-libp2p-kbucket:force \ + github.com/daviddengcn/go-colortext:github.com/daviddengcn/go-colortext:force \ + github.com/go-openapi/jsonreference:github.com/go-openapi/jsonreference:force \ + github.com/opencontainers/go-digest:github.com/opencontainers/go-digest:force \ + github.com/prometheus/client_golang:github.com/prometheus/client_golang:force \ + github.com/tmc/grpc-websocket-proxy:github.com/tmc/grpc-websocket-proxy:force \ + github.com/xenitab/pkg/channels:github.com/xenitab/pkg/channels/channels:force \ + github.com/moby/sys/sequential:github.com/moby/sys/sequential/sequential:force \ + github.com/libp2p/go-libp2p-asn-util:github.com/libp2p/go-libp2p-asn-util:force \ + github.com/multiformats/go-multiaddr:github.com/multiformats/go-multiaddr:force \ + github.com/multiformats/go-multibase:github.com/multiformats/go-multibase:force \ + github.com/multiformats/go-multihash:github.com/multiformats/go-multihash:force \ + github.com/whyrusleeping/go-keyspace:github.com/whyrusleeping/go-keyspace:force \ + github.com/AdaLogics/go-fuzz-headers:github.com/AdaLogics/go-fuzz-headers:force \ + github.com/inconshreveable/mousetrap:github.com/inconshreveable/mousetrap:force \ + github.com/opencontainers/image-spec:github.com/opencontainers/image-spec:force \ + github.com/seccomp/libseccomp-golang:github.com/seccomp/libseccomp-golang:force \ + github.com/stefanberger/go-pkcs11uri:github.com/stefanberger/go-pkcs11uri:force \ + sigs.k8s.io/structured-merge-diff/v4:sigs.k8s.io/structured-merge-diff/v4:force \ + github.com/cloudnativelabs/kube-router/v2:github.com/k3s-io/kube-router/v2:force \ + github.com/jbenet/go-temp-err-catcher:github.com/jbenet/go-temp-err-catcher:force \ + github.com/multiformats/go-multicodec:github.com/multiformats/go-multicodec:force \ + github.com/opentracing/opentracing-go:github.com/opentracing/opentracing-go:force \ + github.com/twitchyliquid64/golang-asm:github.com/twitchyliquid64/golang-asm:force \ + github.com/cyphar/filepath-securejoin:github.com/cyphar/filepath-securejoin:force \ + github.com/hashicorp/go-retryablehttp:github.com/hashicorp/go-retryablehttp:force \ + github.com/libopenstorage/openstorage:github.com/libopenstorage/openstorage:force \ + go.etcd.io/etcd/client/pkg/v3:github.com/k3s-io/etcd/client/pkg/v3/client/pkg:force \ + github.com/go-playground/validator/v10:github.com/go-playground/validator/v10:force \ + github.com/multiformats/go-multistream:github.com/multiformats/go-multistream:force \ + github.com/AdamKorcz/go-118-fuzz-build:github.com/AdamKorcz/go-118-fuzz-build:force \ + github.com/bronze1man/goStrongswanVici:github.com/bronze1man/goStrongswanVici:force \ + github.com/containernetworking/plugins:github.com/containernetworking/plugins:force \ + github.com/google/go-containerregistry:github.com/google/go-containerregistry:force \ + github.com/grpc-ecosystem/grpc-gateway:github.com/grpc-ecosystem/grpc-gateway:force \ + github.com/monochromegane/go-gitignore:github.com/monochromegane/go-gitignore:force \ + github.com/opencontainers/runtime-spec:github.com/opencontainers/runtime-spec:force \ + github.com/Azure/go-autorest/logger:github.com/Azure/go-autorest/logger/logger:force \ + github.com/opencontainers/runtime-tools:github.com/opencontainers/runtime-tools:force \ + github.com/containerd/stargz-snapshotter:github.com/containerd/stargz-snapshotter:force \ + github.com/hashicorp/golang-lru/arc/v2:github.com/hashicorp/golang-lru/arc/v2/arc:force \ + github.com/multiformats/go-multiaddr-dns:github.com/multiformats/go-multiaddr-dns:force \ + github.com/multiformats/go-multiaddr-fmt:github.com/multiformats/go-multiaddr-fmt:force \ + github.com/Azure/go-autorest/tracing:github.com/Azure/go-autorest/tracing/tracing:force \ + github.com/checkpoint-restore/go-criu/v5:github.com/checkpoint-restore/go-criu/v5:force \ + github.com/grpc-ecosystem/grpc-gateway/v2:github.com/grpc-ecosystem/grpc-gateway/v2:force \ + github.com/Azure/go-autorest/autorest:github.com/Azure/go-autorest/autorest/autorest:force \ + github.com/rootless-containers/rootlesskit:github.com/rootless-containers/rootlesskit:force \ + k8s.io/api:github.com/k3s-io/kubernetes/staging/src/k8s.io/api/staging/src/k8s.io/api:force \ + k8s.io/kms:github.com/k3s-io/kubernetes/staging/src/k8s.io/kms/staging/src/k8s.io/kms:force \ + github.com/libp2p/go-libp2p-routing-helpers:github.com/libp2p/go-libp2p-routing-helpers:force \ + github.com/container-storage-interface/spec:github.com/container-storage-interface/spec:force \ + github.com/docker/docker-credential-helpers:github.com/docker/docker-credential-helpers:force \ + github.com/grpc-ecosystem/go-grpc-middleware:github.com/grpc-ecosystem/go-grpc-middleware:force \ + github.com/grpc-ecosystem/go-grpc-prometheus:github.com/grpc-ecosystem/go-grpc-prometheus:force \ + cloud.google.com/go/compute/metadata:cloud.google.com/go/compute/metadata/compute/metadata:force \ + github.com/go-playground/universal-translator:github.com/go-playground/universal-translator:force \ + github.com/Azure/go-autorest/autorest/to:github.com/Azure/go-autorest/autorest/to/autorest/to:force \ + github.com/containerd/fuse-overlayfs-snapshotter:github.com/containerd/fuse-overlayfs-snapshotter:force \ + k8s.io/cri-api:github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api/staging/src/k8s.io/cri-api:force \ + k8s.io/kubectl:github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl/staging/src/k8s.io/kubectl:force \ + k8s.io/kubelet:github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet/staging/src/k8s.io/kubelet:force \ + k8s.io/metrics:github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics/staging/src/k8s.io/metrics:force \ + google.golang.org/genproto/googleapis/api:google.golang.org/genproto/googleapis/api/googleapis/api:force \ + google.golang.org/genproto/googleapis/rpc:google.golang.org/genproto/googleapis/rpc/googleapis/rpc:force \ + github.com/decred/dcrd/dcrec/secp256k1/v4:github.com/decred/dcrd/dcrec/secp256k1/v4/dcrec/secp256k1:force \ + github.com/Azure/go-autorest/autorest/adal:github.com/Azure/go-autorest/autorest/adal/autorest/adal:force \ + github.com/Azure/go-autorest/autorest/date:github.com/Azure/go-autorest/autorest/date/autorest/date:force \ + github.com/GoogleCloudPlatform/k8s-cloud-provider:github.com/GoogleCloudPlatform/k8s-cloud-provider:force \ + github.com/googleapis/enterprise-certificate-proxy:github.com/googleapis/enterprise-certificate-proxy:force \ + github.com/Azure/go-autorest/autorest/mocks:github.com/Azure/go-autorest/autorest/mocks/autorest/mocks:force \ + k8s.io/apiserver:github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver/staging/src/k8s.io/apiserver:force \ + k8s.io/client-go:github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go/staging/src/k8s.io/client-go:force \ + github.com/matttproud/golang_protobuf_extensions/v2:github.com/matttproud/golang_protobuf_extensions/v2:force \ + github.com/containerd/stargz-snapshotter/estargz:github.com/containerd/stargz-snapshotter/estargz/estargz:force \ + k8s.io/kube-proxy:github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy/staging/src/k8s.io/kube-proxy:force \ + github.com/antlr/antlr4/runtime/Go/antlr/v4:github.com/antlr/antlr4/runtime/Go/antlr/v4/runtime/Go/antlr/v4:force \ + k8s.io/cli-runtime:github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime/staging/src/k8s.io/cli-runtime:force \ + k8s.io/mount-utils:github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils/staging/src/k8s.io/mount-utils:force \ + k8s.io/apimachinery:github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery/staging/src/k8s.io/apimachinery:force \ + k8s.io/endpointslice:github.com/k3s-io/kubernetes/staging/src/k8s.io/endpointslice/staging/src/k8s.io/endpointslice:force \ + github.com/Azure/go-autorest/autorest/validation:github.com/Azure/go-autorest/autorest/validation/autorest/validation:force \ + k8s.io/cloud-provider:github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider/staging/src/k8s.io/cloud-provider:force \ + k8s.io/component-base:github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base/staging/src/k8s.io/component-base:force \ + k8s.io/code-generator:github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator/staging/src/k8s.io/code-generator:force \ + k8s.io/kube-scheduler:github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler/staging/src/k8s.io/kube-scheduler:force \ + k8s.io/kube-aggregator:github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator/staging/src/k8s.io/kube-aggregator:force \ + go.opentelemetry.io/otel/exporters/otlp/otlptrace:go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporters/otlp/otlptrace:force \ + k8s.io/cluster-bootstrap:github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap/staging/src/k8s.io/cluster-bootstrap:force \ + k8s.io/component-helpers:github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers/staging/src/k8s.io/component-helpers:force \ + k8s.io/controller-manager:github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager/staging/src/k8s.io/controller-manager:force \ + sigs.k8s.io/apiserver-network-proxy/konnectivity-client:sigs.k8s.io/apiserver-network-proxy/konnectivity-client/konnectivity-client:force \ + k8s.io/csi-translation-lib:github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib/staging/src/k8s.io/csi-translation-lib:force \ + github.com/container-orchestrated-devices/container-device-interface:github.com/container-orchestrated-devices/container-device-interface:force \ + go.opentelemetry.io/otel/exporters/otlp/internal/retry:go.opentelemetry.io/otel/exporters/otlp/internal/retry/exporters/otlp/internal/retry:force \ + k8s.io/legacy-cloud-providers:github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers/staging/src/k8s.io/legacy-cloud-providers:force \ + k8s.io/pod-security-admission:github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission/staging/src/k8s.io/pod-security-admission:force \ + k8s.io/apiextensions-apiserver:github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver/staging/src/k8s.io/apiextensions-apiserver:force \ + k8s.io/kube-controller-manager:github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager/staging/src/k8s.io/kube-controller-manager:force \ + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp:go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/instrumentation/net/http/otelhttp:force \ + k8s.io/dynamic-resource-allocation:github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation/staging/src/k8s.io/dynamic-resource-allocation:force \ + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc:go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/exporters/otlp/otlptrace/otlptracegrpc:force \ + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc:go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/instrumentation/google.golang.org/grpc/otelgrpc:force \ + go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful:go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful/instrumentation/github.com/emicklei/go-restful/otelrestful:force" + +do_compile:prepend() { + cd ${S}/src/import + for s in $sites; do + site_dest=$(echo $s | cut -d: -f1) + site_source=$(echo $s | cut -d: -f2) + force_flag=$(echo $s | cut -d: -f3) + mkdir -p vendor.copy/$site_dest + if [ -n "$force_flag" ]; then + echo "[INFO] $site_dest: force copying .go files" + rm -rf vendor.copy/$site_dest + rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest + else + [ -n "$(ls -A vendor.copy/$site_dest/*.go 2> /dev/null)" ] && { echo "[INFO] vendor.fetch/$site_source -> $site_dest: go copy skipped (files present)" ; true ; } || { echo "[INFO] $site_dest: copying .go files" ; rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest ; } + fi + done +} diff --git a/recipes-containers/k3s/src_uri.inc b/recipes-containers/k3s/src_uri.inc new file mode 100644 index 00000000..b90441e1 --- /dev/null +++ b/recipes-containers/k3s/src_uri.inc @@ -0,0 +1,2150 @@ +# k8s.io/utils v0.0.0-20230726121419-3b25d923346b +# [1] git ls-remote https://github.com/kubernetes/utils 3b25d923346b3814e0898684c97390092f31a61e +SRCREV_utils="3b25d923346b3814e0898684c97390092f31a61e" +SRC_URI += "git://github.com/kubernetes/utils;name=utils;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/utils" + +# k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 +# [1] git ls-remote https://github.com/kubernetes/gengo 9cce18d56c01fab1d8ed72411ad6ef7005fc33a4 +SRCREV_gengo="9cce18d56c01fab1d8ed72411ad6ef7005fc33a4" +SRC_URI += "git://github.com/kubernetes/gengo;name=gengo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/gengo" + +# go.uber.org/fx v1.20.0 +# [1] git ls-remote https://github.com/uber-go/fx 1320bc693745e5e7c08c29843de3d7915cac826c +SRCREV_fx="1320bc693745e5e7c08c29843de3d7915cac826c" +SRC_URI += "git://github.com/uber-go/fx;name=fx;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/fx" + +# go.uber.org/zap v1.26.0 +# [1] git ls-remote https://github.com/uber-go/zap 96038b71a7d96b8c14fedb3aeddcb3d0d7605b2d +SRCREV_zap="96038b71a7d96b8c14fedb3aeddcb3d0d7605b2d" +SRC_URI += "git://github.com/uber-go/zap;name=zap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/zap" + +# go.uber.org/dig v1.17.0 +# [1] git ls-remote https://github.com/uber-go/dig a8b6f0db4f27681ad7233eed1bda9d5c69881f5b +SRCREV_dig="a8b6f0db4f27681ad7233eed1bda9d5c69881f5b" +SRC_URI += "git://github.com/uber-go/dig;name=dig;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/dig" + +# go.starlark.net v0.0.0-20230525235612-a134d8f9ddca +# [1] git ls-remote https://github.com/google/starlark-go a134d8f9ddca7469c736775b67544671f0a135ad +SRCREV_go.starlark.net="a134d8f9ddca7469c736775b67544671f0a135ad" +SRC_URI += "git://github.com/google/starlark-go;name=go.starlark.net;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.starlark.net" + +# gopkg.in/inf.v0 v0.9.1 +# [1] git ls-remote https://github.com/go-inf/inf d2d2541c53f18d2a059457998ce2876cc8e67cbf +SRCREV_inf.v0="d2d2541c53f18d2a059457998ce2876cc8e67cbf" +SRC_URI += "git://github.com/go-inf/inf;name=inf.v0;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/inf.v0" + +# gopkg.in/ini.v1 v1.67.0 +# [1] git ls-remote https://github.com/go-ini/ini b2f570e5b5b844226bbefe6fb521d891f529a951 +SRCREV_ini.v1="b2f570e5b5b844226bbefe6fb521d891f529a951" +SRC_URI += "git://github.com/go-ini/ini;name=ini.v1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/ini.v1" + +# golang.org/x/net v0.17.0 +# [1] git ls-remote https://go.googlesource.com/net b225e7ca6dde1ef5a5ae5ce922861bda011cfabd +SRCREV_net="b225e7ca6dde1ef5a5ae5ce922861bda011cfabd" +SRC_URI += "git://go.googlesource.com/net;name=net;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/net" + +# golang.org/x/sys v0.13.0 +# [1] git ls-remote https://go.googlesource.com/sys 2964e1e4b1dbd55a8ac69a4c9e3004a8038515b6 +SRCREV_sys="2964e1e4b1dbd55a8ac69a4c9e3004a8038515b6" +SRC_URI += "git://go.googlesource.com/sys;name=sys;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/sys" + +# gopkg.in/yaml.v2 v2.4.0 +# [1] git ls-remote https://github.com/go-yaml/yaml 7649d4548cb53a614db133b2a8ac1f31859dda8c +SRCREV_yaml.v2="7649d4548cb53a614db133b2a8ac1f31859dda8c" +SRC_URI += "git://github.com/go-yaml/yaml;name=yaml.v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/yaml.v2" + +# inet.af/tcpproxy v0.0.0-20200125044825-b6bb9b5b8252 +# [1] git ls-remote https://github.com/inetaf/tcpproxy b6bb9b5b82524122bcf27291ede32d1517a14ab8 +SRCREV_tcpproxy="b6bb9b5b82524122bcf27291ede32d1517a14ab8" +SRC_URI += "git://github.com/inetaf/tcpproxy;name=tcpproxy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/inet.af/tcpproxy" + +# sigs.k8s.io/yaml v1.4.0 +# [1] git ls-remote https://github.com/kubernetes-sigs/yaml c3772b51db126345efe2dfe4ff8dac83b8141684 +SRCREV_yaml="c3772b51db126345efe2dfe4ff8dac83b8141684" +SRC_URI += "git://github.com/kubernetes-sigs/yaml;name=yaml;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/yaml" + +# go.etcd.io/bbolt v1.3.8 +# [1] git ls-remote https://github.com/etcd-io/bbolt 42a914d8be1995a845e12dedbbbc77b7a450f9c7 +SRCREV_bbolt="42a914d8be1995a845e12dedbbbc77b7a450f9c7" +SRC_URI += "git://github.com/etcd-io/bbolt;name=bbolt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.etcd.io/bbolt" + +# go.opencensus.io v0.24.0 +# [1] git ls-remote https://github.com/census-instrumentation/opencensus-go b1a01ee95db0e690d91d7193d037447816fae4c5 +SRCREV_go.opencensus.io="b1a01ee95db0e690d91d7193d037447816fae4c5" +SRC_URI += "git://github.com/census-instrumentation/opencensus-go;name=go.opencensus.io;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opencensus.io" + +# golang.org/x/exp v0.0.0-20231006140011-7918f672742d +# [1] git ls-remote https://go.googlesource.com/exp 7918f672742dd40ff5cf8d3c316a9315410c2d3c +SRCREV_exp="7918f672742dd40ff5cf8d3c316a9315410c2d3c" +SRC_URI += "git://go.googlesource.com/exp;name=exp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/exp" + +# golang.org/x/mod v0.14.0 +# [1] git ls-remote https://go.googlesource.com/mod 6e58e47c7bd6672665dc35cce7b1f325d2addd67 +SRCREV_mod="6e58e47c7bd6672665dc35cce7b1f325d2addd67" +SRC_URI += "git://go.googlesource.com/mod;name=mod;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/mod" + +# gopkg.in/gcfg.v1 v1.2.3 +# [1] git ls-remote https://github.com/go-gcfg/gcfg 61b2c08bc8f6068f7c5ca684372f9a6cb1c45ebe +SRCREV_gcfg.v1="61b2c08bc8f6068f7c5ca684372f9a6cb1c45ebe" +SRC_URI += "git://github.com/go-gcfg/gcfg;name=gcfg.v1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/gcfg.v1" + +# gopkg.in/yaml.v3 v3.0.1 +# [1] git ls-remote https://github.com/go-yaml/yaml f6f7691b1fdeb513f56608cd2c32c51f8194bf51 +SRCREV_yaml.v3="f6f7691b1fdeb513f56608cd2c32c51f8194bf51" +SRC_URI += "git://github.com/go-yaml/yaml;name=yaml.v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/yaml.v3" + +# sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd +# [1] git ls-remote https://github.com/kubernetes-sigs/json bc3834ca7abd3a90f03ef00a27ad80cb892f9c21 +SRCREV_json="bc3834ca7abd3a90f03ef00a27ad80cb892f9c21" +SRC_URI += "git://github.com/kubernetes-sigs/json;name=json;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/json" + +# github.com/lib/pq v1.10.2 +# [1] git ls-remote https://github.com/lib/pq 2da6713d67f03911a05b1b6559adc85927fe076e +SRCREV_pq="2da6713d67f03911a05b1b6559adc85927fe076e" +SRC_URI += "git://github.com/lib/pq;name=pq;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lib/pq" + +# golang.org/x/sync v0.6.0 +# [1] git ls-remote https://go.googlesource.com/sync 59c1ca1e4661ed4452be4069ceea3c233f4deec1 +SRCREV_sync="59c1ca1e4661ed4452be4069ceea3c233f4deec1" +SRC_URI += "git://go.googlesource.com/sync;name=sync;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/sync" + +# golang.org/x/arch v0.3.0 +# [1] git ls-remote https://go.googlesource.com/arch 40c19ba4a7c5ffc92baaef5977ffc2b82dfb0e47 +SRCREV_arch="40c19ba4a7c5ffc92baaef5977ffc2b82dfb0e47" +SRC_URI += "git://go.googlesource.com/arch;name=arch;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/arch" + +# github.com/rs/xid v1.5.0 +# [1] git ls-remote https://github.com/rs/xid 47a0ac1e0b750ee1f43718be223bb07601c66a1f +SRCREV_xid="47a0ac1e0b750ee1f43718be223bb07601c66a1f" +SRC_URI += "git://github.com/rs/xid;name=xid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rs/xid" + +# golang.org/x/term v0.15.0 +# [1] git ls-remote https://go.googlesource.com/term ee66497fa39f03ba841b568a7b4f4ee4e4546f74 +SRCREV_x-term="ee66497fa39f03ba841b568a7b4f4ee4e4546f74" +SRC_URI += "git://go.googlesource.com/term;name=x-term;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/term" + +# golang.org/x/text v0.14.0 +# [1] git ls-remote https://go.googlesource.com/text 6c97a165dd661335ff7bce6104a008558123c353 +SRCREV_text="6c97a165dd661335ff7bce6104a008558123c353" +SRC_URI += "git://go.googlesource.com/text;name=text;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/text" + +# golang.org/x/time v0.5.0 +# [1] git ls-remote https://go.googlesource.com/time 883aed519795b30de35e6bc28ec8f681494afa87 +SRCREV_time="883aed519795b30de35e6bc28ec8f681494afa87" +SRC_URI += "git://go.googlesource.com/time;name=time;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/time" + +# gonum.org/v1/gonum v0.13.0 +# [1] git ls-remote https://github.com/gonum/gonum 91a06ac64c4b32c929427846d4d1d3b8202ad7b1 +SRCREV_gonum="91a06ac64c4b32c929427846d4d1d3b8202ad7b1" +SRC_URI += "git://github.com/gonum/gonum;name=gonum;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gonum.org/v1/gonum" + +# golang.org/x/tools v0.16.1 +# [1] git ls-remote https://go.googlesource.com/tools 2acb2e697b49f179be93652febb89d384f0f09c9 +SRCREV_tools="2acb2e697b49f179be93652febb89d384f0f09c9" +SRC_URI += "git://go.googlesource.com/tools;name=tools;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/tools" + +# golang.org/x/crypto v0.14.0 +# [1] git ls-remote https://go.googlesource.com/crypto e3cc52e598e302f8c613a645bb7231264d8ec995 +SRCREV_crypto="e3cc52e598e302f8c613a645bb7231264d8ec995" +SRC_URI += "git://go.googlesource.com/crypto;name=crypto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/crypto" + +# golang.org/x/oauth2 v0.15.0 +# [1] git ls-remote https://go.googlesource.com/oauth2 6e9ec9323da7adcd2cc6e62e4deb9fae4c309a1a +SRCREV_oauth2="6e9ec9323da7adcd2cc6e62e4deb9fae4c309a1a" +SRC_URI += "git://go.googlesource.com/oauth2;name=oauth2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/oauth2" + +# k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 +# [1] git ls-remote https://github.com/kubernetes/kube-openapi 2695361300d9d6b66602baa8cf366b7212cc9836 +SRCREV_kube-openapi="2695361300d9d6b66602baa8cf366b7212cc9836" +SRC_URI += "git://github.com/kubernetes/kube-openapi;name=kube-openapi;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/k8s.io/kube-openapi" + +# github.com/ipfs/boxo v0.10.0 +# [1] git ls-remote https://github.com/ipfs/boxo 6f82d77995476b0d85722539230a50a321706ead +SRCREV_boxo="6f82d77995476b0d85722539230a50a321706ead" +SRC_URI += "git://github.com/ipfs/boxo;name=boxo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ipfs/boxo" + +# github.com/miekg/dns v1.1.55 +# [1] git ls-remote https://github.com/miekg/dns 48f38ebef989eedc6b57f1869ae849ccc8f5fe29 +SRCREV_dns="48f38ebef989eedc6b57f1869ae849ccc8f5fe29" +SRC_URI += "git://github.com/miekg/dns;name=dns;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/miekg/dns" + +# github.com/moby/ipvs v1.1.0 +# [1] git ls-remote https://github.com/moby/ipvs fe22ac585b3e22a969cbde61addd99ecd93ab22c +SRCREV_ipvs="fe22ac585b3e22a969cbde61addd99ecd93ab22c" +SRC_URI += "git://github.com/moby/ipvs;name=ipvs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/ipvs" + +# github.com/moby/term v0.0.0-20221205130635-1aeaba878587 +# [1] git ls-remote https://github.com/moby/term 1aeaba8785877a66f57739be9fccb6f5cfab429e +SRCREV_term="1aeaba8785877a66f57739be9fccb6f5cfab429e" +SRC_URI += "git://github.com/moby/term;name=term;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/term" + +# go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 +# [1] git ls-remote https://github.com/mozilla-services/pkcs7 432b2356ecb18209c1cec25680b8a23632794f21 +SRCREV_pkcs7="432b2356ecb18209c1cec25680b8a23632794f21" +SRC_URI += "git://github.com/mozilla-services/pkcs7;name=pkcs7;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.mozilla.org/pkcs7" + +# go.uber.org/multierr v1.11.0 +# [1] git ls-remote https://github.com/uber-go/multierr de75ae527b39a27afcb50a84427ec7b84021d5f4 +SRCREV_multierr="de75ae527b39a27afcb50a84427ec7b84021d5f4" +SRC_URI += "git://github.com/uber-go/multierr;name=multierr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/multierr" + +# gopkg.in/warnings.v0 v0.1.2 +# [1] git ls-remote https://github.com/go-warnings/warnings ec4a0fea49c7b46c2aeb0b51aac55779c607e52b +SRCREV_warnings.v0="ec4a0fea49c7b46c2aeb0b51aac55779c607e52b" +SRC_URI += "git://github.com/go-warnings/warnings;name=warnings.v0;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/warnings.v0" + +# github.com/pkg/errors v0.9.1 +# [1] git ls-remote https://github.com/pkg/errors 614d223910a179a466c1767a985424175c39b465 +SRCREV_errors="614d223910a179a466c1767a985424175c39b465" +SRC_URI += "git://github.com/pkg/errors;name=errors;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pkg/errors" + +# github.com/urfave/cli v1.22.14 +# [1] git ls-remote https://github.com/urfave/cli f5ca62f301d773bdc9c800aa0e24aec82ad01a1d +SRCREV_cli="f5ca62f301d773bdc9c800aa0e24aec82ad01a1d" +SRC_URI += "git://github.com/urfave/cli;name=cli;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/urfave/cli" + +# github.com/docker/cli v24.0.5+incompatible +# [1] git ls-remote https://github.com/docker/cli ced099660009713e0e845eeb754e6050dbaa45d0 +SRCREV_docker-cli="ced099660009713e0e845eeb754e6050dbaa45d0" +SRC_URI += "git://github.com/docker/cli;name=docker-cli;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/cli" + +# github.com/gofrs/uuid v4.4.0+incompatible +# [1] git ls-remote https://github.com/gofrs/uuid 8345c9a6e83034ec02edb1887c08c6c7fbfdd9ee +SRCREV_gofrs-uuid="8345c9a6e83034ec02edb1887c08c6c7fbfdd9ee" +SRC_URI += "git://github.com/gofrs/uuid;name=gofrs-uuid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gofrs/uuid" + +# google.golang.org/api v0.152.0 +# [1] git ls-remote https://github.com/googleapis/google-api-go-client c18c15e47e02cc3fa5d9e68b88313952381d31ae +SRCREV_google.golang.org-api="c18c15e47e02cc3fa5d9e68b88313952381d31ae" +SRC_URI += "git://github.com/googleapis/google-api-go-client;name=google.golang.org-api;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/api" + +# github.com/golang/mock v1.6.0 +# [1] git ls-remote https://github.com/golang/mock aba2ff9a6844d5e3289e8472d3217d5b3090f083 +SRCREV_mock="aba2ff9a6844d5e3289e8472d3217d5b3090f083" +SRC_URI += "git://github.com/golang/mock;name=mock;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang/mock" + +# github.com/google/uuid v1.4.0 +# [1] git ls-remote https://github.com/google/uuid 8de8764e294f072b7a2f1a209e88fdcdb1ebc875 +SRCREV_uuid="8de8764e294f072b7a2f1a209e88fdcdb1ebc875" +SRC_URI += "git://github.com/google/uuid;name=uuid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/uuid" + +# github.com/gorilla/mux v1.8.1 +# [1] git ls-remote https://github.com/gorilla/mux b4617d0b9670ad14039b2739167fd35a60f557c5 +SRCREV_mux="b4617d0b9670ad14039b2739167fd35a60f557c5" +SRC_URI += "git://github.com/gorilla/mux;name=mux;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gorilla/mux" + +# github.com/k3s-io/kine v0.11.4 +# [1] git ls-remote https://github.com/k3s-io/kine 37736729c40f1e7ad18521d1eb5c2a13e314ebde +SRCREV_kine="37736729c40f1e7ad18521d1eb5c2a13e314ebde" +SRC_URI += "git://github.com/k3s-io/kine;name=kine;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kine" + +# github.com/onsi/gomega v1.27.10 +# [1] git ls-remote https://github.com/onsi/gomega 9cbf7b0019d4d489d668583b0d7a6ac889ee2bc8 +SRCREV_gomega="9cbf7b0019d4d489d668583b0d7a6ac889ee2bc8" +SRC_URI += "git://github.com/onsi/gomega;name=gomega;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/onsi/gomega" + +# github.com/k3s-io/runc v1.1.12-k3s1 +# [1] git ls-remote https://github.com/k3s-io/runc 7d07dac287da807a624adba7ea7ccc1b3f28c614 +SRCREV_runc="7d07dac287da807a624adba7ea7ccc1b3f28c614" +SRC_URI += "git://github.com/k3s-io/runc;name=runc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/runc" + +# github.com/spf13/pflag v1.0.5 +# [1] git ls-remote https://github.com/spf13/pflag 2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab +SRCREV_pflag="2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab" +SRC_URI += "git://github.com/spf13/pflag;name=pflag;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spf13/pflag" + +# google.golang.org/grpc v1.58.3 +# [1] git ls-remote https://github.com/grpc/grpc-go bf05b9558c16677e362d231120f8213eb276d406 +SRCREV_grpc="bf05b9558c16677e362d231120f8213eb276d406" +SRC_URI += "git://github.com/grpc/grpc-go;name=grpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/grpc" + +# github.com/flynn/noise v1.0.0 +# [1] git ls-remote https://github.com/flynn/noise 2499bf1bad239a8316c32932a993642350b3afdb +SRCREV_noise="2499bf1bad239a8316c32932a993642350b3afdb" +SRC_URI += "git://github.com/flynn/noise;name=noise;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/flynn/noise" + +# github.com/huin/goupnp v1.2.0 +# [1] git ls-remote https://github.com/huin/goupnp 8ca2329ddbfe051b906efe0883e7a66ac296bc0a +SRCREV_goupnp="8ca2329ddbfe051b906efe0883e7a66ac296bc0a" +SRC_URI += "git://github.com/huin/goupnp;name=goupnp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/huin/goupnp" + +# github.com/ipfs/go-cid v0.4.1 +# [1] git ls-remote https://github.com/ipfs/go-cid d46e7f28669cd2c463bc68fe86e7dbe4f8240ab7 +SRCREV_go-cid="d46e7f28669cd2c463bc68fe86e7dbe4f8240ab7" +SRC_URI += "git://github.com/ipfs/go-cid;name=go-cid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ipfs/go-cid" + +# github.com/ipfs/go-log v1.0.5 +# [1] git ls-remote https://github.com/ipfs/go-log c39ee80c0915c5cca41dc1311e848c2fd7fa4101 +SRCREV_go-log="c39ee80c0915c5cca41dc1311e848c2fd7fa4101" +SRC_URI += "git://github.com/ipfs/go-log;name=go-log;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ipfs/go-log" + +# github.com/spf13/afero v1.11.0 +# [1] git ls-remote https://github.com/spf13/afero 5c4385aa20510dba5ca4db12c02b0c9211d82892 +SRCREV_afero="5c4385aa20510dba5ca4db12c02b0c9211d82892" +SRC_URI += "git://github.com/spf13/afero;name=afero;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spf13/afero" + +# github.com/cilium/ebpf v0.9.1 +# [1] git ls-remote https://github.com/cilium/ebpf d560e4479b395c4523851a4571b04ba0b3846cd1 +SRCREV_ebpf="d560e4479b395c4523851a4571b04ba0b3846cd1" +SRC_URI += "git://github.com/cilium/ebpf;name=ebpf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cilium/ebpf" + +# github.com/ghodss/yaml v1.0.0 +# [1] git ls-remote https://github.com/ghodss/yaml 0ca9ea5df5451ffdf184b4428c902747c2c11cd7 +SRCREV_ghodss-yaml="0ca9ea5df5451ffdf184b4428c902747c2c11cd7" +SRC_URI += "git://github.com/ghodss/yaml;name=ghodss-yaml;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ghodss/yaml" + +# github.com/gofrs/flock v0.8.1 +# [1] git ls-remote https://github.com/gofrs/flock 6f010d1acea74a32f2f2066bfe324c08bbee30e3 +SRCREV_flock="6f010d1acea74a32f2f2066bfe324c08bbee30e3" +SRC_URI += "git://github.com/gofrs/flock;name=flock;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gofrs/flock" + +# github.com/moby/locker v1.0.1 +# [1] git ls-remote https://github.com/moby/locker 281af2d563954745bea9d1487c965f24d30742fe +SRCREV_locker="281af2d563954745bea9d1487c965f24d30742fe" +SRC_URI += "git://github.com/moby/locker;name=locker;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/locker" + +# github.com/pierrec/lz4 v2.6.0+incompatible +# [1] git ls-remote https://github.com/pierrec/lz4 0e583d326e0ec6b9c1ad223188dc709af385408e +SRCREV_lz4="0e583d326e0ec6b9c1ad223188dc709af385408e" +SRC_URI += "git://github.com/pierrec/lz4;name=lz4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pierrec/lz4" + +# github.com/spf13/cobra v1.8.0 +# [1] git ls-remote https://github.com/spf13/cobra a0a6ae020bb3899ff0276067863e50523f897370 +SRCREV_cobra="a0a6ae020bb3899ff0276067863e50523f897370" +SRC_URI += "git://github.com/spf13/cobra;name=cobra;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spf13/cobra" + +# github.com/go-logr/logr v1.4.1 +# [1] git ls-remote https://github.com/go-logr/logr dcdc3f2cd12e8a5c4e2a6712d6958c90e2e5bd98 +SRCREV_logr="dcdc3f2cd12e8a5c4e2a6712d6958c90e2e5bd98" +SRC_URI += "git://github.com/go-logr/logr;name=logr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-logr/logr" + +# github.com/go-logr/stdr v1.2.3-0.20220714215716-96bad1d688c5 +# [1] git ls-remote https://github.com/go-logr/stdr 96bad1d688c524409b0da98c82fb7d3d51e60639 +SRCREV_stdr="96bad1d688c524409b0da98c82fb7d3d51e60639" +SRC_URI += "git://github.com/go-logr/stdr;name=stdr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-logr/stdr" + +# github.com/go-test/deep v1.0.7 +# [1] git ls-remote https://github.com/go-test/deep c733f5ed5136b7437e29ac91bb97c653af3694b5 +SRCREV_deep="c733f5ed5136b7437e29ac91bb97c653af3694b5" +SRC_URI += "git://github.com/go-test/deep;name=deep;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-test/deep" + +# github.com/otiai10/copy v1.7.0 +# [1] git ls-remote https://github.com/otiai10/copy 323db161ae97db91e6e13dbcda403fdb29c3fff8 +SRCREV_copy="323db161ae97db91e6e13dbcda403fdb29c3fff8" +SRC_URI += "git://github.com/otiai10/copy;name=copy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/otiai10/copy" + +# lukechampine.com/blake3 v1.2.1 +# [1] git ls-remote https://github.com/lukechampine/blake3 6e4325968f64ca24b1bbc8fbf08ea320d17ebfa0 +SRCREV_blake3="6e4325968f64ca24b1bbc8fbf08ea320d17ebfa0" +SRC_URI += "git://github.com/lukechampine/blake3;name=blake3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/lukechampine.com/blake3" + +# github.com/Rican7/retry v0.1.0 +# [1] git ls-remote https://github.com/Rican7/retry 28d17f812805614e76f170aa3c8698155ea8e019 +SRCREV_retry="28d17f812805614e76f170aa3c8698155ea8e019" +SRC_URI += "git://github.com/Rican7/retry;name=retry;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Rican7/retry" + +# github.com/beorn7/perks v1.0.1 +# [1] git ls-remote https://github.com/beorn7/perks 37c8de3658fcb183f997c4e13e8337516ab753e6 +SRCREV_perks="37c8de3658fcb183f997c4e13e8337516ab753e6" +SRC_URI += "git://github.com/beorn7/perks;name=perks;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/beorn7/perks" + +# github.com/blang/semver v3.5.1+incompatible +# [1] git ls-remote https://github.com/blang/semver 2ee87856327ba09384cabd113bc6b5d174e9ec0f +SRCREV_semver="2ee87856327ba09384cabd113bc6b5d174e9ec0f" +SRC_URI += "git://github.com/blang/semver;name=semver;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/blang/semver" + +# github.com/google/btree v1.1.2 +# [1] git ls-remote https://github.com/google/btree 8e29150ba321eef204059de2ab494f179b6cff2c +SRCREV_btree="8e29150ba321eef204059de2ab494f179b6cff2c" +SRC_URI += "git://github.com/google/btree;name=btree;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/btree" + +# github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f +# [1] git ls-remote https://github.com/google/pprof 407c9e7a662f39c592c77f0db959db282b687a32 +SRCREV_pprof="407c9e7a662f39c592c77f0db959db282b687a32" +SRC_URI += "git://github.com/google/pprof;name=pprof;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/pprof" + +# github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 +# [1] git ls-remote https://github.com/google/shlex e7afc7fbc51079733e9468cdfd1efcd7d196cd1d +SRCREV_shlex="e7afc7fbc51079733e9468cdfd1efcd7d196cd1d" +SRC_URI += "git://github.com/google/shlex;name=shlex;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/shlex" + +# github.com/jackc/pgx/v5 v5.4.2 +# [1] git ls-remote https://github.com/jackc/pgx 038fc448c1cc91b9372a6a0d151789f41536f033 +SRCREV_pgx-v5="038fc448c1cc91b9372a6a0d151789f41536f033" +SRC_URI += "git://github.com/jackc/pgx;name=pgx-v5;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jackc/pgx/v5" + +# github.com/miekg/pkcs11 v1.1.1 +# [1] git ls-remote https://github.com/miekg/pkcs11 f3481918a208bd212aa995a41f92d786eb418a7d +SRCREV_pkcs11="f3481918a208bd212aa995a41f92d786eb418a7d" +SRC_URI += "git://github.com/miekg/pkcs11;name=pkcs11;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/miekg/pkcs11" + +# github.com/morikuni/aec v1.0.0 +# [1] git ls-remote https://github.com/morikuni/aec 39771216ff4c63d11f5e604076f9c45e8be1067b +SRCREV_aec="39771216ff4c63d11f5e604076f9c45e8be1067b" +SRC_URI += "git://github.com/morikuni/aec;name=aec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/morikuni/aec" + +# github.com/nats-io/nuid v1.0.1 +# [1] git ls-remote https://github.com/nats-io/nuid 4b96681fa6d28dd0ab5fe79bac63b3a493d9ee94 +SRCREV_nuid="4b96681fa6d28dd0ab5fe79bac63b3a493d9ee94" +SRC_URI += "git://github.com/nats-io/nuid;name=nuid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/nats-io/nuid" + +# github.com/docker/docker v24.0.0-rc.2.0.20230801142700-69c9adb7d386+incompatible +# [1] git ls-remote https://github.com/moby/moby 69c9adb7d3868cb0560b1ffcef798015c5a70510 +SRCREV_docker="69c9adb7d3868cb0560b1ffcef798015c5a70510" +SRC_URI += "git://github.com/moby/moby;name=docker;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/docker" + +# github.com/rancher/lasso v0.0.0-20230830164424-d684fdeb6f29 +# [1] git ls-remote https://github.com/rancher/lasso d684fdeb6f29e221289c6f59fdc390b6adbaaccf +SRCREV_lasso="d684fdeb6f29e221289c6f59fdc390b6adbaaccf" +SRC_URI += "git://github.com/rancher/lasso;name=lasso;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rancher/lasso" + +# github.com/k3s-io/spegel v0.0.17-0.20240109004735-9466a5529330 +# [1] git ls-remote https://github.com/k3s-io/spegel 9466a55293301075a2d1613a3744c6bf45342e8b +SRCREV_spegel="9466a55293301075a2d1613a3744c6bf45342e8b" +SRC_URI += "git://github.com/k3s-io/spegel;name=spegel;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/spegel" + +# github.com/gin-gonic/gin v1.9.1 +# [1] git ls-remote https://github.com/gin-gonic/gin 4ea0e648e38a63d6caff14100f5eab5c50912bcd +SRCREV_gin="4ea0e648e38a63d6caff14100f5eab5c50912bcd" +SRC_URI += "git://github.com/gin-gonic/gin;name=gin;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gin-gonic/gin" + +# github.com/goccy/go-json v0.10.2 +# [1] git ls-remote https://github.com/goccy/go-json 8e8cdeacf2f2faef082f32848138f0f9af7cfb66 +SRCREV_go-json="8e8cdeacf2f2faef082f32848138f0f9af7cfb66" +SRC_URI += "git://github.com/goccy/go-json;name=go-json;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/goccy/go-json" + +# github.com/golang/snappy v0.0.4 +# [1] git ls-remote https://github.com/golang/snappy 544b4180ac705b7605231d4a4550a1acb22a19fe +SRCREV_snappy="544b4180ac705b7605231d4a4550a1acb22a19fe" +SRC_URI += "git://github.com/golang/snappy;name=snappy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang/snappy" + +# github.com/koron/go-ssdp v0.0.4 +# [1] git ls-remote https://github.com/koron/go-ssdp 615e2904c24d115f20139e60b9ab5916b1dfd55d +SRCREV_go-ssdp="615e2904c24d115f20139e60b9ab5916b1dfd55d" +SRC_URI += "git://github.com/koron/go-ssdp;name=go-ssdp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/koron/go-ssdp" + +# github.com/libp2p/go-nat v0.2.0 +# [1] git ls-remote https://github.com/libp2p/go-nat 14ce74b6949ca4d3f4889568e20840bdf0b05009 +SRCREV_go-nat="14ce74b6949ca4d3f4889568e20840bdf0b05009" +SRC_URI += "git://github.com/libp2p/go-nat;name=go-nat;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-nat" + +# github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc +# [1] git ls-remote https://github.com/mikioh/tcpopt 172688c1accceb1c8699343c22838f55e4b662ca +SRCREV_tcpopt="172688c1accceb1c8699343c22838f55e4b662ca" +SRC_URI += "git://github.com/mikioh/tcpopt;name=tcpopt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mikioh/tcpopt" + +# github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 +# [1] git ls-remote https://github.com/pbnjay/memory 7b4eea64cf580186c0eceb10dc94ba3a098af46c +SRCREV_memory="7b4eea64cf580186c0eceb10dc94ba3a098af46c" +SRC_URI += "git://github.com/pbnjay/memory;name=memory;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pbnjay/memory" + +# github.com/quic-go/qpack v0.4.0 +# [1] git ls-remote https://github.com/quic-go/qpack 3e7287cc7ce655141583b8511fbe09800d4ba896 +SRCREV_qpack="3e7287cc7ce655141583b8511fbe09800d4ba896" +SRC_URI += "git://github.com/quic-go/qpack;name=qpack;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/quic-go/qpack" + +# github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e +# [1] git ls-remote https://github.com/armon/circbuf bbbad097214e2918d8543d5201d12bfd7bca254d +SRCREV_circbuf="bbbad097214e2918d8543d5201d12bfd7bca254d" +SRC_URI += "git://github.com/armon/circbuf;name=circbuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/armon/circbuf" + +# github.com/gogo/protobuf v1.3.2 +# [1] git ls-remote https://github.com/gogo/protobuf b03c65ea87cdc3521ede29f62fe3ce239267c1bc +SRCREV_protobuf="b03c65ea87cdc3521ede29f62fe3ce239267c1bc" +SRC_URI += "git://github.com/gogo/protobuf;name=protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gogo/protobuf" + +# github.com/google/cel-go v0.16.1 +# [1] git ls-remote https://github.com/google/cel-go 59a1b5d69d8d826a02e8e3d7911121ea60cba987 +SRCREV_cel-go="59a1b5d69d8d826a02e8e3d7911121ea60cba987" +SRC_URI += "git://github.com/google/cel-go;name=cel-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/cel-go" + +# github.com/google/go-cmp v0.6.0 +# [1] git ls-remote https://github.com/google/go-cmp c3ad8435e7bef96af35732bc0789e5a2278c6d5f +SRCREV_go-cmp="c3ad8435e7bef96af35732bc0789e5a2278c6d5f" +SRC_URI += "git://github.com/google/go-cmp;name=go-cmp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/go-cmp" + +# github.com/google/gofuzz v1.2.0 +# [1] git ls-remote https://github.com/google/gofuzz 379e164120fbc98885a8f494b5aa41ba94f64c56 +SRCREV_gofuzz="379e164120fbc98885a8f494b5aa41ba94f64c56" +SRC_URI += "git://github.com/google/gofuzz;name=gofuzz;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/gofuzz" + +# github.com/google/s2a-go v0.1.7 +# [1] git ls-remote https://github.com/google/s2a-go 141996cc2c0b07d53f1970aa1b2e8e5dde4a7a52 +SRCREV_s2a-go="141996cc2c0b07d53f1970aa1b2e8e5dde4a7a52" +SRC_URI += "git://github.com/google/s2a-go;name=s2a-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/s2a-go" + +# github.com/imdario/mergo v0.3.16 +# [1] git ls-remote https://github.com/darccio/mergo 14fe2b165b83359196f820886a2b24f2771729e9 +SRCREV_mergo="14fe2b165b83359196f820886a2b24f2771729e9" +SRC_URI += "git://github.com/darccio/mergo;name=mergo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/imdario/mergo" + +# github.com/nats-io/nkeys v0.4.6 +# [1] git ls-remote https://github.com/nats-io/nkeys 62e5d8c7c4af84283b6535bcbf1300ab25b45e2d +SRCREV_nkeys="62e5d8c7c4af84283b6535bcbf1300ab25b45e2d" +SRC_URI += "git://github.com/nats-io/nkeys;name=nkeys;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/nats-io/nkeys" + +# github.com/soheilhy/cmux v0.1.5 +# [1] git ls-remote https://github.com/soheilhy/cmux 5ec6847320e53b5fee0ab9a4757b56625a946c85 +SRCREV_cmux="5ec6847320e53b5fee0ab9a4757b56625a946c85" +SRC_URI += "git://github.com/soheilhy/cmux;name=cmux;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/soheilhy/cmux" + +# github.com/tidwall/btree v1.6.0 +# [1] git ls-remote https://github.com/tidwall/btree c538c0ce1d47ebada0c423fd430978ba274d7d68 +SRCREV_tidwall-btree="c538c0ce1d47ebada0c423fd430978ba274d7d68" +SRC_URI += "git://github.com/tidwall/btree;name=tidwall-btree;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tidwall/btree" + +# github.com/urfave/cli/v2 v2.23.5 +# [1] git ls-remote https://github.com/urfave/cli 600ef6e4dd5db1819a8eb0b453487bf1c0e59099 +SRCREV_cli-v2="600ef6e4dd5db1819a8eb0b453487bf1c0e59099" +SRC_URI += "git://github.com/urfave/cli;name=cli-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/urfave/cli/v2" + +# go.opentelemetry.io/otel v1.13.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go f2fd476f433128c2494476950ce11600a51bbe35 +SRCREV_otel="f2fd476f433128c2494476950ce11600a51bbe35" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otel;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel" + +# github.com/containerd/zfs v1.1.0 +# [1] git ls-remote https://github.com/containerd/zfs 26134297cde4138b412644d6819c20b105472991 +SRCREV_zfs="26134297cde4138b412644d6819c20b105472991" +SRC_URI += "git://github.com/containerd/zfs;name=zfs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/zfs" + +# github.com/ipfs/go-log/v2 v2.5.1 +# [1] git ls-remote https://github.com/ipfs/go-log 8625e3ec81bdeb96627de192e6fe21eab5896603 +SRCREV_go-log-v2="8625e3ec81bdeb96627de192e6fe21eab5896603" +SRC_URI += "git://github.com/ipfs/go-log;name=go-log-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ipfs/go-log/v2" + +# github.com/onsi/ginkgo/v2 v2.11.0 +# [1] git ls-remote https://github.com/onsi/ginkgo 5c32b2a6408b866b04774abad81eca2274f4fb5b +SRCREV_ginkgo-v2="5c32b2a6408b866b04774abad81eca2274f4fb5b" +SRC_URI += "git://github.com/onsi/ginkgo;name=ginkgo-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/onsi/ginkgo/v2" + +# github.com/robfig/cron/v3 v3.0.1 +# [1] git ls-remote https://github.com/robfig/cron ccba498c397bb90a9c84945bbb0f7af2d72b6309 +SRCREV_cron-v3="ccba498c397bb90a9c84945bbb0f7af2d72b6309" +SRC_URI += "git://github.com/robfig/cron;name=cron-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/robfig/cron/v3" + +# github.com/k3s-io/klog/v2 v2.100.1-k3s1 +# [1] git ls-remote https://github.com/k3s-io/klog 977d5aa511a87a6cfa1d251772bcd5344c8d1280 +SRCREV_klog-v2="977d5aa511a87a6cfa1d251772bcd5344c8d1280" +SRC_URI += "git://github.com/k3s-io/klog;name=klog-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/klog/v2" + +# github.com/leodido/go-urn v1.2.4 +# [1] git ls-remote https://github.com/leodido/go-urn 87e1d5ed73ec8689aa799a976831dcf6c81c8c98 +SRCREV_go-urn="87e1d5ed73ec8689aa799a976831dcf6c81c8c98" +SRC_URI += "git://github.com/leodido/go-urn;name=go-urn;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/leodido/go-urn" + +# github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b +# [1] git ls-remote https://github.com/mikioh/tcpinfo 30a79bb1804bc47fa7fe29928c9109f368792a9e +SRCREV_tcpinfo="30a79bb1804bc47fa7fe29928c9109f368792a9e" +SRC_URI += "git://github.com/mikioh/tcpinfo;name=tcpinfo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mikioh/tcpinfo" + +# github.com/mr-tron/base58 v1.2.0 +# [1] git ls-remote https://github.com/mr-tron/base58 cd0e5141f51dfcadb8311fd8e495eb11126a8010 +SRCREV_base58="cd0e5141f51dfcadb8311fd8e495eb11126a8010" +SRC_URI += "git://github.com/mr-tron/base58;name=base58;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mr-tron/base58" + +# github.com/polydawn/refmt v0.89.0 +# [1] git ls-remote https://github.com/polydawn/refmt ad1efcb83999082a4ec5ac34b9d5c08bc388faf3 +SRCREV_refmt="ad1efcb83999082a4ec5ac34b9d5c08bc388faf3" +SRC_URI += "git://github.com/polydawn/refmt;name=refmt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/polydawn/refmt" + +# github.com/containerd/log v0.1.0 +# [1] git ls-remote https://github.com/containerd/log 0fc1e28871fdf2786e2cc51bbe4133db6547a199 +SRCREV_log="0fc1e28871fdf2786e2cc51bbe4133db6547a199" +SRC_URI += "git://github.com/containerd/log;name=log;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/log" + +# github.com/containerd/nri v0.4.0 +# [1] git ls-remote https://github.com/containerd/nri e2d9a1b06b9d0916b0074340990df0fbe3388dd1 +SRCREV_nri="e2d9a1b06b9d0916b0074340990df0fbe3388dd1" +SRC_URI += "git://github.com/containerd/nri;name=nri;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/nri" + +# github.com/coreos/go-oidc v2.2.1+incompatible +# [1] git ls-remote https://github.com/coreos/go-oidc 8d771559cf6e5111c9b9159810d0e4538e7cdc82 +SRCREV_go-oidc="8d771559cf6e5111c9b9159810d0e4538e7cdc82" +SRC_URI += "git://github.com/coreos/go-oidc;name=go-oidc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-oidc" + +# github.com/godbus/dbus/v5 v5.1.0 +# [1] git ls-remote https://github.com/godbus/dbus e523abc905595cf17fb0001a7d77eaaddfaa216d +SRCREV_dbus-v5="e523abc905595cf17fb0001a7d77eaaddfaa216d" +SRC_URI += "git://github.com/godbus/dbus;name=dbus-v5;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/godbus/dbus/v5" + +# github.com/minio/md5-simd v1.1.2 +# [1] git ls-remote https://github.com/minio/md5-simd 776275e0c9a74ceebbd50fe5c1d61b0c80c608df +SRCREV_md5-simd="776275e0c9a74ceebbd50fe5c1d61b0c80c608df" +SRC_URI += "git://github.com/minio/md5-simd;name=md5-simd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/md5-simd" + +# github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 +# [1] git ls-remote https://github.com/mohae/deepcopy c48cc78d482608239f6c4c92a4abd87eb8761c90 +SRCREV_deepcopy="c48cc78d482608239f6c4c92a4abd87eb8761c90" +SRC_URI += "git://github.com/mohae/deepcopy;name=deepcopy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mohae/deepcopy" + +# github.com/nats-io/jsm.go v0.0.31-0.20220317133147-fe318f464eee +# [1] git ls-remote https://github.com/nats-io/jsm.go fe318f464eee9ceef6120ea851e5cf94a0497ac6 +SRCREV_jsm.go="fe318f464eee9ceef6120ea851e5cf94a0497ac6" +SRC_URI += "git://github.com/nats-io/jsm.go;name=jsm.go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/nats-io/jsm.go" + +# github.com/nats-io/jwt/v2 v2.5.3 +# [1] git ls-remote https://github.com/nats-io/jwt 457367366f2ff72a3fefeed38b56a1da281476fb +SRCREV_jwt-v2="457367366f2ff72a3fefeed38b56a1da281476fb" +SRC_URI += "git://github.com/nats-io/jwt;name=jwt-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/nats-io/jwt/v2" + +# github.com/rubiojr/go-vhd v0.0.0-20200706105327-02e210299021 +# [1] git ls-remote https://github.com/rubiojr/go-vhd 02e2102990218160c1cb608a3e9679312a3b8425 +SRCREV_go-vhd="02e2102990218160c1cb608a3e9679312a3b8425" +SRC_URI += "git://github.com/rubiojr/go-vhd;name=go-vhd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rubiojr/go-vhd" + +# github.com/vmware/govmomi v0.30.6 +# [1] git ls-remote https://github.com/vmware/govmomi 55614148d1fe0df8ac8e04174ffd2344e374adb8 +SRCREV_govmomi="55614148d1fe0df8ac8e04174ffd2344e374adb8" +SRC_URI += "git://github.com/vmware/govmomi;name=govmomi;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/vmware/govmomi" + +# github.com/xlab/treeprint v1.2.0 +# [1] git ls-remote https://github.com/xlab/treeprint 044005a3b405f660f109e066d9f589755835c2ea +SRCREV_treeprint="044005a3b405f660f109e066d9f589755835c2ea" +SRC_URI += "git://github.com/xlab/treeprint;name=treeprint;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xlab/treeprint" + +# github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 +# [1] git ls-remote https://github.com/xrash/smetrics 039620a656736e6ad994090895784a7af15e0b80 +SRCREV_smetrics="039620a656736e6ad994090895784a7af15e0b80" +SRC_URI += "git://github.com/xrash/smetrics;name=smetrics;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xrash/smetrics" + +# sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 +# [1] git ls-remote https://github.com/kubernetes-sigs/kustomize 6ce0bf390ce3dae580947a2b739da3306c675eef +SRCREV_kustomize-api="6ce0bf390ce3dae580947a2b739da3306c675eef" +SRC_URI += "git://github.com/kubernetes-sigs/kustomize;name=kustomize-api;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/kustomize/api" + +# github.com/blang/semver/v4 v4.0.0 +# [1] git ls-remote https://github.com/blang/semver af3461a9cbcf1f3f5889d21b83f5ef63880c33a8 +SRCREV_v4="af3461a9cbcf1f3f5889d21b83f5ef63880c33a8" +SRC_URI += "git://github.com/blang/semver;name=v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/blang/semver/v4" + +# github.com/containerd/aufs v1.0.0 +# [1] git ls-remote https://github.com/containerd/aufs fb0192dcb2c0bbfce3bd8756fc88026870c0354d +SRCREV_aufs="fb0192dcb2c0bbfce3bd8756fc88026870c0354d" +SRC_URI += "git://github.com/containerd/aufs;name=aufs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/aufs" + +# github.com/google/cadvisor v0.47.3 +# [1] git ls-remote https://github.com/google/cadvisor c5730c5a72b527a724e7333d0e2f5b9a3ce5cf4d +SRCREV_cadvisor="c5730c5a72b527a724e7333d0e2f5b9a3ce5cf4d" +SRC_URI += "git://github.com/google/cadvisor;name=cadvisor;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/cadvisor" + +# github.com/rancher/wharfie v0.6.4 +# [1] git ls-remote https://github.com/rancher/wharfie afa72eb3bb2e8fc03366c87f4a51b6894ea65b2e +SRCREV_wharfie="afa72eb3bb2e8fc03366c87f4a51b6894ea65b2e" +SRC_URI += "git://github.com/rancher/wharfie;name=wharfie;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rancher/wharfie" + +# github.com/sirupsen/logrus v1.9.3 +# [1] git ls-remote https://github.com/sirupsen/logrus d40e25cd45ed9c6b2b66e6b97573a0413e4c23bd +SRCREV_logrus="d40e25cd45ed9c6b2b66e6b97573a0413e4c23bd" +SRC_URI += "git://github.com/sirupsen/logrus;name=logrus;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/sirupsen/logrus" + +# github.com/bytedance/sonic v1.9.1 +# [1] git ls-remote https://github.com/bytedance/sonic d7db21691cb8c0380c14a41037c4ce67087260c5 +SRCREV_sonic="d7db21691cb8c0380c14a41037c4ce67087260c5" +SRC_URI += "git://github.com/bytedance/sonic;name=sonic;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/bytedance/sonic" + +# github.com/elastic/gosigar v0.14.2 +# [1] git ls-remote https://github.com/elastic/gosigar 9d6c92629470099edd40ead9a3d8cf1b38020ec6 +SRCREV_gosigar="9d6c92629470099edd40ead9a3d8cf1b38020ec6" +SRC_URI += "git://github.com/elastic/gosigar;name=gosigar;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/elastic/gosigar" + +# github.com/gin-contrib/sse v0.1.0 +# [1] git ls-remote https://github.com/gin-contrib/sse 54d8467d122d380a14768b6b4e5cd7ca4755938f +SRCREV_sse="54d8467d122d380a14768b6b4e5cd7ca4755938f" +SRC_URI += "git://github.com/gin-contrib/sse;name=sse;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gin-contrib/sse" + +# github.com/google/gopacket v1.1.19 +# [1] git ls-remote https://github.com/google/gopacket a9779d139771f6a06fc983b18e0efd23ca30222f +SRCREV_gopacket="a9779d139771f6a06fc983b18e0efd23ca30222f" +SRC_URI += "git://github.com/google/gopacket;name=gopacket;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/gopacket" + +# github.com/libp2p/go-msgio v0.3.0 +# [1] git ls-remote https://github.com/libp2p/go-msgio 12f8f7a72c7dbbb246151e4c98b5a6d59e27e0c6 +SRCREV_go-msgio="12f8f7a72c7dbbb246151e4c98b5a6d59e27e0c6" +SRC_URI += "git://github.com/libp2p/go-msgio;name=go-msgio;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-msgio" + +# github.com/mattn/go-isatty v0.0.19 +# [1] git ls-remote https://github.com/mattn/go-isatty c067b4f3df49dfc0f376d884e16cfd784ea1874b +SRCREV_go-isatty="c067b4f3df49dfc0f376d884e16cfd784ea1874b" +SRC_URI += "git://github.com/mattn/go-isatty;name=go-isatty;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-isatty" + +# github.com/quic-go/quic-go v0.38.2 +# [1] git ls-remote https://github.com/quic-go/quic-go 9aaefe19fc3dc8c8917cc87e6128bb56d9e9e6cc +SRCREV_quic-go="9aaefe19fc3dc8c8917cc87e6128bb56d9e9e6cc" +SRC_URI += "git://github.com/quic-go/quic-go;name=quic-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/quic-go/quic-go" + +# github.com/ugorji/go/codec v1.2.11 +# [1] git ls-remote https://github.com/ugorji/go 29258c4dfb14a196b559b89bbee11927b830537e +SRCREV_codec="29258c4dfb14a196b559b89bbee11927b830537e" +SRC_URI += "git://github.com/ugorji/go;name=codec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ugorji/go/codec" + +# github.com/xenitab/pkg/gin v0.0.9 +# [1] git ls-remote https://github.com/xenitab/pkg 9331fe68723313fdd444403a41999761a294c50f +SRCREV_pkg-gin="9331fe68723313fdd444403a41999761a294c50f" +SRC_URI += "git://github.com/xenitab/pkg;name=pkg-gin;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xenitab/pkg/gin" + +# github.com/containerd/fifo v1.1.0 +# [1] git ls-remote https://github.com/containerd/fifo 151b205263c29d471e0d55c787d2ce9f5343fd46 +SRCREV_fifo="151b205263c29d471e0d55c787d2ce9f5343fd46" +SRC_URI += "git://github.com/containerd/fifo;name=fifo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/fifo" + +# github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc +# [1] git ls-remote https://github.com/davecgh/go-spew d8f796af33cc11cb798c1aaeb27a4ebc5099927d +SRCREV_go-spew="d8f796af33cc11cb798c1aaeb27a4ebc5099927d" +SRC_URI += "git://github.com/davecgh/go-spew;name=go-spew;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/davecgh/go-spew" + +# github.com/docker/go-units v0.5.0 +# [1] git ls-remote https://github.com/docker/go-units e682442797b36348f8e1f98defdbf32bac0b6c6f +SRCREV_go-units="e682442797b36348f8e1f98defdbf32bac0b6c6f" +SRC_URI += "git://github.com/docker/go-units;name=go-units;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-units" + +# github.com/fatih/camelcase v1.0.0 +# [1] git ls-remote https://github.com/fatih/camelcase 44e46d280b43ec1531bb25252440e34f1b800b65 +SRCREV_camelcase="44e46d280b43ec1531bb25252440e34f1b800b65" +SRC_URI += "git://github.com/fatih/camelcase;name=camelcase;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fatih/camelcase" + +# github.com/go-openapi/swag v0.22.4 +# [1] git ls-remote https://github.com/go-openapi/swag f28dd7aae5534e2e3681204c90019f1dda8a7393 +SRCREV_swag="f28dd7aae5534e2e3681204c90019f1dda8a7393" +SRC_URI += "git://github.com/go-openapi/swag;name=swag;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-openapi/swag" + +# github.com/golang/protobuf v1.5.3 +# [1] git ls-remote https://github.com/golang/protobuf 5d5e8c018a13017f9d5b8bf4fad64aaa42a87308 +SRCREV_golang-protobuf="5d5e8c018a13017f9d5b8bf4fad64aaa42a87308" +SRC_URI += "git://github.com/golang/protobuf;name=golang-protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang/protobuf" + +# github.com/intel/goresctrl v0.3.0 +# [1] git ls-remote https://github.com/intel/goresctrl c40cbba82c8e94fe89926174efc817586bb3950a +SRCREV_goresctrl="c40cbba82c8e94fe89926174efc817586bb3950a" +SRC_URI += "git://github.com/intel/goresctrl;name=goresctrl;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/intel/goresctrl" + +# github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa +# [1] git ls-remote https://github.com/jackc/pgerrcode 469b46aa5efae8a229646096c4d7026bf9ff89fe +SRCREV_pgerrcode="469b46aa5efae8a229646096c4d7026bf9ff89fe" +SRC_URI += "git://github.com/jackc/pgerrcode;name=pgerrcode;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jackc/pgerrcode" + +# github.com/mailru/easyjson v0.7.7 +# [1] git ls-remote https://github.com/mailru/easyjson c120ca7ced6051261161ce15e8f1542a4b2567fc +SRCREV_easyjson="c120ca7ced6051261161ce15e8f1542a4b2567fc" +SRC_URI += "git://github.com/mailru/easyjson;name=easyjson;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mailru/easyjson" + +# github.com/mdlayher/socket v0.4.1 +# [1] git ls-remote https://github.com/mdlayher/socket 024cdfb30ba417ac6f1b27bb5189a8099787dcf7 +SRCREV_socket="024cdfb30ba417ac6f1b27bb5189a8099787dcf7" +SRC_URI += "git://github.com/mdlayher/socket;name=socket;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mdlayher/socket" + +# github.com/moby/spdystream v0.2.0 +# [1] git ls-remote https://github.com/moby/spdystream dbc715126c0e3fa07721879c6d265b2b82c71e5b +SRCREV_spdystream="dbc715126c0e3fa07721879c6d265b2b82c71e5b" +SRC_URI += "git://github.com/moby/spdystream;name=spdystream;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/spdystream" + +# github.com/moby/sys/signal v0.7.0 +# [1] git ls-remote https://github.com/moby/sys b8d8fabf1fa5cf0de7c1a1729145eee854ea31f5 +SRCREV_signal="b8d8fabf1fa5cf0de7c1a1729145eee854ea31f5" +SRC_URI += "git://github.com/moby/sys;name=signal;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/signal" + +# github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f +# [1] git ls-remote https://github.com/mxk/go-flowrate cca7078d478f8520f85629ad7c68962d31ed7682 +SRCREV_go-flowrate="cca7078d478f8520f85629ad7c68962d31ed7682" +SRC_URI += "git://github.com/mxk/go-flowrate;name=go-flowrate;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mxk/go-flowrate" + +# github.com/nats-io/nats.go v1.31.0 +# [1] git ls-remote https://github.com/nats-io/nats.go 8712190da1d17ab0c4719bffa7c0174214c56e6c +SRCREV_nats.go="8712190da1d17ab0c4719bffa7c0174214c56e6c" +SRC_URI += "git://github.com/nats-io/nats.go;name=nats.go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/nats-io/nats.go" + +# github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 +# [1] git ls-remote https://github.com/xiang90/probing a49e3df8f510ee8b42e68345ca4636dbb161bd0a +SRCREV_probing="a49e3df8f510ee8b42e68345ca4636dbb161bd0a" +SRC_URI += "git://github.com/xiang90/probing;name=probing;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xiang90/probing" + +# golang.zx2c4.com/wireguard v0.0.0-20230325221338-052af4a8072b +# [1] git ls-remote https://git.zx2c4.com/wireguard-go 052af4a8072bbbd3bfe7edf46fe3c1b350f71f08 +SRCREV_wireguard="052af4a8072bbbd3bfe7edf46fe3c1b350f71f08" +SRC_URI += "git://git.zx2c4.com/wireguard-go;name=wireguard;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.zx2c4.com/wireguard" + +# google.golang.org/genproto v0.0.0-20230525234035-dd9d682886f9 +# [1] git ls-remote https://github.com/googleapis/go-genproto dd9d682886f99d242574cd3eaea438ce7ea66399 +SRCREV_genproto="dd9d682886f99d242574cd3eaea438ce7ea66399" +SRC_URI += "git://github.com/googleapis/go-genproto;name=genproto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto" + +# google.golang.org/protobuf v1.31.0 +# [1] git ls-remote https://github.com/protocolbuffers/protobuf-go 68463f0e96c93bc19ef36ccd3adfe690bfdb568c +SRCREV_google.golang.org-protobuf="68463f0e96c93bc19ef36ccd3adfe690bfdb568c" +SRC_URI += "git://github.com/protocolbuffers/protobuf-go;name=google.golang.org-protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/protobuf" + +# gopkg.in/square/go-jose.v2 v2.6.0 +# [1] git ls-remote https://github.com/square/go-jose a10ff54e00bc6e833bf549e04ae976f0fe8ea2fd +SRCREV_go-jose.v2="a10ff54e00bc6e833bf549e04ae976f0fe8ea2fd" +SRC_URI += "git://github.com/square/go-jose;name=go-jose.v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/square/go-jose.v2" + +# github.com/json-iterator/go v1.1.12 +# [1] git ls-remote https://github.com/json-iterator/go 024077e996b048517130b21ea6bf12aa23055d3d +SRCREV_go="024077e996b048517130b21ea6bf12aa23055d3d" +SRC_URI += "git://github.com/json-iterator/go;name=go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/json-iterator/go" + +# github.com/k3s-io/cri-tools v1.26.0-rc.0-k3s1 +# [1] git ls-remote https://github.com/k3s-io/cri-tools 029d9bbf8bfb43c46a80b013cb6bf163739df0c8 +SRCREV_cri-tools="029d9bbf8bfb43c46a80b013cb6bf163739df0c8" +SRC_URI += "git://github.com/k3s-io/cri-tools;name=cri-tools;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/cri-tools" + +# github.com/libp2p/go-libp2p v0.30.0 +# [1] git ls-remote https://github.com/libp2p/go-libp2p 37319a699f336e3e062c7894f44d47db3fea4dc2 +SRCREV_go-libp2p="37319a699f336e3e062c7894f44d47db3fea4dc2" +SRC_URI += "git://github.com/libp2p/go-libp2p;name=go-libp2p;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-libp2p" + +# github.com/mattn/go-sqlite3 v1.14.19 +# [1] git ls-remote https://github.com/mattn/go-sqlite3 00b02e0ba98effd5f157d39216e244af8a807f9b +SRCREV_go-sqlite3="00b02e0ba98effd5f157d39216e244af8a807f9b" +SRC_URI += "git://github.com/mattn/go-sqlite3;name=go-sqlite3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-sqlite3" + +# github.com/rancher/wrangler v1.1.1-0.20230818201331-3604a6be798d +# [1] git ls-remote https://github.com/rancher/wrangler 3604a6be798d0e52e1d935d61d57b4ecbd5dfb2a +SRCREV_wrangler="3604a6be798d0e52e1d935d61d57b4ecbd5dfb2a" +SRC_URI += "git://github.com/rancher/wrangler;name=wrangler;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rancher/wrangler" + +# github.com/stretchr/testify v1.8.4 +# [1] git ls-remote https://github.com/stretchr/testify f97607b89807936ac4ff96748d766cf4b9711f78 +SRCREV_testify="f97607b89807936ac4ff96748d766cf4b9711f78" +SRC_URI += "git://github.com/stretchr/testify;name=testify;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/stretchr/testify" + +# github.com/jbenet/goprocess v0.1.4 +# [1] git ls-remote https://github.com/jbenet/goprocess 23d20c20149e1f362afda26f4500cb9d6393f0ad +SRCREV_goprocess="23d20c20149e1f362afda26f4500cb9d6393f0ad" +SRC_URI += "git://github.com/jbenet/goprocess;name=goprocess;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jbenet/goprocess" + +# github.com/syndtr/goleveldb v1.0.0 +# [1] git ls-remote https://github.com/syndtr/goleveldb 9d007e481048296f09f59bd19bb7ae584563cd95 +SRCREV_goleveldb="9d007e481048296f09f59bd19bb7ae584563cd95" +SRC_URI += "git://github.com/syndtr/goleveldb;name=goleveldb;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/syndtr/goleveldb" + +# cloud.google.com/go/compute v1.23.3 +# [1] git ls-remote https://github.com/googleapis/google-cloud-go 2ba47cb7adfef32617eb11888331ccc2d2a0f84d +SRCREV_compute="2ba47cb7adfef32617eb11888331ccc2d2a0f84d" +SRC_URI += "git://github.com/googleapis/google-cloud-go;name=compute;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/cloud.google.com/go/compute" + +# github.com/containerd/ttrpc v1.2.2 +# [1] git ls-remote https://github.com/containerd/ttrpc ac26f8cbea1c440d451dd19a4a1b847fd073f3c3 +SRCREV_ttrpc="ac26f8cbea1c440d451dd19a4a1b847fd073f3c3" +SRC_URI += "git://github.com/containerd/ttrpc;name=ttrpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/ttrpc" + +# github.com/coreos/go-semver v0.3.1 +# [1] git ls-remote https://github.com/coreos/go-semver c16f28124668daf02b2a32a431dec2f183977ffc +SRCREV_go-semver="c16f28124668daf02b2a32a431dec2f183977ffc" +SRC_URI += "git://github.com/coreos/go-semver;name=go-semver;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-semver" + +# github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c +# [1] git ls-remote https://github.com/docker/go-events e31b211e4f1cd09aa76fe4ac244571fab96ae47f +SRCREV_go-events="e31b211e4f1cd09aa76fe4ac244571fab96ae47f" +SRC_URI += "git://github.com/docker/go-events;name=go-events;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-events" + +# github.com/go-errors/errors v1.4.2 +# [1] git ls-remote https://github.com/go-errors/errors 33d496f939bc762321a636d4035e15c302eb0b00 +SRCREV_go-errors-errors="33d496f939bc762321a636d4035e15c302eb0b00" +SRC_URI += "git://github.com/go-errors/errors;name=go-errors-errors;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-errors/errors" + +# github.com/jackc/pgpassfile v1.0.0 +# [1] git ls-remote https://github.com/jackc/pgpassfile 99d8e8e28945ffceaf75b0299fcb2bb656b8a683 +SRCREV_pgpassfile="99d8e8e28945ffceaf75b0299fcb2bb656b8a683" +SRC_URI += "git://github.com/jackc/pgpassfile;name=pgpassfile;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jackc/pgpassfile" + +# github.com/josharian/intern v1.0.0 +# [1] git ls-remote https://github.com/josharian/intern 8e6ff32b3e7c0b018c43953085fe2ac330fe9acd +SRCREV_intern="8e6ff32b3e7c0b018c43953085fe2ac330fe9acd" +SRC_URI += "git://github.com/josharian/intern;name=intern;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/josharian/intern" + +# github.com/josharian/native v1.1.0 +# [1] git ls-remote https://github.com/josharian/native c1e37c09b531b14ae12a501eb6fd529b31cecdaa +SRCREV_native="c1e37c09b531b14ae12a501eb6fd529b31cecdaa" +SRC_URI += "git://github.com/josharian/native;name=native;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/josharian/native" + +# github.com/lithammer/dedent v1.1.0 +# [1] git ls-remote https://github.com/lithammer/dedent 8478954c3bc893cf36c5ee7c822266b993a3b3ee +SRCREV_dedent="8478954c3bc893cf36c5ee7c822266b993a3b3ee" +SRC_URI += "git://github.com/lithammer/dedent;name=dedent;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lithammer/dedent" + +# github.com/mdlayher/netlink v1.7.2 +# [1] git ls-remote https://github.com/mdlayher/netlink 657f7da1d9bd78d246ae610e0b5efc63a6a5f9e4 +SRCREV_mdlayher-netlink="657f7da1d9bd78d246ae610e0b5efc63a6a5f9e4" +SRC_URI += "git://github.com/mdlayher/netlink;name=mdlayher-netlink;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mdlayher/netlink" + +# github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible +# [1] git ls-remote https://github.com/mistifyio/go-zfs f784269be439d704d3dfa1906f45dd848fed2beb +SRCREV_go-zfs="f784269be439d704d3dfa1906f45dd848fed2beb" +SRC_URI += "git://github.com/mistifyio/go-zfs;name=go-zfs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mistifyio/go-zfs" + +# github.com/moby/sys/symlink v0.2.0 +# [1] git ls-remote https://github.com/moby/sys 03b9f8d59a07f5206a2264105f4903a222aea964 +SRCREV_symlink="03b9f8d59a07f5206a2264105f4903a222aea964" +SRC_URI += "git://github.com/moby/sys;name=symlink;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/symlink" + +# github.com/vbatts/tar-split v0.11.5 +# [1] git ls-remote https://github.com/vbatts/tar-split 5ef0dd8243164ebacd755916a89d8085a5b6bb7f +SRCREV_tar-split="5ef0dd8243164ebacd755916a89d8085a5b6bb7f" +SRC_URI += "git://github.com/vbatts/tar-split;name=tar-split;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/vbatts/tar-split" + +# google.golang.org/appengine v1.6.8 +# [1] git ls-remote https://github.com/golang/appengine aa58fcd18e4ab7ac816760ee266fa30a0907ab9e +SRCREV_appengine="aa58fcd18e4ab7ac816760ee266fa30a0907ab9e" +SRC_URI += "git://github.com/golang/appengine;name=appengine;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/appengine" + +# sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 +# [1] git ls-remote https://github.com/kubernetes-sigs/kustomize 6ce0bf390ce3dae580947a2b739da3306c675eef +SRCREV_kyaml="6ce0bf390ce3dae580947a2b739da3306c675eef" +SRC_URI += "git://github.com/kubernetes-sigs/kustomize;name=kyaml;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/kustomize/kyaml" + +# github.com/Microsoft/hcsshim v0.11.0 +# [1] git ls-remote https://github.com/microsoft/hcsshim 750e11bf07440fd1581413bdc1fc7731fa2d6d64 +SRCREV_hcsshim="750e11bf07440fd1581413bdc1fc7731fa2d6d64" +SRC_URI += "git://github.com/microsoft/hcsshim;name=hcsshim;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Microsoft/hcsshim" + +# github.com/k3s-io/containerd v1.7.11-k3s2 +# [1] git ls-remote https://github.com/k3s-io/containerd 64c566767b99d0bacf26fb6e2355775c413331c9 +SRCREV_containerd="64c566767b99d0bacf26fb6e2355775c413331c9" +SRC_URI += "git://github.com/k3s-io/containerd;name=containerd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/containerd" + +# github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e +# [1] git ls-remote https://github.com/coreos/go-systemd 95778dfbb74eb7e4dbaf43bf7d71809650ef8076 +SRCREV_go-systemd="95778dfbb74eb7e4dbaf43bf7d71809650ef8076" +SRC_URI += "git://github.com/coreos/go-systemd;name=go-systemd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-systemd" + +# github.com/gorilla/websocket v1.5.0 +# [1] git ls-remote https://github.com/gorilla/websocket 9111bb834a68b893cebbbaed5060bdbc1d9ab7d2 +SRCREV_websocket="9111bb834a68b893cebbbaed5060bdbc1d9ab7d2" +SRC_URI += "git://github.com/gorilla/websocket;name=websocket;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gorilla/websocket" + +# github.com/minio/minio-go/v7 v7.0.33 +# [1] git ls-remote https://github.com/minio/minio-go a80fee3343f12028079ae831a04b9583ba09c695 +SRCREV_v7="a80fee3343f12028079ae831a04b9583ba09c695" +SRC_URI += "git://github.com/minio/minio-go;name=v7;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/minio-go/v7" + +# github.com/yl2chen/cidranger v1.0.2 +# [1] git ls-remote https://github.com/yl2chen/cidranger 7ff5a0e84593dad6fbd50551343618d7956b3c71 +SRCREV_cidranger="7ff5a0e84593dad6fbd50551343618d7956b3c71" +SRC_URI += "git://github.com/yl2chen/cidranger;name=cidranger;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/yl2chen/cidranger" + +# github.com/k3s-io/kubernetes v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_kubernetes="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=kubernetes;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes" + +# github.com/benbjohnson/clock v1.3.5 +# [1] git ls-remote https://github.com/benbjohnson/clock 96c602caabb567343046c08a8fca8560b4f00bb4 +SRCREV_clock="96c602caabb567343046c08a8fca8560b4f00bb4" +SRC_URI += "git://github.com/benbjohnson/clock;name=clock;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/benbjohnson/clock" + +# github.com/francoispqt/gojay v1.2.13 +# [1] git ls-remote https://github.com/francoispqt/gojay 1398296d938f9fae26750ddc2fe356b6d897f799 +SRCREV_gojay="1398296d938f9fae26750ddc2fe356b6d897f799" +SRC_URI += "git://github.com/francoispqt/gojay;name=gojay;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/francoispqt/gojay" + +# github.com/ipfs/go-datastore v0.6.0 +# [1] git ls-remote https://github.com/ipfs/go-datastore 1de47089f5c72b61d91b5cd9043e49fe95771ac0 +SRCREV_go-datastore="1de47089f5c72b61d91b5cd9043e49fe95771ac0" +SRC_URI += "git://github.com/ipfs/go-datastore;name=go-datastore;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ipfs/go-datastore" + +# github.com/raulk/go-watchdog v1.3.0 +# [1] git ls-remote https://github.com/raulk/go-watchdog 9c5e371109037bec1852ea63c9512a94307bfea0 +SRCREV_go-watchdog="9c5e371109037bec1852ea63c9512a94307bfea0" +SRC_URI += "git://github.com/raulk/go-watchdog;name=go-watchdog;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/raulk/go-watchdog" + +# github.com/spaolacci/murmur3 v1.1.0 +# [1] git ls-remote https://github.com/spaolacci/murmur3 f09979ecbc725b9e6d41a297405f65e7e8804acc +SRCREV_murmur3="f09979ecbc725b9e6d41a297405f65e7e8804acc" +SRC_URI += "git://github.com/spaolacci/murmur3;name=murmur3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spaolacci/murmur3" + +# github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 +# [1] git ls-remote https://github.com/Azure/go-ansiterm d185dfc1b5a126116ea5a19e148e29d16b4574c9 +SRCREV_go-ansiterm="d185dfc1b5a126116ea5a19e148e29d16b4574c9" +SRC_URI += "git://github.com/Azure/go-ansiterm;name=go-ansiterm;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-ansiterm" + +# github.com/Azure/go-autorest v14.2.0+incompatible +# [1] git ls-remote https://github.com/Azure/go-autorest e7b391b759b050d6719cc6fd8bb87b6dc038bca6 +SRCREV_go-autorest="e7b391b759b050d6719cc6fd8bb87b6dc038bca6" +SRC_URI += "git://github.com/Azure/go-autorest;name=go-autorest;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest" + +# github.com/avast/retry-go/v4 v4.3.2 +# [1] git ls-remote https://github.com/avast/retry-go c65eeae03ec06cb591b05d092457de9f691bb359 +SRCREV_retry-go-v4="c65eeae03ec06cb591b05d092457de9f691bb359" +SRC_URI += "git://github.com/avast/retry-go;name=retry-go-v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/avast/retry-go/v4" + +# github.com/cespare/xxhash/v2 v2.2.0 +# [1] git ls-remote https://github.com/cespare/xxhash a76eb16a93c1e30527c073ca831d9048b4b935f6 +SRCREV_xxhash-v2="a76eb16a93c1e30527c073ca831d9048b4b935f6" +SRC_URI += "git://github.com/cespare/xxhash;name=xxhash-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cespare/xxhash/v2" + +# github.com/containerd/go-cni v1.1.9 +# [1] git ls-remote https://github.com/containerd/go-cni 6603d5bd8941d7f2026bb5627f6aa4ff434f859a +SRCREV_go-cni="6603d5bd8941d7f2026bb5627f6aa4ff434f859a" +SRC_URI += "git://github.com/containerd/go-cni;name=go-cni;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/go-cni" + +# github.com/docker/go-metrics v0.0.1 +# [1] git ls-remote https://github.com/docker/go-metrics b619b3592b65de4f087d9f16863a7e6ff905973c +SRCREV_go-metrics="b619b3592b65de4f087d9f16863a7e6ff905973c" +SRC_URI += "git://github.com/docker/go-metrics;name=go-metrics;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-metrics" + +# github.com/felixge/httpsnoop v1.0.4 +# [1] git ls-remote https://github.com/felixge/httpsnoop c5817c27ec125409c069052fdd171023c353501c +SRCREV_httpsnoop="c5817c27ec125409c069052fdd171023c353501c" +SRC_URI += "git://github.com/felixge/httpsnoop;name=httpsnoop;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/felixge/httpsnoop" + +# github.com/fsnotify/fsnotify v1.7.0 +# [1] git ls-remote https://github.com/fsnotify/fsnotify cfc9c4f277ea6ec18de92444b31983b183deb4fb +SRCREV_fsnotify="cfc9c4f277ea6ec18de92444b31983b183deb4fb" +SRC_URI += "git://github.com/fsnotify/fsnotify;name=fsnotify;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fsnotify/fsnotify" + +# github.com/golang-jwt/jwt/v4 v4.5.0 +# [1] git ls-remote https://github.com/golang-jwt/jwt 9358574a7a1a2c8d644f22b6e8de627ba85c58d0 +SRCREV_jwt-v4="9358574a7a1a2c8d644f22b6e8de627ba85c58d0" +SRC_URI += "git://github.com/golang-jwt/jwt;name=jwt-v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang-jwt/jwt/v4" + +# github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da +# [1] git ls-remote https://github.com/golang/groupcache 41bb18bfe9da5321badc438f91158cd790a33aa3 +SRCREV_groupcache="41bb18bfe9da5321badc438f91158cd790a33aa3" +SRC_URI += "git://github.com/golang/groupcache;name=groupcache;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang/groupcache" + +# github.com/hanwen/go-fuse/v2 v2.3.0 +# [1] git ls-remote https://github.com/hanwen/go-fuse d537a5a8d65c6552bc3844571f1d8ec76bcac5e4 +SRCREV_go-fuse-v2="d537a5a8d65c6552bc3844571f1d8ec76bcac5e4" +SRC_URI += "git://github.com/hanwen/go-fuse;name=go-fuse-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hanwen/go-fuse/v2" + +# github.com/hashicorp/errwrap v1.1.0 +# [1] git ls-remote https://github.com/hashicorp/errwrap 7b00e5db719c64d14dd0caaacbd13e76254d02c0 +SRCREV_errwrap="7b00e5db719c64d14dd0caaacbd13e76254d02c0" +SRC_URI += "git://github.com/hashicorp/errwrap;name=errwrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/errwrap" + +# github.com/karrick/godirwalk v1.17.0 +# [1] git ls-remote https://github.com/karrick/godirwalk 9a7752c108e7ea76255201b9f47bd4d4d2df868e +SRCREV_godirwalk="9a7752c108e7ea76255201b9f47bd4d4d2df868e" +SRC_URI += "git://github.com/karrick/godirwalk;name=godirwalk;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/karrick/godirwalk" + +# github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de +# [1] git ls-remote https://github.com/liggitt/tabwriter 89fcab3d43de07060e4fd4c1547430ed57e87f24 +SRCREV_tabwriter="89fcab3d43de07060e4fd4c1547430ed57e87f24" +SRC_URI += "git://github.com/liggitt/tabwriter;name=tabwriter;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/liggitt/tabwriter" + +# github.com/minio/highwayhash v1.0.2 +# [1] git ls-remote https://github.com/minio/highwayhash 08ce0b4fa7932a018438133f1b632e1c674d4107 +SRCREV_highwayhash="08ce0b4fa7932a018438133f1b632e1c674d4107" +SRC_URI += "git://github.com/minio/highwayhash;name=highwayhash;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/highwayhash" + +# github.com/minio/sha256-simd v1.0.1 +# [1] git ls-remote https://github.com/minio/sha256-simd 6096f891a77bfe490cbea7a424c821b5fdb92849 +SRCREV_sha256-simd="6096f891a77bfe490cbea7a424c821b5fdb92849" +SRC_URI += "git://github.com/minio/sha256-simd;name=sha256-simd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/sha256-simd" + +# github.com/mrunalp/fileutils v0.5.1 +# [1] git ls-remote https://github.com/mrunalp/fileutils 7363e975f9cfb558be601bece0df81714c3c9084 +SRCREV_fileutils="7363e975f9cfb558be601bece0df81714c3c9084" +SRC_URI += "git://github.com/mrunalp/fileutils;name=fileutils;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mrunalp/fileutils" + +# github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 +# [1] git ls-remote https://github.com/munnerz/goautoneg a7dc8b61c822528f973a5e4e7b272055c6fdb43e +SRCREV_goautoneg="a7dc8b61c822528f973a5e4e7b272055c6fdb43e" +SRC_URI += "git://github.com/munnerz/goautoneg;name=goautoneg;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/munnerz/goautoneg" + +# github.com/pelletier/go-toml v1.9.5 +# [1] git ls-remote https://github.com/pelletier/go-toml fed1464066413075eac02cd4dc368b5221845541 +SRCREV_go-toml="fed1464066413075eac02cd4dc368b5221845541" +SRC_URI += "git://github.com/pelletier/go-toml;name=go-toml;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pelletier/go-toml" + +# github.com/prometheus/common v0.45.0 +# [1] git ls-remote https://github.com/prometheus/common c59927ec74c04c0c17891bf27784fe7c484ae97f +SRCREV_common="c59927ec74c04c0c17891bf27784fe7c484ae97f" +SRC_URI += "git://github.com/prometheus/common;name=common;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/common" + +# github.com/prometheus/procfs v0.12.0 +# [1] git ls-remote https://github.com/prometheus/procfs ff0ad85f7e8bcd5c677d99143f14a2a3aab533aa +SRCREV_procfs="ff0ad85f7e8bcd5c677d99143f14a2a3aab533aa" +SRC_URI += "git://github.com/prometheus/procfs;name=procfs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/procfs" + +# github.com/vishvananda/netns v0.0.4 +# [1] git ls-remote https://github.com/vishvananda/netns 7a452d2d15292b2bfb2a2d88e6bdeac156a761b9 +SRCREV_netns="7a452d2d15292b2bfb2a2d88e6bdeac156a761b9" +SRC_URI += "git://github.com/vishvananda/netns;name=netns;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/vishvananda/netns" + +# go.opentelemetry.io/otel/sdk v1.13.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go f2fd476f433128c2494476950ce11600a51bbe35 +SRCREV_sdk="f2fd476f433128c2494476950ce11600a51bbe35" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=sdk;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/sdk" + +# github.com/k3s-io/cri-dockerd v0.3.9-k3s2 +# [1] git ls-remote https://github.com/k3s-io/cri-dockerd 0d2146805dcd844e15d02d6f1956b4cd0e4365cf +SRCREV_cri-dockerd="0d2146805dcd844e15d02d6f1956b4cd0e4365cf" +SRC_URI += "git://github.com/k3s-io/cri-dockerd;name=cri-dockerd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/cri-dockerd" + +# github.com/coreos/go-iptables v0.7.0 +# [1] git ls-remote https://github.com/coreos/go-iptables b9dff5a19d9c3925da3f9b3c0a705de6c1fdc56c +SRCREV_go-iptables="b9dff5a19d9c3925da3f9b3c0a705de6c1fdc56c" +SRC_URI += "git://github.com/coreos/go-iptables;name=go-iptables;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-iptables" + +# github.com/flannel-io/flannel v0.24.2 +# [1] git ls-remote https://github.com/flannel-io/flannel 3d56ed16e123a6fb06841ba920664b3ce4c99cda +SRCREV_flannel="3d56ed16e123a6fb06841ba920664b3ce4c99cda" +SRC_URI += "git://github.com/flannel-io/flannel;name=flannel;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/flannel-io/flannel" + +# github.com/ipfs/go-ds-leveldb v0.5.0 +# [1] git ls-remote https://github.com/ipfs/go-ds-leveldb 6f6dc580f7325ad411fc5967ccee67e40545e208 +SRCREV_go-ds-leveldb="6f6dc580f7325ad411fc5967ccee67e40545e208" +SRC_URI += "git://github.com/ipfs/go-ds-leveldb;name=go-ds-leveldb;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ipfs/go-ds-leveldb" + +# github.com/klauspost/compress v1.17.2 +# [1] git ls-remote https://github.com/klauspost/compress 8eb6542f08f086fb92796f6d8a4531d754947309 +SRCREV_compress="8eb6542f08f086fb92796f6d8a4531d754947309" +SRC_URI += "git://github.com/klauspost/compress;name=compress;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/klauspost/compress" + +# github.com/k3s-io/etcd/api/v3 v3.5.9-k3s1 +# [1] git ls-remote https://github.com/k3s-io/etcd 341ce193b458049401364c20193ebd14f38fce6d +SRCREV_api-v3="341ce193b458049401364c20193ebd14f38fce6d" +SRC_URI += "git://github.com/k3s-io/etcd;name=api-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/etcd/api/v3" + +# github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 +# [1] git ls-remote https://github.com/chenzhuoyu/base64x fe3a3abad31102e33411b1b239aa111b80ae336d +SRCREV_base64x="fe3a3abad31102e33411b1b239aa111b80ae336d" +SRC_URI += "git://github.com/chenzhuoyu/base64x;name=base64x;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/chenzhuoyu/base64x" + +# github.com/ipld/go-ipld-prime v0.20.0 +# [1] git ls-remote https://github.com/ipld/go-ipld-prime 200b4a6b6fb6720911cb385aff05da55c39d56de +SRCREV_go-ipld-prime="200b4a6b6fb6720911cb385aff05da55c39d56de" +SRC_URI += "git://github.com/ipld/go-ipld-prime;name=go-ipld-prime;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ipld/go-ipld-prime" + +# github.com/jackpal/go-nat-pmp v1.0.2 +# [1] git ls-remote https://github.com/jackpal/go-nat-pmp 059203efa1edd7130293a583541b8308e7c640c4 +SRCREV_go-nat-pmp="059203efa1edd7130293a583541b8308e7c640c4" +SRC_URI += "git://github.com/jackpal/go-nat-pmp;name=go-nat-pmp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jackpal/go-nat-pmp" + +# github.com/libp2p/go-netroute v0.2.1 +# [1] git ls-remote https://github.com/libp2p/go-netroute 462cbfaf52f4c2a2321e6382455a8f56396f3664 +SRCREV_go-netroute="462cbfaf52f4c2a2321e6382455a8f56396f3664" +SRC_URI += "git://github.com/libp2p/go-netroute;name=go-netroute;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-netroute" + +# github.com/libp2p/go-yamux/v4 v4.0.1 +# [1] git ls-remote https://github.com/libp2p/go-yamux e584a210c72651b67829477b4b4285cae25b1a1b +SRCREV_go-yamux-v4="e584a210c72651b67829477b4b4285cae25b1a1b" +SRC_URI += "git://github.com/libp2p/go-yamux;name=go-yamux-v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-yamux/v4" + +# github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd +# [1] git ls-remote https://github.com/marten-seemann/tcp dfbc87cc63fd003b9a070c76d605769fa3e2e3b2 +SRCREV_tcp="dfbc87cc63fd003b9a070c76d605769fa3e2e3b2" +SRC_URI += "git://github.com/marten-seemann/tcp;name=tcp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/marten-seemann/tcp" + +# github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab +# [1] git ls-remote https://github.com/JeffAshton/win_pdh 76bb4ee9f0ab50f77826f2a2ee7fb9d3880d6ec2 +SRCREV_win_pdh="76bb4ee9f0ab50f77826f2a2ee7fb9d3880d6ec2" +SRC_URI += "git://github.com/JeffAshton/win_pdh;name=win_pdh;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/JeffAshton/win_pdh" + +# github.com/Microsoft/go-winio v0.6.1 +# [1] git ls-remote https://github.com/microsoft/go-winio 070c828abb873da9e71c7247740253b50f7cf049 +SRCREV_go-winio="070c828abb873da9e71c7247740253b50f7cf049" +SRC_URI += "git://github.com/microsoft/go-winio;name=go-winio;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Microsoft/go-winio" + +# github.com/containerd/cgroups v1.1.0 +# [1] git ls-remote https://github.com/containerd/cgroups fe7323f622bc222e72473679f12a9089aeeda177 +SRCREV_cgroups="fe7323f622bc222e72473679f12a9089aeeda177" +SRC_URI += "git://github.com/containerd/cgroups;name=cgroups;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/cgroups" + +# github.com/containerd/console v1.0.3 +# [1] git ls-remote https://github.com/containerd/console b5cb846c9186d67bcae3ce3c324e47cd317d9527 +SRCREV_console="b5cb846c9186d67bcae3ce3c324e47cd317d9527" +SRC_URI += "git://github.com/containerd/console;name=console;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/console" + +# github.com/containerd/go-runc v1.0.0 +# [1] git ls-remote https://github.com/containerd/go-runc 16b287bc67d069a60fa48db15f330b790b74365b +SRCREV_go-runc="16b287bc67d069a60fa48db15f330b790b74365b" +SRC_URI += "git://github.com/containerd/go-runc;name=go-runc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/go-runc" + +# github.com/containerd/typeurl v1.0.2 +# [1] git ls-remote https://github.com/containerd/typeurl 5e43fb8b75ed2f2305fc04e6918c8d10636771bc +SRCREV_typeurl="5e43fb8b75ed2f2305fc04e6918c8d10636771bc" +SRC_URI += "git://github.com/containerd/typeurl;name=typeurl;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/typeurl" + +# github.com/dustin/go-humanize v1.0.1 +# [1] git ls-remote https://github.com/dustin/go-humanize 9ec74ab2f7a7161664182fd4e5e292fccffbc75f +SRCREV_go-humanize="9ec74ab2f7a7161664182fd4e5e292fccffbc75f" +SRC_URI += "git://github.com/dustin/go-humanize;name=go-humanize;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/dustin/go-humanize" + +# github.com/evanphx/json-patch v5.6.0+incompatible +# [1] git ls-remote https://github.com/evanphx/json-patch 5561fe05a1ec79c9bca966376211b2ab81959671 +SRCREV_json-patch="5561fe05a1ec79c9bca966376211b2ab81959671" +SRC_URI += "git://github.com/evanphx/json-patch;name=json-patch;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/evanphx/json-patch" + +# github.com/fvbommel/sortorder v1.1.0 +# [1] git ls-remote https://github.com/fvbommel/sortorder a8d9302c17f9f46c6580b82b919672e58ef6e396 +SRCREV_sortorder="a8d9302c17f9f46c6580b82b919672e58ef6e396" +SRC_URI += "git://github.com/fvbommel/sortorder;name=sortorder;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fvbommel/sortorder" + +# github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 +# [1] git ls-remote https://github.com/go-task/slim-sprig 52ccab3ef572c7e1a2c258be183f9a9296d60152 +SRCREV_slim-sprig="52ccab3ef572c7e1a2c258be183f9a9296d60152" +SRC_URI += "git://github.com/go-task/slim-sprig;name=slim-sprig;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-task/slim-sprig" + +# github.com/klauspost/cpuid/v2 v2.2.5 +# [1] git ls-remote https://github.com/klauspost/cpuid 1af2d99c24e60b21f4c8e8ea63ed69523ebbbb16 +SRCREV_cpuid-v2="1af2d99c24e60b21f4c8e8ea63ed69523ebbbb16" +SRC_URI += "git://github.com/klauspost/cpuid;name=cpuid-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/klauspost/cpuid/v2" + +# github.com/kylelemons/godebug v1.1.0 +# [1] git ls-remote https://github.com/kylelemons/godebug 9ff306d4fbead574800b66369df5b6144732d58e +SRCREV_godebug="9ff306d4fbead574800b66369df5b6144732d58e" +SRC_URI += "git://github.com/kylelemons/godebug;name=godebug;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/kylelemons/godebug" + +# github.com/mdlayher/genetlink v1.3.2 +# [1] git ls-remote https://github.com/mdlayher/genetlink 7531bffe0f5e10d1ce558d35e6feb5d1d1600851 +SRCREV_genetlink="7531bffe0f5e10d1ce558d35e6feb5d1d1600851" +SRC_URI += "git://github.com/mdlayher/genetlink;name=genetlink;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mdlayher/genetlink" + +# github.com/moby/sys/mountinfo v0.6.2 +# [1] git ls-remote https://github.com/moby/sys 1bf36f7188c31f2797c556c4c4d7d9af7a6a965b +SRCREV_mountinfo="1bf36f7188c31f2797c556c4c4d7d9af7a6a965b" +SRC_URI += "git://github.com/moby/sys;name=mountinfo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/mountinfo" + +# github.com/modern-go/reflect2 v1.0.2 +# [1] git ls-remote https://github.com/modern-go/reflect2 2b33151c9bbc5231aea69b8861c540102b087070 +SRCREV_reflect2="2b33151c9bbc5231aea69b8861c540102b087070" +SRC_URI += "git://github.com/modern-go/reflect2;name=reflect2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/modern-go/reflect2" + +# github.com/peterbourgon/diskv v2.0.1+incompatible +# [1] git ls-remote https://github.com/peterbourgon/diskv 5f041e8faa004a95c88a202771f4cc3e991971e6 +SRCREV_diskv="5f041e8faa004a95c88a202771f4cc3e991971e6" +SRC_URI += "git://github.com/peterbourgon/diskv;name=diskv;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/peterbourgon/diskv" + +# github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 +# [1] git ls-remote https://github.com/pmezard/go-difflib 5d4384ee4fb2527b0a1256a821ebfc92f91efefc +SRCREV_go-difflib="5d4384ee4fb2527b0a1256a821ebfc92f91efefc" +SRC_URI += "git://github.com/pmezard/go-difflib;name=go-difflib;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pmezard/go-difflib" + +# github.com/shengdoushi/base58 v1.0.0 +# [1] git ls-remote https://github.com/shengdoushi/base58 c5f44ca1af76fb63925d5fba8fa7b85870199839 +SRCREV_shengdoushi-base58="c5f44ca1af76fb63925d5fba8fa7b85870199839" +SRC_URI += "git://github.com/shengdoushi/base58;name=shengdoushi-base58;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/shengdoushi/base58" + +# github.com/stoewer/go-strcase v1.2.0 +# [1] git ls-remote https://github.com/stoewer/go-strcase 7962b205553802087345c0b4c74d57b65236f676 +SRCREV_go-strcase="7962b205553802087345c0b4c74d57b65236f676" +SRC_URI += "git://github.com/stoewer/go-strcase;name=go-strcase;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/stoewer/go-strcase" + +# github.com/k3s-io/etcd/pkg/v3 v3.5.9-k3s1 +# [1] git ls-remote https://github.com/k3s-io/etcd 341ce193b458049401364c20193ebd14f38fce6d +SRCREV_pkg-v3="341ce193b458049401364c20193ebd14f38fce6d" +SRC_URI += "git://github.com/k3s-io/etcd;name=pkg-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/etcd/pkg/v3" + +# github.com/erikdubbelboer/gspt v0.0.0-20190125194910-e68493906b83 +# [1] git ls-remote https://github.com/erikdubbelboer/gspt e68493906b8382891943ddc9960cb9c6ecd1a1f0 +SRCREV_gspt="e68493906b8382891943ddc9960cb9c6ecd1a1f0" +SRC_URI += "git://github.com/erikdubbelboer/gspt;name=gspt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/erikdubbelboer/gspt" + +# github.com/go-sql-driver/mysql v1.7.1 +# [1] git ls-remote https://github.com/go-sql-driver/mysql f20b2863636093e5fbf1481b59bdaff3b0fbb779 +SRCREV_mysql="f20b2863636093e5fbf1481b59bdaff3b0fbb779" +SRC_URI += "git://github.com/go-sql-driver/mysql;name=mysql;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-sql-driver/mysql" + +# github.com/vishvananda/netlink v1.2.1-beta.2 +# [1] git ls-remote https://github.com/vishvananda/netlink 5e915e0149386ce3d02379ff93f4c0a5601779d5 +SRCREV_netlink="5e915e0149386ce3d02379ff93f4c0a5601779d5" +SRC_URI += "git://github.com/vishvananda/netlink;name=netlink;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/vishvananda/netlink" + +# github.com/libp2p/go-cidranger v1.1.0 +# [1] git ls-remote https://github.com/libp2p/go-cidranger 1dec7f87b45b32e24d3f59548ad61647de34586d +SRCREV_go-cidranger="1dec7f87b45b32e24d3f59548ad61647de34586d" +SRC_URI += "git://github.com/libp2p/go-cidranger;name=go-cidranger;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-cidranger" + +# github.com/libp2p/go-reuseport v0.4.0 +# [1] git ls-remote https://github.com/libp2p/go-reuseport ac34b4fb35437abcc176b5bb97cc431d62d983e0 +SRCREV_go-reuseport="ac34b4fb35437abcc176b5bb97cc431d62d983e0" +SRC_URI += "git://github.com/libp2p/go-reuseport;name=go-reuseport;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-reuseport" + +# github.com/quic-go/qtls-go1-20 v0.3.3 +# [1] git ls-remote https://github.com/quic-go/qtls-go1-20 5ba42598e0a018acd682059ee240c6bb8d085b07 +SRCREV_qtls-go1-20="5ba42598e0a018acd682059ee240c6bb8d085b07" +SRC_URI += "git://github.com/quic-go/qtls-go1-20;name=qtls-go1-20;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/quic-go/qtls-go1-20" + +# github.com/MakeNowJust/heredoc v1.0.0 +# [1] git ls-remote https://github.com/makenowjust/heredoc bbd9af33722b79a933ef99c7c94833065e2d6c20 +SRCREV_heredoc="bbd9af33722b79a933ef99c7c94833065e2d6c20" +SRC_URI += "git://github.com/makenowjust/heredoc;name=heredoc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/MakeNowJust/heredoc" + +# github.com/NYTimes/gziphandler v1.1.1 +# [1] git ls-remote https://github.com/nytimes/gziphandler dd0439581c7657cb652dfe5c71d7d48baf39541d +SRCREV_gziphandler="dd0439581c7657cb652dfe5c71d7d48baf39541d" +SRC_URI += "git://github.com/nytimes/gziphandler;name=gziphandler;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/NYTimes/gziphandler" + +# github.com/canonical/go-dqlite v1.5.1 +# [1] git ls-remote https://github.com/canonical/go-dqlite 830c1a017995b73322e86c2a6f2ca799c1caca07 +SRCREV_go-dqlite="830c1a017995b73322e86c2a6f2ca799c1caca07" +SRC_URI += "git://github.com/canonical/go-dqlite;name=go-dqlite;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/canonical/go-dqlite" + +# github.com/cenkalti/backoff/v4 v4.2.1 +# [1] git ls-remote https://github.com/cenkalti/backoff a04a6fe64ffb0e3fd0816460529d300be5f252df +SRCREV_backoff-v4="a04a6fe64ffb0e3fd0816460529d300be5f252df" +SRC_URI += "git://github.com/cenkalti/backoff;name=backoff-v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cenkalti/backoff/v4" + +# github.com/chai2010/gettext-go v1.0.2 +# [1] git ls-remote https://github.com/chai2010/gettext-go 274d1753d015d0362761b6a1cc2a572e6a035913 +SRCREV_gettext-go="274d1753d015d0362761b6a1cc2a572e6a035913" +SRC_URI += "git://github.com/chai2010/gettext-go;name=gettext-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/chai2010/gettext-go" + +# github.com/containerd/btrfs/v2 v2.0.0 +# [1] git ls-remote https://github.com/containerd/btrfs f611cf12b33f43269574b2ad82bcb55e4d6f9982 +SRCREV_btrfs-v2="f611cf12b33f43269574b2ad82bcb55e4d6f9982" +SRC_URI += "git://github.com/containerd/btrfs;name=btrfs-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/btrfs/v2" + +# github.com/containerd/imgcrypt v1.1.7 +# [1] git ls-remote https://github.com/containerd/imgcrypt 01a05dffff35aadeb0a3008016ed745e7ff6beda +SRCREV_imgcrypt="01a05dffff35aadeb0a3008016ed745e7ff6beda" +SRC_URI += "git://github.com/containerd/imgcrypt;name=imgcrypt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/imgcrypt" + +# github.com/containers/ocicrypt v1.1.6 +# [1] git ls-remote https://github.com/containers/ocicrypt c61dfa5ee6c2ac10004c4e156d1a435f11c444cf +SRCREV_ocicrypt="c61dfa5ee6c2ac10004c4e156d1a435f11c444cf" +SRC_URI += "git://github.com/containers/ocicrypt;name=ocicrypt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containers/ocicrypt" + +# github.com/docker/distribution v2.8.2+incompatible +# [1] git ls-remote https://github.com/distribution/distribution 7c354a4b40feeea21d7eeae4de91c8ff7951e672 +SRCREV_distribution="7c354a4b40feeea21d7eeae4de91c8ff7951e672" +SRC_URI += "git://github.com/distribution/distribution;name=distribution;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/distribution" + +# github.com/emicklei/go-restful v2.16.0+incompatible +# [1] git ls-remote https://github.com/emicklei/go-restful ac666c045e035603f2704c98c59e979fccbfa94f +SRCREV_go-restful="ac666c045e035603f2704c98c59e979fccbfa94f" +SRC_URI += "git://github.com/emicklei/go-restful;name=go-restful;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/emicklei/go-restful" + +# github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 +# [1] git ls-remote https://github.com/gregjones/httpcache 9cad4c3443a7200dd6400aef47183728de563a38 +SRCREV_httpcache="9cad4c3443a7200dd6400aef47183728de563a38" +SRC_URI += "git://github.com/gregjones/httpcache;name=httpcache;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gregjones/httpcache" + +# github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a +# [1] git ls-remote https://github.com/jackc/pgservicefile 091c0ba34f0a65a78ab8d0e313fde0695c0f7186 +SRCREV_pgservicefile="091c0ba34f0a65a78ab8d0e313fde0695c0f7186" +SRC_URI += "git://github.com/jackc/pgservicefile;name=pgservicefile;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jackc/pgservicefile" + +# github.com/jonboulle/clockwork v0.4.0 +# [1] git ls-remote https://github.com/jonboulle/clockwork 606c48b92358fcca153952b56fb0d14d6845f84a +SRCREV_clockwork="606c48b92358fcca153952b56fb0d14d6845f84a" +SRC_URI += "git://github.com/jonboulle/clockwork;name=clockwork;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jonboulle/clockwork" + +# github.com/mistifyio/go-zfs/v3 v3.0.1 +# [1] git ls-remote https://github.com/mistifyio/go-zfs f6d5c373cf63ae2477370aa9bda9fa49804c2d72 +SRCREV_go-zfs-v3="f6d5c373cf63ae2477370aa9bda9fa49804c2d72" +SRC_URI += "git://github.com/mistifyio/go-zfs;name=go-zfs-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mistifyio/go-zfs/v3" + +# github.com/moby/sys/sequential v0.5.0 +# [1] git ls-remote https://github.com/moby/sys b22ba8a69b306f0b4adbbe2a529457e6283ed9f7 +SRCREV_sequential="b22ba8a69b306f0b4adbbe2a529457e6283ed9f7" +SRC_URI += "git://github.com/moby/sys;name=sequential;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/sequential" + +# github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 +# [1] git ls-remote https://github.com/syndtr/gocapability 42c35b4376354fd554efc7ad35e0b7f94e3a0ffb +SRCREV_gocapability="42c35b4376354fd554efc7ad35e0b7f94e3a0ffb" +SRC_URI += "git://github.com/syndtr/gocapability;name=gocapability;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/syndtr/gocapability" + +# github.com/k3s-io/etcd/raft/v3 v3.5.9-k3s1 +# [1] git ls-remote https://github.com/k3s-io/etcd 341ce193b458049401364c20193ebd14f38fce6d +SRCREV_raft-v3="341ce193b458049401364c20193ebd14f38fce6d" +SRC_URI += "git://github.com/k3s-io/etcd;name=raft-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/etcd/raft/v3" + +# go.opentelemetry.io/otel/trace v1.13.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go f2fd476f433128c2494476950ce11600a51bbe35 +SRCREV_trace="f2fd476f433128c2494476950ce11600a51bbe35" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=trace;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/trace" + +# go.opentelemetry.io/proto/otlp v0.19.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-proto-go c98f6b5f7362c9b4a717c7a4dab1ba90796a8f21 +SRCREV_otlp="c98f6b5f7362c9b4a717c7a4dab1ba90796a8f21" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-proto-go;name=otlp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/proto/otlp" + +# github.com/natefinch/lumberjack v2.0.0+incompatible +# [1] git ls-remote https://github.com/natefinch/lumberjack 7d6a1875575e09256dc552b4c0e450dcd02bd10e +SRCREV_lumberjack="7d6a1875575e09256dc552b4c0e450dcd02bd10e" +SRC_URI += "git://github.com/natefinch/lumberjack;name=lumberjack;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/natefinch/lumberjack" + +# github.com/rancher/remotedialer v0.3.0 +# [1] git ls-remote https://github.com/rancher/remotedialer 24498689a9ccec9adbdbadbe3f5d18df75ba133b +SRCREV_remotedialer="24498689a9ccec9adbdbadbe3f5d18df75ba133b" +SRC_URI += "git://github.com/rancher/remotedialer;name=remotedialer;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rancher/remotedialer" + +# github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c +# [1] git ls-remote https://github.com/davidlazar/go-crypto b73af7476f6c55b31aa2797d1f98afc94699548d +SRCREV_go-crypto="b73af7476f6c55b31aa2797d1f98afc94699548d" +SRC_URI += "git://github.com/davidlazar/go-crypto;name=go-crypto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/davidlazar/go-crypto" + +# github.com/hashicorp/golang-lru v0.5.4 +# [1] git ls-remote https://github.com/hashicorp/golang-lru 14eae340515388ca95aa8e7b86f0de668e981f54 +SRCREV_golang-lru="14eae340515388ca95aa8e7b86f0de668e981f54" +SRC_URI += "git://github.com/hashicorp/golang-lru;name=golang-lru;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/golang-lru" + +# github.com/pelletier/go-toml/v2 v2.1.1 +# [1] git ls-remote https://github.com/pelletier/go-toml 34765b4a9e937ab927b5bd57231e98c68fe13109 +SRCREV_go-toml-v2="34765b4a9e937ab927b5bd57231e98c68fe13109" +SRC_URI += "git://github.com/pelletier/go-toml;name=go-toml-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pelletier/go-toml/v2" + +# github.com/slok/go-http-metrics v0.10.0 +# [1] git ls-remote https://github.com/slok/go-http-metrics 9382ededffcb5ecf9f7041bfb779ddc1fc9c08dc +SRCREV_go-http-metrics="9382ededffcb5ecf9f7041bfb779ddc1fc9c08dc" +SRC_URI += "git://github.com/slok/go-http-metrics;name=go-http-metrics;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/slok/go-http-metrics" + +# github.com/xenitab/pkg/channels v0.0.2 +# [1] git ls-remote https://github.com/xenitab/pkg 94c2ab1cbf9c7aff34ed28237765cefd6d409f34 +SRCREV_channels="94c2ab1cbf9c7aff34ed28237765cefd6d409f34" +SRC_URI += "git://github.com/xenitab/pkg;name=channels;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xenitab/pkg/channels" + +# github.com/euank/go-kmsg-parser v2.0.0+incompatible +# [1] git ls-remote https://github.com/euank/go-kmsg-parser 5ba4d492e455a77d25dcf0d2c4acc9f2afebef4e +SRCREV_go-kmsg-parser="5ba4d492e455a77d25dcf0d2c4acc9f2afebef4e" +SRC_URI += "git://github.com/euank/go-kmsg-parser;name=go-kmsg-parser;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/euank/go-kmsg-parser" + +# github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d +# [1] git ls-remote https://github.com/exponent-io/jsonpath d6023ce2651d8eafb5c75bb0c7167536102ec9f5 +SRCREV_jsonpath="d6023ce2651d8eafb5c75bb0c7167536102ec9f5" +SRC_URI += "git://github.com/exponent-io/jsonpath;name=jsonpath;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/exponent-io/jsonpath" + +# github.com/googleapis/gax-go/v2 v2.12.0 +# [1] git ls-remote https://github.com/googleapis/gax-go db3387b70e605dfc1f09513359d396496a91c66b +SRCREV_gax-go-v2="db3387b70e605dfc1f09513359d396496a91c66b" +SRC_URI += "git://github.com/googleapis/gax-go;name=gax-go-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/googleapis/gax-go/v2" + +# github.com/hashicorp/go-version v1.6.0 +# [1] git ls-remote https://github.com/hashicorp/go-version 78d058c5618891f74d604bd15356fca690b64d8a +SRCREV_go-version="78d058c5618891f74d604bd15356fca690b64d8a" +SRC_URI += "git://github.com/hashicorp/go-version;name=go-version;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-version" + +# github.com/mitchellh/go-homedir v1.1.0 +# [1] git ls-remote https://github.com/mitchellh/go-homedir af06845cf3004701891bf4fdb884bfe4920b3727 +SRCREV_go-homedir="af06845cf3004701891bf4fdb884bfe4920b3727" +SRC_URI += "git://github.com/mitchellh/go-homedir;name=go-homedir;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/go-homedir" + +# github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd +# [1] git ls-remote https://github.com/modern-go/concurrent bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94 +SRCREV_concurrent="bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94" +SRC_URI += "git://github.com/modern-go/concurrent;name=concurrent;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/modern-go/concurrent" + +# github.com/pquerna/cachecontrol v0.1.0 +# [1] git ls-remote https://github.com/pquerna/cachecontrol fb00f8a766ae43bf209f50299ce7d69669416dfb +SRCREV_cachecontrol="fb00f8a766ae43bf209f50299ce7d69669416dfb" +SRC_URI += "git://github.com/pquerna/cachecontrol;name=cachecontrol;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pquerna/cachecontrol" + +# github.com/tchap/go-patricia/v2 v2.3.1 +# [1] git ls-remote https://github.com/tchap/go-patricia 5fc88dd7937ad82ca516f7f1f6b2c06dd0180309 +SRCREV_go-patricia-v2="5fc88dd7937ad82ca516f7f1f6b2c06dd0180309" +SRC_URI += "git://github.com/tchap/go-patricia;name=go-patricia-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tchap/go-patricia/v2" + +# go.opentelemetry.io/otel/metric v0.32.1 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go d7bfe6675fe79b0c01cae3d4c5f06330b2fece73 +SRCREV_metric="d7bfe6675fe79b0c01cae3d4c5f06330b2fece73" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=metric;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/metric" + +# github.com/k3s-io/kube-router/v2 v2.0.1 +# [1] git ls-remote https://github.com/k3s-io/kube-router 6842973d656f0bf1562858d278ea5d1f06a16f56 +SRCREV_v2="6842973d656f0bf1562858d278ea5d1f06a16f56" +SRC_URI += "git://github.com/k3s-io/kube-router;name=v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kube-router/v2" + +# github.com/containerd/cgroups/v3 v3.0.2 +# [1] git ls-remote https://github.com/containerd/cgroups 8fa64246e17ceea54277b3ad7139d9ec17545bfa +SRCREV_v3="8fa64246e17ceea54277b3ad7139d9ec17545bfa" +SRC_URI += "git://github.com/containerd/cgroups;name=v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/cgroups/v3" + +# github.com/go-bindata/go-bindata v3.1.2+incompatible +# [1] git ls-remote https://github.com/go-bindata/go-bindata ff7109080027ec152dabb369e157c4f359b76f31 +SRCREV_go-bindata="ff7109080027ec152dabb369e157c4f359b76f31" +SRC_URI += "git://github.com/go-bindata/go-bindata;name=go-bindata;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-bindata/go-bindata" + +# github.com/k3s-io/etcd/client/v3 v3.5.9-k3s1 +# [1] git ls-remote https://github.com/k3s-io/etcd 341ce193b458049401364c20193ebd14f38fce6d +SRCREV_client-v3="341ce193b458049401364c20193ebd14f38fce6d" +SRC_URI += "git://github.com/k3s-io/etcd;name=client-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/etcd/client/v3" + +# github.com/k3s-io/etcd/server/v3 v3.5.9-k3s1 +# [1] git ls-remote https://github.com/k3s-io/etcd 341ce193b458049401364c20193ebd14f38fce6d +SRCREV_server-v3="341ce193b458049401364c20193ebd14f38fce6d" +SRC_URI += "git://github.com/k3s-io/etcd;name=server-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/etcd/server/v3" + +# github.com/go-playground/locales v0.14.1 +# [1] git ls-remote https://github.com/go-playground/locales ce315c8672599942003599943a1e64288f55b03f +SRCREV_locales="ce315c8672599942003599943a1e64288f55b03f" +SRC_URI += "git://github.com/go-playground/locales;name=locales;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-playground/locales" + +# github.com/libp2p/go-buffer-pool v0.1.0 +# [1] git ls-remote https://github.com/libp2p/go-buffer-pool c5070857211a0615ebd7b56588154941af580a4d +SRCREV_go-buffer-pool="c5070857211a0615ebd7b56588154941af580a4d" +SRC_URI += "git://github.com/libp2p/go-buffer-pool;name=go-buffer-pool;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-buffer-pool" + +# github.com/containerd/continuity v0.4.2 +# [1] git ls-remote https://github.com/containerd/continuity 77a2d47a6668b82465fdf6cb749fe3a2aa2c9743 +SRCREV_continuity="77a2d47a6668b82465fdf6cb749fe3a2aa2c9743" +SRC_URI += "git://github.com/containerd/continuity;name=continuity;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/continuity" + +# github.com/containerd/typeurl/v2 v2.1.1 +# [1] git ls-remote https://github.com/containerd/typeurl 7ef6316b771f959cbb208b229e3423a466947df3 +SRCREV_typeurl-v2="7ef6316b771f959cbb208b229e3423a466947df3" +SRC_URI += "git://github.com/containerd/typeurl;name=typeurl-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/typeurl/v2" + +# github.com/coreos/go-systemd/v22 v22.5.0 +# [1] git ls-remote https://github.com/coreos/go-systemd d5623bf85e8e73ae6352f78ee6b55a287619dd4e +SRCREV_v22="d5623bf85e8e73ae6352f78ee6b55a287619dd4e" +SRC_URI += "git://github.com/coreos/go-systemd;name=v22;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-systemd/v22" + +# github.com/cpuguy83/go-md2man/v2 v2.0.3 +# [1] git ls-remote https://github.com/cpuguy83/go-md2man f67b5f6400a3ea2156517041a329ae5f5935395c +SRCREV_go-md2man-v2="f67b5f6400a3ea2156517041a329ae5f5935395c" +SRC_URI += "git://github.com/cpuguy83/go-md2man;name=go-md2man-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cpuguy83/go-md2man/v2" + +# github.com/docker/go-connections v0.5.0 +# [1] git ls-remote https://github.com/docker/go-connections fa09c952e3eadbffaf8afc5b8a1667158ba38ace +SRCREV_go-connections="fa09c952e3eadbffaf8afc5b8a1667158ba38ace" +SRC_URI += "git://github.com/docker/go-connections;name=go-connections;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-connections" + +# github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 +# [1] git ls-remote https://github.com/google/gnostic-models c7be7c783f49e86348a1081eb387e01a347a4f23 +SRCREV_gnostic-models="c7be7c783f49e86348a1081eb387e01a347a4f23" +SRC_URI += "git://github.com/google/gnostic-models;name=gnostic-models;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/gnostic-models" + +# github.com/mitchellh/go-wordwrap v1.0.1 +# [1] git ls-remote https://github.com/mitchellh/go-wordwrap ecf0936a077a4bd73a1cc2ac5c370f2b55618d62 +SRCREV_go-wordwrap="ecf0936a077a4bd73a1cc2ac5c370f2b55618d62" +SRC_URI += "git://github.com/mitchellh/go-wordwrap;name=go-wordwrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/go-wordwrap" + +# github.com/k3s-io/etcd/client/v2 v2.305.9-k3s1 +# [1] git ls-remote https://github.com/k3s-io/etcd 341ce193b458049401364c20193ebd14f38fce6d +SRCREV_client-v2="341ce193b458049401364c20193ebd14f38fce6d" +SRC_URI += "git://github.com/k3s-io/etcd;name=client-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/etcd/client/v2" + +# gopkg.in/natefinch/lumberjack.v2 v2.2.1 +# [1] git ls-remote https://github.com/natefinch/lumberjack 4cb27fcfbb0f35cb48c542c5ea80b7c1d18933d0 +SRCREV_lumberjack.v2="4cb27fcfbb0f35cb48c542c5ea80b7c1d18933d0" +SRC_URI += "git://github.com/natefinch/lumberjack;name=lumberjack.v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/natefinch/lumberjack.v2" + +# github.com/k3s-io/helm-controller v0.15.8 +# [1] git ls-remote https://github.com/k3s-io/helm-controller 6479edd3c7f919dd9cc65a88aca75390f391eb4f +SRCREV_helm-controller="6479edd3c7f919dd9cc65a88aca75390f391eb4f" +SRC_URI += "git://github.com/k3s-io/helm-controller;name=helm-controller;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/helm-controller" + +# github.com/mwitkow/go-http-dialer v0.0.0-20161116154839-378f744fb2b8 +# [1] git ls-remote https://github.com/mwitkow/go-http-dialer 378f744fb2b81a6b96e3f40cde4f3bcab5a9cff0 +SRCREV_go-http-dialer="378f744fb2b81a6b96e3f40cde4f3bcab5a9cff0" +SRC_URI += "git://github.com/mwitkow/go-http-dialer;name=go-http-dialer;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mwitkow/go-http-dialer" + +# github.com/opencontainers/selinux v1.10.1 +# [1] git ls-remote https://github.com/opencontainers/selinux 84e248a28e776216cd33a51fdea90a20fe308136 +SRCREV_selinux="84e248a28e776216cd33a51fdea90a20fe308136" +SRC_URI += "git://github.com/opencontainers/selinux;name=selinux;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/selinux" + +# github.com/k3s-io/etcd/etcdutl/v3 v3.5.9-k3s1 +# [1] git ls-remote https://github.com/k3s-io/etcd 341ce193b458049401364c20193ebd14f38fce6d +SRCREV_etcdutl-v3="341ce193b458049401364c20193ebd14f38fce6d" +SRC_URI += "git://github.com/k3s-io/etcd;name=etcdutl-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/etcd/etcdutl/v3" + +# github.com/libp2p/go-flow-metrics v0.1.0 +# [1] git ls-remote https://github.com/libp2p/go-flow-metrics 3f13d05958e2d1be0245aed1bdb38f9ff1b4efdc +SRCREV_go-flow-metrics="3f13d05958e2d1be0245aed1bdb38f9ff1b4efdc" +SRC_URI += "git://github.com/libp2p/go-flow-metrics;name=go-flow-metrics;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-flow-metrics" + +# github.com/multiformats/go-base32 v0.1.0 +# [1] git ls-remote https://github.com/multiformats/go-base32 a16b66327f327428b32b919939b8c93482507e1f +SRCREV_go-base32="a16b66327f327428b32b919939b8c93482507e1f" +SRC_URI += "git://github.com/multiformats/go-base32;name=go-base32;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-base32" + +# github.com/multiformats/go-base36 v0.2.0 +# [1] git ls-remote https://github.com/multiformats/go-base36 da52c98bb97cfaa321be04030bc97dcee7de63ff +SRCREV_go-base36="da52c98bb97cfaa321be04030bc97dcee7de63ff" +SRC_URI += "git://github.com/multiformats/go-base36;name=go-base36;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-base36" + +# github.com/multiformats/go-varint v0.0.7 +# [1] git ls-remote https://github.com/multiformats/go-varint 8c8129accb08fc978bb276c81d568c41eafdd48f +SRCREV_go-varint="8c8129accb08fc978bb276c81d568c41eafdd48f" +SRC_URI += "git://github.com/multiformats/go-varint;name=go-varint;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-varint" + +# github.com/Azure/azure-sdk-for-go v68.0.0+incompatible +# [1] git ls-remote https://github.com/Azure/azure-sdk-for-go 2187aca40bbf6931ffac666977e5d29128d82585 +SRCREV_azure-sdk-for-go="2187aca40bbf6931ffac666977e5d29128d82585" +SRC_URI += "git://github.com/Azure/azure-sdk-for-go;name=azure-sdk-for-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/azure-sdk-for-go" + +# github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a +# [1] git ls-remote https://github.com/asaskevich/govalidator f61b66f89f4a311bef65f13e575bcf1a2ffadda6 +SRCREV_govalidator="f61b66f89f4a311bef65f13e575bcf1a2ffadda6" +SRC_URI += "git://github.com/asaskevich/govalidator;name=govalidator;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/asaskevich/govalidator" + +# github.com/emicklei/go-restful/v3 v3.9.0 +# [1] git ls-remote https://github.com/emicklei/go-restful ce871fa2f7069b65c784c9c708da1f00b1f2bd66 +SRCREV_go-restful-v3="ce871fa2f7069b65c784c9c708da1f00b1f2bd66" +SRC_URI += "git://github.com/emicklei/go-restful;name=go-restful-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/emicklei/go-restful/v3" + +# github.com/go-openapi/jsonpointer v0.20.0 +# [1] git ls-remote https://github.com/go-openapi/jsonpointer 7df7a464d60e04018cf8f616a7abda94907fdf63 +SRCREV_jsonpointer="7df7a464d60e04018cf8f616a7abda94907fdf63" +SRC_URI += "git://github.com/go-openapi/jsonpointer;name=jsonpointer;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-openapi/jsonpointer" + +# github.com/hashicorp/go-cleanhttp v0.5.2 +# [1] git ls-remote https://github.com/hashicorp/go-cleanhttp 6d9e2ac5d828e5f8594b97f88c4bde14a67bb6d2 +SRCREV_go-cleanhttp="6d9e2ac5d828e5f8594b97f88c4bde14a67bb6d2" +SRC_URI += "git://github.com/hashicorp/go-cleanhttp;name=go-cleanhttp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-cleanhttp" + +# github.com/nats-io/nats-server/v2 v2.10.5 +# [1] git ls-remote https://github.com/nats-io/nats-server 0883d32bbcc5619603a9e5344d15aa10d069f059 +SRCREV_nats-server-v2="0883d32bbcc5619603a9e5344d15aa10d069f059" +SRC_URI += "git://github.com/nats-io/nats-server;name=nats-server-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/nats-io/nats-server/v2" + +# golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6 +# [1] git ls-remote https://github.com/WireGuard/wgctrl-go 925a1e7659e675c94c1a659d39daa9141e450c7d +SRCREV_wgctrl="925a1e7659e675c94c1a659d39daa9141e450c7d" +SRC_URI += "git://github.com/WireGuard/wgctrl-go;name=wgctrl;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.zx2c4.com/wireguard/wgctrl" + +# github.com/rancher/dynamiclistener v0.3.6 +# [1] git ls-remote https://github.com/rancher/dynamiclistener 0a2d8dff62fde6dfaf009141c12b30c316d8cff3 +SRCREV_dynamiclistener="0a2d8dff62fde6dfaf009141c12b30c316d8cff3" +SRC_URI += "git://github.com/rancher/dynamiclistener;name=dynamiclistener;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rancher/dynamiclistener" + +# github.com/gabriel-vasile/mimetype v1.4.2 +# [1] git ls-remote https://github.com/gabriel-vasile/mimetype 6f575b3e3509415374009db9cb81d6eae1fdfefb +SRCREV_mimetype="6f575b3e3509415374009db9cb81d6eae1fdfefb" +SRC_URI += "git://github.com/gabriel-vasile/mimetype;name=mimetype;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gabriel-vasile/mimetype" + +# github.com/hashicorp/golang-lru/v2 v2.0.5 +# [1] git ls-remote https://github.com/hashicorp/golang-lru 99d7b177d1c3f01ae145e824fe627961e76edb8b +SRCREV_golang-lru-v2="99d7b177d1c3f01ae145e824fe627961e76edb8b" +SRC_URI += "git://github.com/hashicorp/golang-lru;name=golang-lru-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/golang-lru/v2" + +# github.com/libp2p/go-libp2p-record v0.2.0 +# [1] git ls-remote https://github.com/libp2p/go-libp2p-record 90bb9b0e21ffe5e9a5f1af1c1e8cc6d9a0fce24c +SRCREV_go-libp2p-record="90bb9b0e21ffe5e9a5f1af1c1e8cc6d9a0fce24c" +SRC_URI += "git://github.com/libp2p/go-libp2p-record;name=go-libp2p-record;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-libp2p-record" + +# github.com/quic-go/webtransport-go v0.5.3 +# [1] git ls-remote https://github.com/quic-go/webtransport-go 16472ffb325d4869a24326e509abf359a8309775 +SRCREV_webtransport-go="16472ffb325d4869a24326e509abf359a8309775" +SRC_URI += "git://github.com/quic-go/webtransport-go;name=webtransport-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/quic-go/webtransport-go" + +# github.com/containernetworking/cni v1.1.2 +# [1] git ls-remote https://github.com/containernetworking/cni 3363d143688bb83ca18489ac8b9dc204c1d49c4a +SRCREV_cni="3363d143688bb83ca18489ac8b9dc204c1d49c4a" +SRC_URI += "git://github.com/containernetworking/cni;name=cni;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containernetworking/cni" + +# github.com/hashicorp/go-multierror v1.1.1 +# [1] git ls-remote https://github.com/hashicorp/go-multierror 9974e9ec57696378079ecc3accd3d6f29401b3a0 +SRCREV_go-multierror="9974e9ec57696378079ecc3accd3d6f29401b3a0" +SRC_URI += "git://github.com/hashicorp/go-multierror;name=go-multierror;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-multierror" + +# github.com/prometheus/client_model v0.5.0 +# [1] git ls-remote https://github.com/prometheus/client_model 1c92cadf7d8fa1726bae12e6025cca9b86d2ba5f +SRCREV_client_model="1c92cadf7d8fa1726bae12e6025cca9b86d2ba5f" +SRC_URI += "git://github.com/prometheus/client_model;name=client_model;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/client_model" + +# github.com/russross/blackfriday/v2 v2.1.0 +# [1] git ls-remote https://github.com/russross/blackfriday 4c9bf9512682b995722660a4196c0013228e2049 +SRCREV_blackfriday-v2="4c9bf9512682b995722660a4196c0013228e2049" +SRC_URI += "git://github.com/russross/blackfriday;name=blackfriday-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/russross/blackfriday/v2" + +# sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3 +# [1] git ls-remote https://github.com/kubernetes-sigs/kustomize 6ce0bf390ce3dae580947a2b739da3306c675eef +SRCREV_kustomize-v5="6ce0bf390ce3dae580947a2b739da3306c675eef" +SRC_URI += "git://github.com/kubernetes-sigs/kustomize;name=kustomize-v5;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/kustomize/kustomize/v5" + +# github.com/libp2p/go-libp2p-kad-dht v0.25.2 +# [1] git ls-remote https://github.com/libp2p/go-libp2p-kad-dht bdca14419ec5f7ad0790f17856964bb99bee7436 +SRCREV_go-libp2p-kad-dht="bdca14419ec5f7ad0790f17856964bb99bee7436" +SRC_URI += "git://github.com/libp2p/go-libp2p-kad-dht;name=go-libp2p-kad-dht;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-libp2p-kad-dht" + +# github.com/libp2p/go-libp2p-kbucket v0.6.3 +# [1] git ls-remote https://github.com/libp2p/go-libp2p-kbucket 437b9fccd6a22835a67b8fe2a5eae0b92f307224 +SRCREV_go-libp2p-kbucket="437b9fccd6a22835a67b8fe2a5eae0b92f307224" +SRC_URI += "git://github.com/libp2p/go-libp2p-kbucket;name=go-libp2p-kbucket;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-libp2p-kbucket" + +# github.com/Azure/go-autorest/logger v0.2.1 +# [1] git ls-remote https://github.com/Azure/go-autorest 820a319d2214dc91d083022ae5ec50070175314c +SRCREV_logger="820a319d2214dc91d083022ae5ec50070175314c" +SRC_URI += "git://github.com/Azure/go-autorest;name=logger;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest/logger" + +# github.com/daviddengcn/go-colortext v1.0.0 +# [1] git ls-remote https://github.com/daviddengcn/go-colortext dc4cd66b56a892657c0bea8bf4389d35210ce0ee +SRCREV_go-colortext="dc4cd66b56a892657c0bea8bf4389d35210ce0ee" +SRC_URI += "git://github.com/daviddengcn/go-colortext;name=go-colortext;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/daviddengcn/go-colortext" + +# github.com/go-openapi/jsonreference v0.20.2 +# [1] git ls-remote https://github.com/go-openapi/jsonreference 1f158e563669961b8e54817e3ea57978d439ffff +SRCREV_jsonreference="1f158e563669961b8e54817e3ea57978d439ffff" +SRC_URI += "git://github.com/go-openapi/jsonreference;name=jsonreference;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-openapi/jsonreference" + +# github.com/opencontainers/go-digest v1.0.0 +# [1] git ls-remote https://github.com/opencontainers/go-digest ea51bea511f75cfa3ef6098cc253c5c3609b037a +SRCREV_go-digest="ea51bea511f75cfa3ef6098cc253c5c3609b037a" +SRC_URI += "git://github.com/opencontainers/go-digest;name=go-digest;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/go-digest" + +# github.com/prometheus/client_golang v1.18.0 +# [1] git ls-remote https://github.com/prometheus/client_golang 53be91d12107cb69053a8792d0a3a2a6124d59cf +SRCREV_client_golang="53be91d12107cb69053a8792d0a3a2a6124d59cf" +SRC_URI += "git://github.com/prometheus/client_golang;name=client_golang;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/client_golang" + +# github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 +# [1] git ls-remote https://github.com/tmc/grpc-websocket-proxy 673ab2c3ae75cc01952b84b88590e30e75dcf395 +SRCREV_grpc-websocket-proxy="673ab2c3ae75cc01952b84b88590e30e75dcf395" +SRC_URI += "git://github.com/tmc/grpc-websocket-proxy;name=grpc-websocket-proxy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tmc/grpc-websocket-proxy" + +# github.com/k3s-io/etcd/client/pkg/v3 v3.5.9-k3s1 +# [1] git ls-remote https://github.com/k3s-io/etcd 341ce193b458049401364c20193ebd14f38fce6d +SRCREV_pkg-v3="341ce193b458049401364c20193ebd14f38fce6d" +SRC_URI += "git://github.com/k3s-io/etcd;name=pkg-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/etcd/client/pkg/v3" + +# github.com/libp2p/go-libp2p-asn-util v0.3.0 +# [1] git ls-remote https://github.com/libp2p/go-libp2p-asn-util bce6420c4bcf80f1ab03cdfd4b64575e53328099 +SRCREV_go-libp2p-asn-util="bce6420c4bcf80f1ab03cdfd4b64575e53328099" +SRC_URI += "git://github.com/libp2p/go-libp2p-asn-util;name=go-libp2p-asn-util;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-libp2p-asn-util" + +# github.com/multiformats/go-multiaddr v0.12.0 +# [1] git ls-remote https://github.com/multiformats/go-multiaddr 5dd793c6fc4935fad347429a48a168acc8073474 +SRCREV_go-multiaddr="5dd793c6fc4935fad347429a48a168acc8073474" +SRC_URI += "git://github.com/multiformats/go-multiaddr;name=go-multiaddr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multiaddr" + +# github.com/multiformats/go-multibase v0.2.0 +# [1] git ls-remote https://github.com/multiformats/go-multibase 58a41f7df1d82d16599e259325b3337d69f70e3b +SRCREV_go-multibase="58a41f7df1d82d16599e259325b3337d69f70e3b" +SRC_URI += "git://github.com/multiformats/go-multibase;name=go-multibase;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multibase" + +# github.com/multiformats/go-multihash v0.2.3 +# [1] git ls-remote https://github.com/multiformats/go-multihash ff9da31500dddfc675e996601a05cdfc3ce7c764 +SRCREV_go-multihash="ff9da31500dddfc675e996601a05cdfc3ce7c764" +SRC_URI += "git://github.com/multiformats/go-multihash;name=go-multihash;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multihash" + +# github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 +# [1] git ls-remote https://github.com/whyrusleeping/go-keyspace 5b898ac5add1da7178a4a98e69cb7b9205c085ee +SRCREV_go-keyspace="5b898ac5add1da7178a4a98e69cb7b9205c085ee" +SRC_URI += "git://github.com/whyrusleeping/go-keyspace;name=go-keyspace;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/whyrusleeping/go-keyspace" + +# cloud.google.com/go/compute/metadata v0.2.3 +# [1] git ls-remote https://github.com/googleapis/google-cloud-go cf8081fada0955a1682ce3fc400b44bc141309c7 +SRCREV_metadata="cf8081fada0955a1682ce3fc400b44bc141309c7" +SRC_URI += "git://github.com/googleapis/google-cloud-go;name=metadata;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/cloud.google.com/go/compute/metadata" + +# github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 +# [1] git ls-remote https://github.com/AdaLogics/go-fuzz-headers ced1acdcaa24dc39c01b039fc37576c395f506cf +SRCREV_go-fuzz-headers="ced1acdcaa24dc39c01b039fc37576c395f506cf" +SRC_URI += "git://github.com/AdaLogics/go-fuzz-headers;name=go-fuzz-headers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/AdaLogics/go-fuzz-headers" + +# github.com/Azure/go-autorest/tracing v0.6.0 +# [1] git ls-remote https://github.com/Azure/go-autorest b3a0b30a7423314874b3f585289e0e260cf5fc8d +SRCREV_tracing="b3a0b30a7423314874b3f585289e0e260cf5fc8d" +SRC_URI += "git://github.com/Azure/go-autorest;name=tracing;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest/tracing" + +# github.com/inconshreveable/mousetrap v1.1.0 +# [1] git ls-remote https://github.com/inconshreveable/mousetrap 4e8053ee7ef85a6bd26368364a6d27f1641c1d21 +SRCREV_mousetrap="4e8053ee7ef85a6bd26368364a6d27f1641c1d21" +SRC_URI += "git://github.com/inconshreveable/mousetrap;name=mousetrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/inconshreveable/mousetrap" + +# github.com/opencontainers/image-spec v1.1.0-rc5 +# [1] git ls-remote https://github.com/opencontainers/image-spec 1e54f0195ce54b4a1a2ecbac8eab7686d91d3080 +SRCREV_image-spec="1e54f0195ce54b4a1a2ecbac8eab7686d91d3080" +SRC_URI += "git://github.com/opencontainers/image-spec;name=image-spec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/image-spec" + +# github.com/seccomp/libseccomp-golang v0.10.0 +# [1] git ls-remote https://github.com/seccomp/libseccomp-golang 879684a7b708c2ebc730e62fdae39ae9081b4680 +SRCREV_libseccomp-golang="879684a7b708c2ebc730e62fdae39ae9081b4680" +SRC_URI += "git://github.com/seccomp/libseccomp-golang;name=libseccomp-golang;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/seccomp/libseccomp-golang" + +# github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 +# [1] git ls-remote https://github.com/stefanberger/go-pkcs11uri 78d3cae3a9805d89aa4fa80a362ca944c89a1b99 +SRCREV_go-pkcs11uri="78d3cae3a9805d89aa4fa80a362ca944c89a1b99" +SRC_URI += "git://github.com/stefanberger/go-pkcs11uri;name=go-pkcs11uri;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/stefanberger/go-pkcs11uri" + +# sigs.k8s.io/structured-merge-diff/v4 v4.3.0 +# [1] git ls-remote https://github.com/kubernetes-sigs/structured-merge-diff 7785c50b1768fa997df435a484ab9aa5041596a6 +SRCREV_structured-merge-diff-v4="7785c50b1768fa997df435a484ab9aa5041596a6" +SRC_URI += "git://github.com/kubernetes-sigs/structured-merge-diff;name=structured-merge-diff-v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/structured-merge-diff/v4" + +# github.com/jbenet/go-temp-err-catcher v0.1.0 +# [1] git ls-remote https://github.com/jbenet/go-temp-err-catcher fa11adda5e7cccb838a208007c9ea79dda63c0c0 +SRCREV_go-temp-err-catcher="fa11adda5e7cccb838a208007c9ea79dda63c0c0" +SRC_URI += "git://github.com/jbenet/go-temp-err-catcher;name=go-temp-err-catcher;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/jbenet/go-temp-err-catcher" + +# github.com/multiformats/go-multicodec v0.9.0 +# [1] git ls-remote https://github.com/multiformats/go-multicodec b8b4bf5270f9f220f00bcdeddf1641b13e67cc0b +SRCREV_go-multicodec="b8b4bf5270f9f220f00bcdeddf1641b13e67cc0b" +SRC_URI += "git://github.com/multiformats/go-multicodec;name=go-multicodec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multicodec" + +# github.com/opentracing/opentracing-go v1.2.0 +# [1] git ls-remote https://github.com/opentracing/opentracing-go d34af3eaa63c4d08ab54863a4bdd0daa45212e12 +SRCREV_opentracing-go="d34af3eaa63c4d08ab54863a4bdd0daa45212e12" +SRC_URI += "git://github.com/opentracing/opentracing-go;name=opentracing-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opentracing/opentracing-go" + +# github.com/twitchyliquid64/golang-asm v0.15.1 +# [1] git ls-remote https://github.com/twitchyliquid64/golang-asm 8d7f1f783b11f9a00f5bcdfcae17f5ac8f22512e +SRCREV_golang-asm="8d7f1f783b11f9a00f5bcdfcae17f5ac8f22512e" +SRC_URI += "git://github.com/twitchyliquid64/golang-asm;name=golang-asm;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/twitchyliquid64/golang-asm" + +# github.com/Azure/go-autorest/autorest v0.11.29 +# [1] git ls-remote https://github.com/Azure/go-autorest c2958ac74c65c138045daa60f149c5f9d949d743 +SRCREV_autorest="c2958ac74c65c138045daa60f149c5f9d949d743" +SRC_URI += "git://github.com/Azure/go-autorest;name=autorest;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest/autorest" + +# github.com/cyphar/filepath-securejoin v0.2.4 +# [1] git ls-remote https://github.com/cyphar/filepath-securejoin 2710d06c5b4ba3168beffa0689798d2db12e8ac4 +SRCREV_filepath-securejoin="2710d06c5b4ba3168beffa0689798d2db12e8ac4" +SRC_URI += "git://github.com/cyphar/filepath-securejoin;name=filepath-securejoin;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cyphar/filepath-securejoin" + +# github.com/hashicorp/go-retryablehttp v0.7.4 +# [1] git ls-remote https://github.com/hashicorp/go-retryablehttp 571a88bc9c3b7c64575f0e9b0f646af1510f2c76 +SRCREV_go-retryablehttp="571a88bc9c3b7c64575f0e9b0f646af1510f2c76" +SRC_URI += "git://github.com/hashicorp/go-retryablehttp;name=go-retryablehttp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-retryablehttp" + +# github.com/libopenstorage/openstorage v1.0.0 +# [1] git ls-remote https://github.com/libopenstorage/openstorage 093a0c3888753c2056e7373183693d670c6bba01 +SRCREV_openstorage="093a0c3888753c2056e7373183693d670c6bba01" +SRC_URI += "git://github.com/libopenstorage/openstorage;name=openstorage;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libopenstorage/openstorage" + +# github.com/go-playground/validator/v10 v10.14.0 +# [1] git ls-remote https://github.com/go-playground/validator ce28d7c4b27fbcafff82bc87a8bf58257beb9030 +SRCREV_v10="ce28d7c4b27fbcafff82bc87a8bf58257beb9030" +SRC_URI += "git://github.com/go-playground/validator;name=v10;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-playground/validator/v10" + +# github.com/hashicorp/golang-lru/arc/v2 v2.0.5 +# [1] git ls-remote https://github.com/hashicorp/golang-lru 3afaa48530f711754c178ceb61ff060d86c17b95 +SRCREV_arc-v2="3afaa48530f711754c178ceb61ff060d86c17b95" +SRC_URI += "git://github.com/hashicorp/golang-lru;name=arc-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/golang-lru/arc/v2" + +# github.com/multiformats/go-multistream v0.4.1 +# [1] git ls-remote https://github.com/multiformats/go-multistream 5b2f48e2db22aa1db90bb5a21aa4e6702d4ee33c +SRCREV_go-multistream="5b2f48e2db22aa1db90bb5a21aa4e6702d4ee33c" +SRC_URI += "git://github.com/multiformats/go-multistream;name=go-multistream;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multistream" + +# github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 +# [1] git ls-remote https://github.com/AdamKorcz/go-118-fuzz-build 8075edf89bb034603c758f28fe93143047ac5677 +SRCREV_go-118-fuzz-build="8075edf89bb034603c758f28fe93143047ac5677" +SRC_URI += "git://github.com/AdamKorcz/go-118-fuzz-build;name=go-118-fuzz-build;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/AdamKorcz/go-118-fuzz-build" + +# github.com/bronze1man/goStrongswanVici v0.0.0-20221114103242-3f6dc524986c +# [1] git ls-remote https://github.com/bronze1man/goStrongswanVici 3f6dc524986c8a20ee1e139f9e1bef1595877b5d +SRCREV_goStrongswanVici="3f6dc524986c8a20ee1e139f9e1bef1595877b5d" +SRC_URI += "git://github.com/bronze1man/goStrongswanVici;name=goStrongswanVici;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/bronze1man/goStrongswanVici" + +# github.com/containernetworking/plugins v1.3.0 +# [1] git ls-remote https://github.com/containernetworking/plugins 38f18d26ecfef550b8bac02656cc11103fd7cff1 +SRCREV_plugins="38f18d26ecfef550b8bac02656cc11103fd7cff1" +SRC_URI += "git://github.com/containernetworking/plugins;name=plugins;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containernetworking/plugins" + +# github.com/google/go-containerregistry v0.14.0 +# [1] git ls-remote https://github.com/google/go-containerregistry 4b081f801f399fa293f23e42ba4c4ac6a6003f2c +SRCREV_go-containerregistry="4b081f801f399fa293f23e42ba4c4ac6a6003f2c" +SRC_URI += "git://github.com/google/go-containerregistry;name=go-containerregistry;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/go-containerregistry" + +# github.com/grpc-ecosystem/grpc-gateway v1.16.0 +# [1] git ls-remote https://github.com/grpc-ecosystem/grpc-gateway 094a6fe78b3ca888297d090185cdf30f0e42e157 +SRCREV_grpc-gateway="094a6fe78b3ca888297d090185cdf30f0e42e157" +SRC_URI += "git://github.com/grpc-ecosystem/grpc-gateway;name=grpc-gateway;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/grpc-ecosystem/grpc-gateway" + +# github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 +# [1] git ls-remote https://github.com/monochromegane/go-gitignore 205db1a8cc001de79230472da52edde4974df734 +SRCREV_go-gitignore="205db1a8cc001de79230472da52edde4974df734" +SRC_URI += "git://github.com/monochromegane/go-gitignore;name=go-gitignore;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/monochromegane/go-gitignore" + +# github.com/opencontainers/runtime-spec v1.0.3-0.20220909204839-494a5a6aca78 +# [1] git ls-remote https://github.com/opencontainers/runtime-spec 494a5a6aca782455c0fbfc35af8e12f04e98a55e +SRCREV_runtime-spec="494a5a6aca782455c0fbfc35af8e12f04e98a55e" +SRC_URI += "git://github.com/opencontainers/runtime-spec;name=runtime-spec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/runtime-spec" + +# github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 +# [1] git ls-remote https://github.com/opencontainers/runtime-tools 2e043c6bd62639199bdd0d5f0c5082797de4de2a +SRCREV_runtime-tools="2e043c6bd62639199bdd0d5f0c5082797de4de2a" +SRC_URI += "git://github.com/opencontainers/runtime-tools;name=runtime-tools;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/runtime-tools" + +# github.com/containerd/stargz-snapshotter v0.14.4-0.20230913082252-7275d45b185c +# [1] git ls-remote https://github.com/containerd/stargz-snapshotter 7275d45b185cd720ce13747f0d0a78e9e7cd60e3 +SRCREV_stargz-snapshotter="7275d45b185cd720ce13747f0d0a78e9e7cd60e3" +SRC_URI += "git://github.com/containerd/stargz-snapshotter;name=stargz-snapshotter;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/stargz-snapshotter" + +# github.com/multiformats/go-multiaddr-dns v0.3.1 +# [1] git ls-remote https://github.com/multiformats/go-multiaddr-dns 448c10b622b0c09ce6834487156c1fd9a65f1597 +SRCREV_go-multiaddr-dns="448c10b622b0c09ce6834487156c1fd9a65f1597" +SRC_URI += "git://github.com/multiformats/go-multiaddr-dns;name=go-multiaddr-dns;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multiaddr-dns" + +# github.com/multiformats/go-multiaddr-fmt v0.1.0 +# [1] git ls-remote https://github.com/multiformats/go-multiaddr-fmt 113ed87ed03cfff94f29fd95236be3ccd933fd36 +SRCREV_go-multiaddr-fmt="113ed87ed03cfff94f29fd95236be3ccd933fd36" +SRC_URI += "git://github.com/multiformats/go-multiaddr-fmt;name=go-multiaddr-fmt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multiaddr-fmt" + +# github.com/Azure/go-autorest/autorest/to v0.4.0 +# [1] git ls-remote https://github.com/Azure/go-autorest b3a0b30a7423314874b3f585289e0e260cf5fc8d +SRCREV_to="b3a0b30a7423314874b3f585289e0e260cf5fc8d" +SRC_URI += "git://github.com/Azure/go-autorest;name=to;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest/autorest/to" + +# github.com/checkpoint-restore/go-criu/v5 v5.3.0 +# [1] git ls-remote https://github.com/checkpoint-restore/go-criu e3059103a5cf6adca2183e08c0315e8d8d5135a5 +SRCREV_v5="e3059103a5cf6adca2183e08c0315e8d8d5135a5" +SRC_URI += "git://github.com/checkpoint-restore/go-criu;name=v5;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/checkpoint-restore/go-criu/v5" + +# github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 +# [1] git ls-remote https://github.com/decred/dcrd bacf8444a8bc79178f9eb2c65477ab6df01a6439 +SRCREV_secp256k1-v4="bacf8444a8bc79178f9eb2c65477ab6df01a6439" +SRC_URI += "git://github.com/decred/dcrd;name=secp256k1-v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/decred/dcrd/dcrec/secp256k1/v4" + +# github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 +# [1] git ls-remote https://github.com/grpc-ecosystem/grpc-gateway 09e3965a330155f7db8482269d7d91b9bceb7641 +SRCREV_grpc-gateway-v2="09e3965a330155f7db8482269d7d91b9bceb7641" +SRC_URI += "git://github.com/grpc-ecosystem/grpc-gateway;name=grpc-gateway-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/grpc-ecosystem/grpc-gateway/v2" + +# google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 +# [1] git ls-remote https://github.com/googleapis/go-genproto bbf56f31fb17579209f44dda2d2567d20ff21a20 +SRCREV_googleapis-api="bbf56f31fb17579209f44dda2d2567d20ff21a20" +SRC_URI += "git://github.com/googleapis/go-genproto;name=googleapis-api;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto/googleapis/api" + +# google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f +# [1] git ls-remote https://github.com/googleapis/go-genproto 83a465c0220f57b4c18228172454daeffa772607 +SRCREV_rpc="83a465c0220f57b4c18228172454daeffa772607" +SRC_URI += "git://github.com/googleapis/go-genproto;name=rpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto/googleapis/rpc" + +# github.com/rootless-containers/rootlesskit v1.0.1 +# [1] git ls-remote https://github.com/rootless-containers/rootlesskit 5d5f4c0c26e26a6b51d1838c23e793e5836442d0 +SRCREV_rootlesskit="5d5f4c0c26e26a6b51d1838c23e793e5836442d0" +SRC_URI += "git://github.com/rootless-containers/rootlesskit;name=rootlesskit;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rootless-containers/rootlesskit" + +# github.com/Azure/go-autorest/autorest/adal v0.9.23 +# [1] git ls-remote https://github.com/Azure/go-autorest 553a90ae65a6a2b18306fa04d7b1625960c5decb +SRCREV_adal="553a90ae65a6a2b18306fa04d7b1625960c5decb" +SRC_URI += "git://github.com/Azure/go-autorest;name=adal;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest/autorest/adal" + +# github.com/Azure/go-autorest/autorest/date v0.3.0 +# [1] git ls-remote https://github.com/Azure/go-autorest b3a0b30a7423314874b3f585289e0e260cf5fc8d +SRCREV_date="b3a0b30a7423314874b3f585289e0e260cf5fc8d" +SRC_URI += "git://github.com/Azure/go-autorest;name=date;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest/autorest/date" + +# github.com/libp2p/go-libp2p-routing-helpers v0.7.2 +# [1] git ls-remote https://github.com/libp2p/go-libp2p-routing-helpers 71d7c965185ed346e39cc26140ac49ea13b2222f +SRCREV_go-libp2p-routing-helpers="71d7c965185ed346e39cc26140ac49ea13b2222f" +SRC_URI += "git://github.com/libp2p/go-libp2p-routing-helpers;name=go-libp2p-routing-helpers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/libp2p/go-libp2p-routing-helpers" + +# github.com/Azure/go-autorest/autorest/mocks v0.4.2 +# [1] git ls-remote https://github.com/Azure/go-autorest a91292dd2fc10381ac9b90eea72b92e60761eac4 +SRCREV_mocks="a91292dd2fc10381ac9b90eea72b92e60761eac4" +SRC_URI += "git://github.com/Azure/go-autorest;name=mocks;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest/autorest/mocks" + +# github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df +# [1] git ls-remote https://github.com/antlr/antlr4 8188dc5388dfe9246deb9b6ae507c3693fd55c3f +SRCREV_antlr-v4="8188dc5388dfe9246deb9b6ae507c3693fd55c3f" +SRC_URI += "git://github.com/antlr/antlr4;name=antlr-v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/antlr/antlr4/runtime/Go/antlr/v4" + +# github.com/container-storage-interface/spec v1.8.0 +# [1] git ls-remote https://github.com/container-storage-interface/spec c7ab2f379311a9ae234ae42bdfbfebfa9c15e538 +SRCREV_spec="c7ab2f379311a9ae234ae42bdfbfebfa9c15e538" +SRC_URI += "git://github.com/container-storage-interface/spec;name=spec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/container-storage-interface/spec" + +# github.com/docker/docker-credential-helpers v0.7.0 +# [1] git ls-remote https://github.com/docker/docker-credential-helpers ac5992b5f4756fc0398a7d0c93c609e624368bde +SRCREV_docker-credential-helpers="ac5992b5f4756fc0398a7d0c93c609e624368bde" +SRC_URI += "git://github.com/docker/docker-credential-helpers;name=docker-credential-helpers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/docker-credential-helpers" + +# github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 +# [1] git ls-remote https://github.com/grpc-ecosystem/go-grpc-middleware df0f91b29bbbdfc3a686a7a8edbe2b9de2072fdd +SRCREV_go-grpc-middleware="df0f91b29bbbdfc3a686a7a8edbe2b9de2072fdd" +SRC_URI += "git://github.com/grpc-ecosystem/go-grpc-middleware;name=go-grpc-middleware;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/grpc-ecosystem/go-grpc-middleware" + +# github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 +# [1] git ls-remote https://github.com/grpc-ecosystem/go-grpc-prometheus c225b8c3b01faf2899099b768856a9e916e5087b +SRCREV_go-grpc-prometheus="c225b8c3b01faf2899099b768856a9e916e5087b" +SRC_URI += "git://github.com/grpc-ecosystem/go-grpc-prometheus;name=go-grpc-prometheus;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/grpc-ecosystem/go-grpc-prometheus" + +# github.com/go-playground/universal-translator v0.18.1 +# [1] git ls-remote https://github.com/go-playground/universal-translator f83cd526536e253181a13835b00cd107f627c505 +SRCREV_universal-translator="f83cd526536e253181a13835b00cd107f627c505" +SRC_URI += "git://github.com/go-playground/universal-translator;name=universal-translator;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-playground/universal-translator" + +# github.com/containerd/fuse-overlayfs-snapshotter v1.0.5 +# [1] git ls-remote https://github.com/containerd/fuse-overlayfs-snapshotter 11c45f4d24689d8cb279813fbcb9bbd01773e0e8 +SRCREV_fuse-overlayfs-snapshotter="11c45f4d24689d8cb279813fbcb9bbd01773e0e8" +SRC_URI += "git://github.com/containerd/fuse-overlayfs-snapshotter;name=fuse-overlayfs-snapshotter;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/fuse-overlayfs-snapshotter" + +# github.com/Azure/go-autorest/autorest/validation v0.3.1 +# [1] git ls-remote https://github.com/Azure/go-autorest 446f41b7d65b2ab6c25b1a7afe42abd3622e9110 +SRCREV_validation="446f41b7d65b2ab6c25b1a7afe42abd3622e9110" +SRC_URI += "git://github.com/Azure/go-autorest;name=validation;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-autorest/autorest/validation" + +# github.com/containerd/stargz-snapshotter/estargz v0.14.3 +# [1] git ls-remote https://github.com/containerd/stargz-snapshotter 6ee6fa1a88df6ea098f6b7dddde29e33f09d5331 +SRCREV_estargz="6ee6fa1a88df6ea098f6b7dddde29e33f09d5331" +SRC_URI += "git://github.com/containerd/stargz-snapshotter;name=estargz;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/stargz-snapshotter/estargz" + +# github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f11817397a1b +# [1] git ls-remote https://github.com/GoogleCloudPlatform/k8s-cloud-provider f11817397a1bb27e88115807a9c083a36e12eaf8 +SRCREV_k8s-cloud-provider="f11817397a1bb27e88115807a9c083a36e12eaf8" +SRC_URI += "git://github.com/GoogleCloudPlatform/k8s-cloud-provider;name=k8s-cloud-provider;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/GoogleCloudPlatform/k8s-cloud-provider" + +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.13.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go f2fd476f433128c2494476950ce11600a51bbe35 +SRCREV_otlptrace="f2fd476f433128c2494476950ce11600a51bbe35" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otlptrace;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/otlptrace" + +# github.com/googleapis/enterprise-certificate-proxy v0.3.2 +# [1] git ls-remote https://github.com/googleapis/enterprise-certificate-proxy d928958b5b9ec0c2d3ce5e97ea5d1f000125ba7b +SRCREV_enterprise-certificate-proxy="d928958b5b9ec0c2d3ce5e97ea5d1f000125ba7b" +SRC_URI += "git://github.com/googleapis/enterprise-certificate-proxy;name=enterprise-certificate-proxy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/googleapis/enterprise-certificate-proxy" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_api="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=api;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/api" + +# github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 +# [1] git ls-remote https://github.com/matttproud/golang_protobuf_extensions 5a0f9169fc38cc42a5c617c3dc049548ddc27487 +SRCREV_golang_protobuf_extensions-v2="5a0f9169fc38cc42a5c617c3dc049548ddc27487" +SRC_URI += "git://github.com/matttproud/golang_protobuf_extensions;name=golang_protobuf_extensions-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/matttproud/golang_protobuf_extensions/v2" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/kms v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_kms="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=kms;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/kms" + +# go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.13.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go f2fd476f433128c2494476950ce11600a51bbe35 +SRCREV_internal-retry="f2fd476f433128c2494476950ce11600a51bbe35" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=internal-retry;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/internal/retry" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_cri-api="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=cri-api;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_kubectl="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=kubectl;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_kubelet="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=kubelet;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_metrics="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=metrics;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics" + +# sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2 +# [1] git ls-remote https://github.com/kubernetes-sigs/apiserver-network-proxy 60b5f0e02800910cbb363668e285ec0e78d7cae1 +SRCREV_konnectivity-client="60b5f0e02800910cbb363668e285ec0e78d7cae1" +SRC_URI += "git://github.com/kubernetes-sigs/apiserver-network-proxy;name=konnectivity-client;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/sigs.k8s.io/apiserver-network-proxy/konnectivity-client" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_apiserver="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=apiserver;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_client-go="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=client-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_kube-proxy="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=kube-proxy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_cli-runtime="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=cli-runtime;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_mount-utils="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=mount-utils;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_apimachinery="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=apimachinery;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery" + +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.1 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go-contrib 356ee7f4343df3704346603fbde1b8d3d8fb86e9 +SRCREV_otelhttp="356ee7f4343df3704346603fbde1b8d3d8fb86e9" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go-contrib;name=otelhttp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/endpointslice v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_endpointslice="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=endpointslice;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/endpointslice" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_cloud-provider="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=cloud-provider;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_component-base="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=component-base;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_code-generator="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=code-generator;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_kube-scheduler="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=kube-scheduler;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler" + +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.13.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go f2fd476f433128c2494476950ce11600a51bbe35 +SRCREV_otlptracegrpc="f2fd476f433128c2494476950ce11600a51bbe35" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otlptracegrpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_kube-aggregator="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=kube-aggregator;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_cluster-bootstrap="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=cluster-bootstrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_component-helpers="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=component-helpers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_controller-manager="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=controller-manager;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_csi-translation-lib="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=csi-translation-lib;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib" + +# github.com/container-orchestrated-devices/container-device-interface v0.5.4 +# [1] git ls-remote https://github.com/cncf-tags/container-device-interface 0a1a5bea37b41bbdbb65d0e42b6305eba051f185 +SRCREV_container-device-interface="0a1a5bea37b41bbdbb65d0e42b6305eba051f185" +SRC_URI += "git://github.com/cncf-tags/container-device-interface;name=container-device-interface;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/container-orchestrated-devices/container-device-interface" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_legacy-cloud-providers="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=legacy-cloud-providers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_pod-security-admission="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=pod-security-admission;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/pod-security-admission" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_apiextensions-apiserver="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=apiextensions-apiserver;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_kube-controller-manager="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=kube-controller-manager;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager" + +# go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go-contrib c4876c33a8e2e4b09501013f3543153d8aa10178 +SRCREV_otelgrpc="c4876c33a8e2e4b09501013f3543153d8aa10178" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go-contrib;name=otelgrpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" + +# github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v1.28.7-k3s1 +# [1] git ls-remote https://github.com/k3s-io/kubernetes 94b07a975a29425d3f5f835ef5e7d9c22f33f8c1 +SRCREV_dynamic-resource-allocation="94b07a975a29425d3f5f835ef5e7d9c22f33f8c1" +SRC_URI += "git://github.com/k3s-io/kubernetes;name=dynamic-resource-allocation;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/k3s-io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation" + +# go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.35.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go-contrib c4876c33a8e2e4b09501013f3543153d8aa10178 +SRCREV_otelrestful="c4876c33a8e2e4b09501013f3543153d8aa10178" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go-contrib;name=otelrestful;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful" + diff --git a/recipes-containers/kubernetes/README.md b/recipes-containers/kubernetes/README.md new file mode 100644 index 00000000..ae79d6c2 --- /dev/null +++ b/recipes-containers/kubernetes/README.md @@ -0,0 +1,117 @@ +# k8s: Kubernetes + +meta-virtualization provides the recipes and packages suitable for a k8s +cluster instance. + +For a kubernetes controller: + + - packagegroup-k8s-host + +For a kubernetes worker/node: + + - packagegroup-k8s-node + +If kernel issues or missing features are detected, consider adding the +"kernel-modules" package to your image (Since the configuration and RDEPENDS +may not be correct for your kernel + k8s version). + +## CNI + +The CNI base packages provide core support and are installed by default as +dependencies of the kubernetes packages. Minimal configuration and startup +are provided, but you will need to apply the CNI configuration of your choice +after boot (see below fo an example) + +## Configure and initialize the host + +A convenience script "k8s-init" is provided to do basic setup on the controller +node. After the contoller boots, run it for kubeadm setup and other basic +configuration. + +Once the node is ready ('kubectl get nodes' to check), follow the instructions +for copying the token to your home directory, and apply the networking configuration +of choice (flannel in the example): + +```shell + % mkdir -p $HOME/.kube + % cp -i /etc/kubernetes/admin.conf $HOME/.kube/config + % chown $(id -u):$(id -g) $HOME/.kube/config + + % kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml +``` + +## Configuration and initialize the node/worker + +Once the kubernetes node has booted, it is ready to join the cluster. Some +basica configuration is done via the packages and a systctl.d configuration +snippet. + +Join the cluster (substitute your controller ip and token information): + +```shell +kubeadm join <controller ip>:6443 --token cq8ngi.6m6mgqi9zf08ypc4 --discovery-token-ca-cert-hash sha256:6064ae531c8dad824f9eadff030f83ec84d00796fac75f1adbd343255eb34fd2 +``` + +## Notes: + +Memory: + + if running under qemu, the default of 256M of memory is not enough, k3s will + OOM and exit. + + Boot with qemuparams="-m 2048" to boot with 2G of memory (or choose the + appropriate amount for your configuration) + +CPUs: + + Kubernetes needs at least two cpus, so ensure your qemuboot is smp of at + least 2, and/or that your hardware has the required capabilties. + +Disk: + + if using qemu and core-image* you'll need to add extra space in your disks + to ensure containers can start. The following in your image recipe, or + local.conf would add 2G of extra space to the rootfs: + +```shell +IMAGE_ROOTFS_EXTRA_SPACE = "2097152" +``` + +## Example qemux86-64 boot line: + +```shell +runqemu qemux86-64 nographic kvm slirp qemuparams="-m 2048" +``` +k8s logs can be seen via: + +```shell +% journalctl -u kubelet +``` + +or + +```shell +% journalctl -xe +``` + +## Example output from qemux86-64: + +If you've lost the join token, you can create a new one, or list existing +ones: + +```shell +root@qemux86-64-7b:~# kubeadm token create --print-join-command +kubeadm join 10.10.10.117:6443 --token dr71zq.y5vi3s2n2antvcej --discovery-token-ca-cert-hash sha256:6064ae531c8dad824f9eadff030f83ec84d00796fac75f1adbd343255eb34fd2 + +root@qemux86-64-7b:~# kubeadm token list +TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS +cq8ngi.6m6mgqi9zf08ypc4 23h 2021-12-16T16:58:02Z authentication,signing The default bootstrap token generated by 'kubeadm init'. system:bootstrappers:kubeadm:default-node-token +dr71zq.y5vi3s2n2antvcej 23h 2021-12-16T17:46:28Z authentication,signing <none> system:bootstrappers:kubeadm:default-node-token +``` + +```shell +root@qemux86-64:~# kubectl get nodes +NAME STATUS ROLES AGE VERSION +qemux86-64-7b Ready control-plane,master 51m v1.23.1-rc.0.1+dd1b0a12471310-dirty +qemux86-64-9d Ready <none> 49m v1.23.1-rc.0.1+dd1b0a12471310-dirty +``` diff --git a/recipes-containers/kubernetes/kubernetes/0001-Makefile.generated_files-Fix-race-issue-for-installi.patch b/recipes-containers/kubernetes/kubernetes/0001-Makefile.generated_files-Fix-race-issue-for-installi.patch deleted file mode 100644 index 02bb5e91..00000000 --- a/recipes-containers/kubernetes/kubernetes/0001-Makefile.generated_files-Fix-race-issue-for-installi.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 441df8a24a2c80e320f140b5d9bc352c7ce8a64a Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Thu, 15 Oct 2020 07:27:35 +0000 -Subject: [PATCH] src/import/build/root/Makefile.generated_files: Fix race issue for installing - go2make - -The src/import/build/root/Makefile.generated_files are called several times during the build, so the -following target which installs go2make will also run several times: - -$(META_DIR)/$(GO_PKGDEPS_FILE): FORCE - -It runs automatically when the Makefile is called because of: -sinclude $(META_DIR)/$(GO_PKGDEPS_FILE) - -So there is a race issue of go2make when parallel build: -hack/run-in-gopath.sh: line 34: build/tmp-glibc/work/corei7-64-wrs-linux/kubernetes/1.18.8-r0/git/src/import/_output/local/go/bin/go2make: No such file or directory - -It is because the first process is using go2make, but then the second process -removes it and reinstall it. - -Check whether go2make has been installed or not before install it can fix the -problem. - -Upstream-Status: Pending - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - src/import/build/root/Makefile.generated_files | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: kubernetes-v1.21.1+git45da3fc33872083fb225c1a8c4d03e530d6f7630/src/import/build/root/Makefile.generated_files -=================================================================== ---- kubernetes-v1.21.1+git45da3fc33872083fb225c1a8c4d03e530d6f7630.orig/src/import/build/root/Makefile.generated_files -+++ kubernetes-v1.21.1+git45da3fc33872083fb225c1a8c4d03e530d6f7630/src/import/build/root/Makefile.generated_files -@@ -67,7 +67,9 @@ - if [[ "$(DBG_CODEGEN)" == 1 ]]; then \ - echo "DBG: calculating Go dependencies"; \ - fi -- hack/run-in-gopath.sh go install ./hack/make-rules/helpers/go2make -+ if [ ! -e _output/local/go/bin/go2make ]; then \ -+ hack/run-in-gopath.sh go install ./hack/make-rules/helpers/go2make; \ -+ fi - hack/run-in-gopath.sh go2make \ - k8s.io/kubernetes/... \ - --prune k8s.io/kubernetes/staging \ diff --git a/recipes-containers/kubernetes/kubernetes/0001-build-golang.sh-convert-remaining-go-calls-to-use.patch b/recipes-containers/kubernetes/kubernetes/0001-build-golang.sh-convert-remaining-go-calls-to-use.patch index 8adbafb3..ae956794 100644 --- a/recipes-containers/kubernetes/kubernetes/0001-build-golang.sh-convert-remaining-go-calls-to-use.patch +++ b/recipes-containers/kubernetes/kubernetes/0001-build-golang.sh-convert-remaining-go-calls-to-use.patch @@ -3,16 +3,18 @@ From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Wed, 12 Aug 2020 16:01:49 +0000 Subject: [PATCH] build/golang.sh: convert remaining 'go' calls to use +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- hack/lib/golang.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/src/import/hack/lib/golang.sh b/src/import/hack/lib/golang.sh -index e9148ec08fa..71d3c987563 100755 ---- a/src/import/hack/lib/golang.sh -+++ b/src/import/hack/lib/golang.sh -@@ -651,7 +651,7 @@ kube::golang::build_some_binaries() { +Index: kubernetes/hack/lib/golang.sh +=================================================================== +--- kubernetes.orig/hack/lib/golang.sh ++++ kubernetes/hack/lib/golang.sh +@@ -689,7 +689,7 @@ kube::golang::create_coverage_dummy_test "${package}" kube::util::trap_add "kube::golang::delete_coverage_dummy_test \"${package}\"" EXIT @@ -21,31 +23,28 @@ index e9148ec08fa..71d3c987563 100755 -covermode count \ -coverpkg k8s.io/...,k8s.io/kubernetes/vendor/k8s.io/... \ "${build_args[@]}" \ -@@ -663,13 +663,13 @@ kube::golang::build_some_binaries() { +@@ -701,13 +701,13 @@ done if [[ "${#uncovered[@]}" != 0 ]]; then V=2 kube::log::info "Building ${uncovered[*]} without coverage..." -- go install "${build_args[@]}" "${uncovered[@]}" -+ $GO install "${build_args[@]}" "${uncovered[@]}" +- GO111MODULE=on GOPROXY=off go install "${build_args[@]}" "${uncovered[@]}" ++ GO111MODULE=on GOPROXY=off $GO install "${build_args[@]}" "${uncovered[@]}" else V=2 kube::log::info "Nothing to build without coverage." fi else V=2 kube::log::info "Coverage is disabled." -- go install "${build_args[@]}" "$@" -+ $GO install "${build_args[@]}" "$@" +- GO111MODULE=on GOPROXY=off go install "${build_args[@]}" "$@" ++ GO111MODULE=on GOPROXY=off $GO install "${build_args[@]}" "$@" fi } -@@ -725,7 +725,7 @@ kube::golang::build_binaries_for_platform() { +@@ -769,7 +769,7 @@ testpkg=$(dirname "${test}") mkdir -p "$(dirname "${outfile}")" - go test -c \ + $GO test -c \ ${goflags:+"${goflags[@]}"} \ - -gcflags "${gogcflags:-}" \ - -asmflags "${goasmflags:-}" \ --- -2.19.1 - + -gcflags="${gogcflags}" \ + -asmflags="${goasmflags}" \ diff --git a/recipes-containers/kubernetes/kubernetes/0001-build-hack-allow-go-1.20-building.patch b/recipes-containers/kubernetes/kubernetes/0001-build-hack-allow-go-1.20-building.patch new file mode 100644 index 00000000..ac2d8c47 --- /dev/null +++ b/recipes-containers/kubernetes/kubernetes/0001-build-hack-allow-go-1.20-building.patch @@ -0,0 +1,35 @@ +From 6f67131b030c4c228cabb33d45ae9330cbf8fa0a Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Tue, 27 Feb 2024 18:05:54 +0000 +Subject: [PATCH] build/hack: allow go 1.20 building + +Although k8s checks for, and demands, golang 1.21.x, runtime +tests show that golang 1.20.x is properly building and providing +enough for core functionality. + +In an effort to see what else may be lurking, we patch out the +check to allow builds with our 1.20.x toolchain. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + hack/lib/golang.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh +index 588288285bb..eb2bcc917b8 100755 +--- a/hack/lib/golang.sh ++++ b/hack/lib/golang.sh +@@ -499,7 +499,7 @@ Detected go version: ${go_version[*]}. + Kubernetes requires ${minimum_go_version} or greater. + Please install ${minimum_go_version} or later. + EOF +- return 2 ++ return 0 + fi + } + +-- +2.39.2 + diff --git a/recipes-containers/kubernetes/kubernetes/0001-cross-don-t-build-tests-by-default.patch b/recipes-containers/kubernetes/kubernetes/0001-cross-don-t-build-tests-by-default.patch index 659e3013..c24088f1 100644 --- a/recipes-containers/kubernetes/kubernetes/0001-cross-don-t-build-tests-by-default.patch +++ b/recipes-containers/kubernetes/kubernetes/0001-cross-don-t-build-tests-by-default.patch @@ -10,15 +10,17 @@ In our case, we are cross building and can't build the server test components without error. As such, we patch the targets out of the script to allow a successful build. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> --- hack/make-rules/cross.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/src/import/hack/make-rules/cross.sh b/hack/make-rules/cross.sh +diff --git a/hack/make-rules/cross.sh b/hack/make-rules/cross.sh index 8e1e938..0898c5c 100755 ---- a/src/import/hack/make-rules/cross.sh -+++ b/src/import/hack/make-rules/cross.sh +--- a/hack/make-rules/cross.sh ++++ b/hack/make-rules/cross.sh @@ -33,6 +33,6 @@ make all WHAT="${KUBE_NODE_TARGETS[*]}" KUBE_BUILD_PLATFORMS="${KUBE_NODE_PLATFO make all WHAT="${KUBE_CLIENT_TARGETS[*]}" KUBE_BUILD_PLATFORMS="${KUBE_CLIENT_PLATFORMS[*]}" diff --git a/recipes-containers/kubernetes/kubernetes/0001-generate-bindata-unset-GOBIN.patch b/recipes-containers/kubernetes/kubernetes/0001-generate-bindata-unset-GOBIN.patch deleted file mode 100644 index 95196efa..00000000 --- a/recipes-containers/kubernetes/kubernetes/0001-generate-bindata-unset-GOBIN.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3a43ae2df86f8609d5b88863caf19667420ec171 Mon Sep 17 00:00:00 2001 -From: Bruce Ashfield <bruce.ashfield@gmail.com> -Date: Fri, 31 Jul 2020 18:39:38 +0000 -Subject: [PATCH] generate-bindata: unset GOBIN - -go install is more strict with recent releases and when cross-compiling -will generate the following error if GOBIN is set: - - | go install: cannot install cross-compiled binaries when GOBIN is set - | make[2]: *** [Makefile.generated_files:622: gen_bindata] Error 1 - | make[1]: *** [Makefile:545: generated_files] Error 2 - | make: *** [Makefile:506: cross] Error 1 - | WARNING: exit code 2 from a shell command. - -So we explicitly unset GOBIN to avoid the issue. - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - src/import/hack/generate-bindata.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/import/hack/generate-bindata.sh b/src/import/hack/generate-bindata.sh -index c12da77e54b..9a9f8ac3b2f 100755 ---- a/src/import/hack/generate-bindata.sh -+++ b/src/import/hack/generate-bindata.sh -@@ -33,6 +33,7 @@ export GOBIN="${KUBE_OUTPUT_BINPATH}" - PATH="${GOBIN}:${PATH}" - - # Install tools we need, but only from vendor/... -+unset GOBIN - go install k8s.io/kubernetes/vendor/github.com/go-bindata/go-bindata/go-bindata - - # run the generation from the root directory for stable output --- -2.19.1 - diff --git a/recipes-containers/kubernetes/kubernetes/0001-hack-lib-golang.sh-use-CC-from-environment.patch b/recipes-containers/kubernetes/kubernetes/0001-hack-lib-golang.sh-use-CC-from-environment.patch index 3a22a2ef..15e8ffa5 100644 --- a/recipes-containers/kubernetes/kubernetes/0001-hack-lib-golang.sh-use-CC-from-environment.patch +++ b/recipes-containers/kubernetes/kubernetes/0001-hack-lib-golang.sh-use-CC-from-environment.patch @@ -1,21 +1,25 @@ -From 9cbb2d523d481053d405ebac830c2074b00d3417 Mon Sep 17 00:00:00 2001 +From 116ccf93eef322db23e3bd4f35b12be09ebfbde5 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen.kooi@linaro.org> Date: Mon, 23 Jul 2018 15:28:02 +0200 -Subject: [PATCH] hack/lib/golang.sh: use CC from environment +Subject: [PATCH 1/2] hack/lib/golang.sh: use CC from environment Toolchain tupples differs, especially when using vendor provides ones. -Upstream-status: Inappropriate [embedded specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Koen Kooi <koen.kooi@linaro.org> --- - hack/lib/golang.sh | 4 ---- - 1 file changed, 4 deletions(-) + hack/lib/golang.sh | 5 ----- + 1 file changed, 5 deletions(-) -Index: kubernetes-v1.21.1+git45da3fc33872083fb225c1a8c4d03e530d6f7630/src/import/hack/lib/golang.sh -=================================================================== ---- kubernetes-v1.21.1+git45da3fc33872083fb225c1a8c4d03e530d6f7630.orig/src/import/hack/lib/golang.sh -+++ kubernetes-v1.21.1+git45da3fc33872083fb225c1a8c4d03e530d6f7630/src/import/hack/lib/golang.sh -@@ -414,19 +414,15 @@ +diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh +index fb97ee76783..0ed2d719dd1 100755 +--- a/hack/lib/golang.sh ++++ b/hack/lib/golang.sh +@@ -419,23 +419,18 @@ kube::golang::set_platform_envs() { + case "${platform}" in + "linux/amd64") + export CGO_ENABLED=1 +- export CC=${KUBE_LINUX_AMD64_CC:-x86_64-linux-gnu-gcc} ;; "linux/arm") export CGO_ENABLED=1 @@ -35,3 +39,6 @@ Index: kubernetes-v1.21.1+git45da3fc33872083fb225c1a8c4d03e530d6f7630/src/import ;; esac fi +-- +2.37.1 + diff --git a/recipes-containers/kubernetes/kubernetes/99-kubernetes.conf b/recipes-containers/kubernetes/kubernetes/99-kubernetes.conf new file mode 100644 index 00000000..89331ca2 --- /dev/null +++ b/recipes-containers/kubernetes/kubernetes/99-kubernetes.conf @@ -0,0 +1 @@ +net.ipv4.ip_forward = 1 diff --git a/recipes-containers/kubernetes/kubernetes/cni-containerd-net.conflist b/recipes-containers/kubernetes/kubernetes/cni-containerd-net.conflist new file mode 100644 index 00000000..ca434d6f --- /dev/null +++ b/recipes-containers/kubernetes/kubernetes/cni-containerd-net.conflist @@ -0,0 +1,24 @@ +{ + "cniVersion": "0.4.0", + "name": "containerd-net", + "plugins": [ + { + "type": "bridge", + "bridge": "cni0", + "isGateway": true, + "ipMasq": true, + "promiscMode": true, + "ipam": { + "type": "host-local", + "subnet": "10.88.0.0/16", + "routes": [ + { "dst": "0.0.0.0/0" } + ] + } + }, + { + "type": "portmap", + "capabilities": {"portMappings": true} + } + ] +} diff --git a/recipes-containers/kubernetes/kubernetes/k8s-init b/recipes-containers/kubernetes/kubernetes/k8s-init new file mode 100644 index 00000000..8aaa86e8 --- /dev/null +++ b/recipes-containers/kubernetes/kubernetes/k8s-init @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2021 Bruce Ashfield +# +# SPDX-License-Identifier: Apache-2.0 + +# cleanup the iptables +if [ -f /etc/sysconfig/iptables ]; then + cp /etc/sysconfig/iptables /etc/sysconfig/iptables.ORIG +fi +iptables --flush && iptables --flush && iptables-save > /etc/sysconfig/iptables +systemctl restart iptables.service + +# Load/Enable br_netfilter kernel module +modprobe br_netfilter +modprobe overlay + +echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables +echo '1' > /proc/sys/net/bridge/bridge-nf-call-ip6tables +echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.d/k8s.conf +echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.d/k8s.conf +echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.d/k8s.conf + +systemctl restart systemd-sysctl.service + +kubeadm init + +# Copy the cluster configuration to the regular users home directory +mkdir -p $HOME/.kube +cp -i /etc/kubernetes/admin.conf $HOME/.kube/config +chown $(id -u):$(id -g) $HOME/.kube/config diff --git a/recipes-containers/kubernetes/kubernetes_git.bb b/recipes-containers/kubernetes/kubernetes_git.bb index 372c6dab..caa5ec17 100644 --- a/recipes-containers/kubernetes/kubernetes_git.bb +++ b/recipes-containers/kubernetes/kubernetes_git.bb @@ -1,21 +1,39 @@ -HOMEPAGE = "git://github.com/kubernetes/kubernetes" +HOMEPAGE = "git://github.com/kubernetes/kubernetes;branch=master;protocol=https" SUMMARY = "Production-Grade Container Scheduling and Management" DESCRIPTION = "Kubernetes is an open source system for managing containerized \ applications across multiple hosts, providing basic mechanisms for deployment, \ maintenance, and scaling of applications. \ " -PV = "v1.21.1+git${SRCREV_kubernetes}" -SRCREV_kubernetes = "45da3fc33872083fb225c1a8c4d03e530d6f7630" -SRCREV_kubernetes-release = "7c1aa83dac555de6f05500911467b70aca4949f0" +PV = "v1.29.1+git${SRCREV_kubernetes}" +CVE_VERSION = "1.29.1" +SRCREV_kubernetes = "a02da633101bd7919153dd56412b09221c0139bf" +SRCREV_kubernetes-release = "21382abdbfa8e6a43fd417306fa649cb651cc06e" +PE = "1" -SRC_URI = "git://github.com/kubernetes/kubernetes.git;branch=release-1.21;name=kubernetes \ - git://github.com/kubernetes/release;branch=master;name=kubernetes-release;destsuffix=git/release \ +BBCLASSEXTEND = "devupstream:target" +LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" +DEFAULT_PREFERENCE:class-devupstream = "-1" +SRC_URI:class-devupstream = "git://github.com/kubernetes/kubernetes.git;branch=release-1.29;name=kubernetes;protocol=https \ + git://github.com/kubernetes/release;branch=master;name=kubernetes-release;destsuffix=git/release;protocol=https \ + " +SRCREV_kubernetes:class-devupstream = "e3b5e621f07f0fee298f641ebded61b8f393fe27" +SRCREV_kubernetes-release:class-devupstream = "21382abdbfa8e6a43fd417306fa649cb651cc06e" +PV:class-devupstream = "v1.28.2+git${SRCREV_kubernetes}" + +SRCREV_FORMAT ?= "kubernetes_release" + +SRC_URI = "git://github.com/kubernetes/kubernetes.git;branch=release-1.29;name=kubernetes;protocol=https;destsuffix=git/src/github.com/kubernetes/kubernetes \ + git://github.com/kubernetes/release;branch=master;name=kubernetes-release;destsuffix=git/release;protocol=https" + +SRC_URI:append = " \ file://0001-hack-lib-golang.sh-use-CC-from-environment.patch \ file://0001-cross-don-t-build-tests-by-default.patch \ - file://0001-generate-bindata-unset-GOBIN.patch \ file://0001-build-golang.sh-convert-remaining-go-calls-to-use.patch \ - file://0001-Makefile.generated_files-Fix-race-issue-for-installi.patch \ + file://0001-build-hack-allow-go-1.20-building.patch \ + file://cni-containerd-net.conflist \ + file://k8s-init \ + file://99-kubernetes.conf \ " DEPENDS += "rsync-native \ @@ -24,23 +42,21 @@ DEPENDS += "rsync-native \ " LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" GO_IMPORT = "import" +S = "${WORKDIR}/git/src/github.com/kubernetes/kubernetes" inherit systemd inherit go inherit goarch +inherit cni_networking COMPATIBLE_HOST = '(x86_64.*|arm.*|aarch64.*)-linux' do_compile() { - # link fixups for compilation - rm -f ${S}/src/import/vendor/src - ln -sf ./ ${S}/src/import/vendor/src - - export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go" - cd ${S}/src/import + export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${WORKDIR}/git/" + cd ${S} # Build the host tools first, using the host compiler export GOARCH="${BUILD_GOARCH}" @@ -51,11 +67,19 @@ do_compile() { export CGO_CFLAGS="${BUILD_CFLAGS}" # as of go 1.15.5, there are some flags the CGO doesn't like. Rather than # clearing them all, we sed away the ones we don't want. - export CGO_LDFLAGS="$(echo ${BUILD_LDFLAGS} | sed 's/-Wl,-O1//g' | sed 's/-Wl,--dynamic-linker.*?( \|$\)//g')" + export CGO_LDFLAGS="$(echo ${BUILD_LDFLAGS} | sed 's/-Wl,-O1//g' | sed 's/-Wl,--dynamic-linker.*?\( \|$\)//g')" export CC="${BUILD_CC}" export LD="${BUILD_LD}" - make generated_files GO="go" KUBE_BUILD_PLATFORMS="${HOST_GOOS}/${BUILD_GOARCH}" + # set the toolchain to local to avoid an attempted fetch of + # valiation by the build + # https://github.com/actions/setup-go/issues/420 + export GOTOOLCHAIN="local" + + # make generated_files GO="go" KUBE_BUILD_PLATFORMS="${HOST_GOOS}/${BUILD_GOARCH}" + # is replaced by: + # ./hack/update-codegen.sh + # but we don't appear to need either anymore, but we leave them as a placeholder/reminder # Build the target binaries export GOARCH="${TARGET_GOARCH}" @@ -70,7 +94,7 @@ do_compile() { export GOBIN="" # to limit what is built, use 'WHAT', i.e. make WHAT=cmd/kubelet - make cross CGO_FLAGS=${CGO_FLAGS} GO=${GO} KUBE_BUILD_PLATFORMS=${GOOS}/${GOARCH} GOLDFLAGS="" + make cross CGO_FLAGS=${CGO_FLAGS} GO=${GO} KUBE_BUILD_PLATFORMS=${GOOS}/${GOARCH} GOLDFLAGS="" DBG=1 } do_install() { @@ -80,38 +104,69 @@ do_install() { install -d ${D}${sysconfdir}/kubernetes/manifests/ - install -m 755 -D ${S}/src/import/_output/local/bin/${TARGET_GOOS}/${TARGET_GOARCH}/* ${D}/${bindir} + install -m 755 -D ${S}/_output/local/bin/${TARGET_GOOS}/${TARGET_GOARCH}/* ${D}/${bindir} install -m 0644 ${WORKDIR}/git/release/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service ${D}${systemd_unitdir}/system/ install -m 0644 ${WORKDIR}/git/release/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf ${D}${systemd_unitdir}/system/kubelet.service.d/ + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d "${D}${BIN_PREFIX}${base_bindir}" + install -m 755 "${WORKDIR}/k8s-init" "${D}${BIN_PREFIX}${base_bindir}" + + install -d ${D}${sysconfdir}/sysctl.d + install -m 0644 "${WORKDIR}/99-kubernetes.conf" "${D}${sysconfdir}/sysctl.d" + fi } -PACKAGES =+ "kubeadm kubectl kubelet kube-proxy ${PN}-misc" +CNI_NETWORKING_FILES ?= "${WORKDIR}/cni-containerd-net.conflist" + +PACKAGES =+ "kubeadm kubectl kubelet kube-proxy ${PN}-misc ${PN}-host" -ALLOW_EMPTY_${PN} = "1" -INSANE_SKIP_${PN} += "ldflags already-stripped" -INSANE_SKIP_${PN}-misc += "ldflags already-stripped" +ALLOW_EMPTY:${PN} = "1" +INSANE_SKIP:${PN} += "ldflags already-stripped" +INSANE_SKIP:${PN}-misc += "ldflags already-stripped textrel" +INSANE_SKIP:kubelet += "ldflags already-stripped" # Note: we are explicitly *not* adding docker to the rdepends, since we allow # backends like cri-o to be used. -RDEPENDS_${PN} += "kubeadm \ +RDEPENDS:${PN} += "kubeadm \ kubectl \ kubelet \ - cni" + kubernetes-cni" -RDEPENDS_kubeadm = "kubelet kubectl" -FILES_kubeadm = "${bindir}/kubeadm ${systemd_unitdir}/system/kubelet.service.d/*" +RDEPENDS:kubeadm = "kubelet kubectl cri-tools conntrack-tools" +FILES:kubeadm = "${bindir}/kubeadm ${systemd_unitdir}/system/kubelet.service.d/*" -RDEPENDS_kubelet = "iptables socat util-linux ethtool iproute2 ebtables iproute2-tc" -FILES_kubelet = "${bindir}/kubelet ${systemd_unitdir}/system/kubelet.service ${sysconfdir}/kubernetes/manifests/" +RDEPENDS:kubelet = "iptables socat util-linux ethtool iproute2 ebtables iproute2-tc" +FILES:kubelet = "${bindir}/kubelet ${systemd_unitdir}/system/kubelet.service ${sysconfdir}/kubernetes/manifests/" SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','kubelet','',d)}" -SYSTEMD_SERVICE_kubelet = "${@bb.utils.contains('DISTRO_FEATURES','systemd','kubelet.service','',d)}" -SYSTEMD_AUTO_ENABLE_kubelet = "enable" - -FILES_kubectl = "${bindir}/kubectl" -FILES_kube-proxy = "${bindir}/kube-proxy" -FILES_${PN}-misc = "${bindir}" - +SYSTEMD_SERVICE:kubelet = "${@bb.utils.contains('DISTRO_FEATURES','systemd','kubelet.service','',d)}" +SYSTEMD_AUTO_ENABLE:kubelet = "enable" + +FILES:kubectl = "${bindir}/kubectl" +FILES:kube-proxy = "${bindir}/kube-proxy" +FILES:${PN}-misc = "${bindir} ${sysconfdir}/sysctl.d" + +ALLOW_EMPTY:${PN}-host = "1" +FILES:${PN}-host = "${BIN_PREFIX}${base_bindir}/k8s-init" +RDEPENDS:${PN}-host = "${PN}" + +RRECOMMENDS:${PN} = "\ + kernel-module-xt-addrtype \ + kernel-module-xt-nat \ + kernel-module-xt-multiport \ + kernel-module-xt-conntrack \ + kernel-module-xt-comment \ + kernel-module-xt-mark \ + kernel-module-xt-connmark \ + kernel-module-vxlan \ + kernel-module-xt-masquerade \ + kernel-module-xt-statistic \ + kernel-module-xt-physdev \ + kernel-module-xt-nflog \ + kernel-module-xt-limit \ + kernel-module-nfnetlink-log \ + " deltask compile_ptest_base diff --git a/recipes-containers/lxc/README b/recipes-containers/lxc/README new file mode 100644 index 00000000..e6e3f1af --- /dev/null +++ b/recipes-containers/lxc/README @@ -0,0 +1,23 @@ +install: +-------- + + Install the following packages to your image: + + IMAGE_INSTALL:append = "lxc lxc-networking kernel-modules" + + These will put the core lxc application and networking onto your image. + No other configuration is required for a basic system. + + Note: has only been tested with systemd, sysvinit patches are welcome + + Note: Partially conflicts with packages such as k3s, networking will fail to + start. + +sample test: +----------- + + % lxc-create -n test -t download -- --server us.lxd.images.canonical.com -d alpine -r 3.16 -a amd64 + % lxc-start test + % lxc-console test + + diff --git a/recipes-containers/lxc/files/0001-download-don-t-try-compatbility-index.patch b/recipes-containers/lxc/files/0001-download-don-t-try-compatbility-index.patch new file mode 100644 index 00000000..a1e5fb67 --- /dev/null +++ b/recipes-containers/lxc/files/0001-download-don-t-try-compatbility-index.patch @@ -0,0 +1,45 @@ +From d69c856f90c752637b33e59fbbcfa31f619e2285 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Sun, 14 Aug 2022 22:44:24 -0400 +Subject: [PATCH] download: don't try compatbility index + +This is being mistaken for a valid, non compat index .. and we never +try for the one that exists (the index without a compatibility +extension). So we just drop the compat try for now. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + templates/lxc-download.in | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/templates/lxc-download.in b/templates/lxc-download.in +index 9a3290fbc..216e4dda7 100755 +--- a/templates/lxc-download.in ++++ b/templates/lxc-download.in +@@ -234,9 +234,7 @@ if [ "${DOWNLOAD_LIST_IMAGES}" = "true" ] || [ "${DOWNLOAD_INTERACTIVE}" = "true + DOWNLOAD_INDEX_PATH="/meta/1.0/index-${DOWNLOAD_MODE}" + + echo "Downloading the image index" +- if ! download_file "${DOWNLOAD_INDEX_PATH}.${DOWNLOAD_COMPAT_LEVEL}" "${DOWNLOAD_TEMP}/index" noexit; then +- download_file "${DOWNLOAD_INDEX_PATH}" "${DOWNLOAD_TEMP}/index" normal +- fi ++ download_file "${DOWNLOAD_INDEX_PATH}" "${DOWNLOAD_TEMP}/index" normal + + # Parse it + echo "" +@@ -316,9 +314,7 @@ if [ "${DOWNLOAD_USE_CACHE}" = "false" ]; then + DOWNLOAD_INDEX_PATH="/meta/1.0/index-${DOWNLOAD_MODE}" + + echo "Downloading the image index" +- if ! download_file "${DOWNLOAD_INDEX_PATH}.${DOWNLOAD_COMPAT_LEVEL}" "${DOWNLOAD_TEMP}/index" noexit; then +- download_file "${DOWNLOAD_INDEX_PATH}" "${DOWNLOAD_TEMP}/index" normal +- fi ++ download_file "${DOWNLOAD_INDEX_PATH}" "${DOWNLOAD_TEMP}/index" normal + + # Parse it + while IFS=';' read -r f1 f2 f3 f4 f5 f6; do +-- +2.25.1 + diff --git a/recipes-containers/lxc/files/0001-lxc-test-usernic-drop-cgroup-handling.patch b/recipes-containers/lxc/files/0001-lxc-test-usernic-drop-cgroup-handling.patch new file mode 100644 index 00000000..162e8f9d --- /dev/null +++ b/recipes-containers/lxc/files/0001-lxc-test-usernic-drop-cgroup-handling.patch @@ -0,0 +1,61 @@ +From ec85e5ca4953292c4341497704ce738669a79b64 Mon Sep 17 00:00:00 2001 +From: Serge Hallyn <serge@hallyn.com> +Date: Fri, 2 Feb 2024 10:41:11 -0600 +Subject: [PATCH] lxc-test-usernic: drop cgroup handling + +This stuff is not needed in a modern systemd based system, and in fact +breaks. It would probably be better to detect such a system so that a +non-systemd box can still run this test. But I'm not sure what would be +reliable. + +Upstream-Status: Backport from +[https://github.com/lxc/lxc/commit/ec85e5ca4953292c4341497704ce738669a79b64] + +Signed-off-by: Serge Hallyn <serge@hallyn.com> +Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> +--- + src/tests/lxc-test-usernic.in | 28 ---------------------------- + 1 file changed, 28 deletions(-) + +diff --git a/src/tests/lxc-test-usernic.in b/src/tests/lxc-test-usernic.in +index 9af8678f3..49fd5e3f7 100755 +--- a/src/tests/lxc-test-usernic.in ++++ b/src/tests/lxc-test-usernic.in +@@ -80,34 +80,6 @@ lxc.idmap = u 0 910000 10000 + lxc.idmap = g 0 910000 10000 + EOF + +-if command -v cgm >/dev/null 2>&1; then +- cgm create all usernic-user +- cgm chown all usernic-user $(id -u usernic-user) $(id -g usernic-user) +- cgm movepid all usernic-user $$ +-elif [ -e /sys/fs/cgroup/cgmanager/sock ]; then +- for d in $(cut -d : -f 2 /proc/self/cgroup); do +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Create \ +- string:$d string:usernic-user >/dev/null +- +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Chown \ +- string:$d string:usernic-user int32:$(id -u usernic-user) int32:$(id -g usernic-user) >/dev/null +- +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.MovePid \ +- string:$d string:usernic-user int32:$$ >/dev/null +- done +-else +- for d in /sys/fs/cgroup/*; do +- [ "$d" = "/sys/fs/cgroup/unified" ] && continue +- [ -f $d/cgroup.clone_children ] && echo 1 > $d/cgroup.clone_children +- [ ! -d $d/lxctest ] && mkdir $d/lxctest +- chown -R usernic-user: $d/lxctest +- echo $$ > $d/lxctest/tasks +- done +-fi +- + mkdir -p /run/user/$(id -u usernic-user) + chown -R usernic-user: /run/user/$(id -u usernic-user) /home/usernic-user + +-- +2.35.5 + diff --git a/recipes-containers/lxc/files/0001-template-if-busybox-contains-init-use-it-in-containe.patch b/recipes-containers/lxc/files/0001-template-if-busybox-contains-init-use-it-in-containe.patch new file mode 100644 index 00000000..760ebe64 --- /dev/null +++ b/recipes-containers/lxc/files/0001-template-if-busybox-contains-init-use-it-in-containe.patch @@ -0,0 +1,45 @@ +From 2789860daaa7780e1542bb1c60a89860e5661739 Mon Sep 17 00:00:00 2001 +From: Xiangyu Chen <xiangyu.chen@windriver.com> +Date: Wed, 1 Mar 2023 09:25:35 +0800 +Subject: [PATCH] template: if busybox contains init, use it in container + +The lxc test code using busybox template, some cases would be failed or hang +if the init progress not from busybox. This cause ptest report lots of failed. + +The changes is checking whether the busybox has built-in init, if it has,use it. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> +--- + templates/lxc-busybox.in | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in +index dab7c1faf..e2beae7a4 100755 +--- a/templates/lxc-busybox.in ++++ b/templates/lxc-busybox.in +@@ -184,10 +184,16 @@ configure_busybox() + return 1 + fi + +- # copy bash binary as the container init +- if ! cp "$(which bash)" "${rootfs}/sbin/init"; then +- echo "ERROR: Failed to copy bash binary" +- return 1 ++ # checking whether busybox has init or not ++ if ! ${rootfs}/bin/busybox --list | grep "init" > /dev/null; then ++ # copy bash binary as the container init ++ if ! cp "$(which bash)" "${rootfs}/sbin/init"; then ++ echo "ERROR: Failed to copy bash binary" ++ return 1 ++ fi ++ else ++ # relink /sbin/init ++ ln "${rootfs}/bin/busybox" "${rootfs}/sbin/init" + fi + + +-- +2.34.1 + diff --git a/recipes-containers/lxc/files/0001-tests-remove-old-and-broken-cgroup-handling-code-fro.patch b/recipes-containers/lxc/files/0001-tests-remove-old-and-broken-cgroup-handling-code-fro.patch new file mode 100644 index 00000000..bf8df795 --- /dev/null +++ b/recipes-containers/lxc/files/0001-tests-remove-old-and-broken-cgroup-handling-code-fro.patch @@ -0,0 +1,103 @@ +From 8f9733d756361ff8f8d8d589f286c0e064b1195d Mon Sep 17 00:00:00 2001 +From: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> +Date: Thu, 15 Feb 2024 18:13:05 +0100 +Subject: [PATCH] tests: remove old and broken cgroup handling code from tests + +We have removed the same piece of code in +ec85e5ca495 ("lxc-test-usernic: drop cgroup handling") +let's do the same for two other tests. + +This fixes autopkgtests. + +Upstream-Status: Backport from +[https://github.com/lxc/lxc/commit/8f9733d756361ff8f8d8d589f286c0e064b1195d] + +Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> +Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> +--- + src/tests/lxc-test-apparmor-mount | 29 ----------------------------- + src/tests/lxc-test-unpriv | 28 ---------------------------- + 2 files changed, 57 deletions(-) + +diff --git a/src/tests/lxc-test-apparmor-mount b/src/tests/lxc-test-apparmor-mount +index 7c9d9ad50..ddf783d4b 100755 +--- a/src/tests/lxc-test-apparmor-mount ++++ b/src/tests/lxc-test-apparmor-mount +@@ -119,35 +119,6 @@ chown -R $TUSER: /run/user/$(id -u $TUSER) + + cd $HDIR + +-if command -v cgm >/dev/null 2>&1; then +- cgm create all $TUSER +- cgm chown all $TUSER $(id -u $TUSER) $(id -g $TUSER) +- cgm movepid all $TUSER $$ +-elif [ -e /sys/fs/cgroup/cgmanager/sock ]; then +- for d in $(cut -d : -f 2 /proc/self/cgroup); do +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Create \ +- string:$d string:$TUSER >/dev/null +- +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Chown \ +- string:$d string:$TUSER int32:$(id -u $TUSER) int32:$(id -g $TUSER) >/dev/null +- +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.MovePid \ +- string:$d string:$TUSER int32:$$ >/dev/null +- done +-else +- for d in /sys/fs/cgroup/*; do +- [ "$d" = "/sys/fs/cgroup/unified" ] && continue +- [ -f $d/cgroup.clone_children ] && echo 1 > $d/cgroup.clone_children +- [ ! -d $d/lxctest ] && mkdir $d/lxctest +- chown -R $TUSER: $d/lxctest +- echo $$ > $d/lxctest/tasks +- done +-fi +- +- + run_cmd lxc-create -t busybox -n $cname + + echo "test default confined container" +diff --git a/src/tests/lxc-test-unpriv b/src/tests/lxc-test-unpriv +index 8fb9106d6..426add9da 100755 +--- a/src/tests/lxc-test-unpriv ++++ b/src/tests/lxc-test-unpriv +@@ -130,34 +130,6 @@ chown -R $TUSER: /run/user/$(id -u $TUSER) + + cd $HDIR + +-if command -v cgm >/dev/null 2>&1; then +- cgm create all $TUSER +- cgm chown all $TUSER $(id -u $TUSER) $(id -g $TUSER) +- cgm movepid all $TUSER $$ +-elif [ -e /sys/fs/cgroup/cgmanager/sock ]; then +- for d in $(cut -d : -f 2 /proc/self/cgroup); do +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Create \ +- string:$d string:$TUSER >/dev/null +- +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Chown \ +- string:$d string:$TUSER int32:$(id -u $TUSER) int32:$(id -g $TUSER) >/dev/null +- +- dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \ +- --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.MovePid \ +- string:$d string:$TUSER int32:$$ >/dev/null +- done +-else +- for d in /sys/fs/cgroup/*; do +- [ "$d" = "/sys/fs/cgroup/unified" ] && continue +- [ -f $d/cgroup.clone_children ] && echo 1 > $d/cgroup.clone_children +- [ ! -d $d/lxctest ] && mkdir $d/lxctest +- chown -R $TUSER: $d/lxctest +- echo $$ > $d/lxctest/tasks +- done +-fi +- + run_cmd lxc-create -t busybox -n c1 -l trace -o "${UNPRIV_LOG}" + + # Make sure we can start it - twice +-- +2.35.5 + diff --git a/recipes-containers/lxc/files/commands-fix-check-for-seccomp-notify-support.patch b/recipes-containers/lxc/files/commands-fix-check-for-seccomp-notify-support.patch deleted file mode 100644 index 391af381..00000000 --- a/recipes-containers/lxc/files/commands-fix-check-for-seccomp-notify-support.patch +++ /dev/null @@ -1,44 +0,0 @@ -From a342b11fedb3010630de4909ca707ebdc0862060 Mon Sep 17 00:00:00 2001 -From: Eneas U de Queiroz <cotequeiroz@gmail.com> -Date: Fri, 25 Dec 2020 13:54:14 -0300 -Subject: [PATCH] commands: fix check for seccomp notify support - -Use HAVE_SECCOMP_NOTIFY instead of HAVE_DECL_SECCOMP_NOTIFY_FD. -Currently the latter will be true if the declaration is found by -configure, even if 'configure --disable-seccomp' is used. - -HAVE_SECCOMP_NOTIFY is defined in lxcseccomp.h if both HAVE_SECCOMP and -HAVE_DECL_SECCOMP_NOTIFY_FD are true, which is the correct behavior. - -Upstream-status: submitted https://github.com/lxc/lxc/pull/3623 - -Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com> ---- - src/lxc/commands.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/lxc/commands.c b/src/lxc/commands.c -index a9a03ca2c..37d1abcef 100644 ---- a/src/lxc/commands.c -+++ b/src/lxc/commands.c -@@ -501,7 +501,7 @@ static int lxc_cmd_get_devpts_fd_callback(int fd, struct lxc_cmd_req *req, - - int lxc_cmd_get_seccomp_notify_fd(const char *name, const char *lxcpath) - { --#if HAVE_DECL_SECCOMP_NOTIFY_FD -+#ifdef HAVE_SECCOMP_NOTIFY - int ret, stopped; - struct lxc_cmd_rr cmd = { - .req = { -@@ -526,7 +526,7 @@ static int lxc_cmd_get_seccomp_notify_fd_callback(int fd, struct lxc_cmd_req *re - struct lxc_handler *handler, - struct lxc_epoll_descr *descr) - { --#if HAVE_DECL_SECCOMP_NOTIFY_FD -+#ifdef HAVE_SECCOMP_NOTIFY - struct lxc_cmd_rsp rsp = { - .ret = 0, - }; --- -2.17.1 - diff --git a/recipes-containers/lxc/files/configure-skip-libseccomp-tests-if-it-is-disabled.patch b/recipes-containers/lxc/files/configure-skip-libseccomp-tests-if-it-is-disabled.patch deleted file mode 100644 index 43c91bab..00000000 --- a/recipes-containers/lxc/files/configure-skip-libseccomp-tests-if-it-is-disabled.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 67cd8bde2d46983df8fa9f647e9fc0b96370ec29 Mon Sep 17 00:00:00 2001 -From: Eneas U de Queiroz <cotequeiroz@gmail.com> -Date: Sat, 16 Jan 2021 13:54:07 -0300 -Subject: [PATCH] configure: skip libseccomp tests if it is disabled - -Move the block checking for libseccomp api compatibility inside -AM_COND_IF([ENABLE_SECCOMP] ... ). - -Upstream-Status: submitted [https://github.com/lxc/lxc/pull/3623] - -Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com> ---- - configure.ac | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -diff --git a/configure.ac b/configure.ac -index f58487f5d..ce6363136 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -312,6 +312,14 @@ AM_COND_IF([ENABLE_SECCOMP], - AC_CHECK_LIB([seccomp], [seccomp_init],[],[AC_MSG_ERROR([You must install the seccomp development package in order to compile lxc])]) - AC_SUBST([SECCOMP_LIBS], [-lseccomp]) - ]) -+ # HAVE_SCMP_FILTER_CTX=1 will tell us we have libseccomp api >= 1.0.0 -+ OLD_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS $SECCOMP_CFLAGS" -+ AC_CHECK_TYPES([scmp_filter_ctx], [], [], [[#include <seccomp.h>]]) -+ AC_CHECK_DECLS([seccomp_notify_fd], [], [], [[#include <seccomp.h>]]) -+ AC_CHECK_TYPES([struct seccomp_notif_sizes], [], [], [[#include <seccomp.h>]]) -+ AC_CHECK_DECLS([seccomp_syscall_resolve_name_arch], [], [], [[#include <seccomp.h>]]) -+ CFLAGS="$OLD_CFLAGS" - ]) - - AC_MSG_CHECKING(for static libcap) -@@ -359,15 +367,6 @@ AM_COND_IF([ENABLE_CAP], - AC_CHECK_LIB(cap,cap_get_file, AC_DEFINE(LIBCAP_SUPPORTS_FILE_CAPABILITIES,1,[Have cap_get_file]),[],[]) - AC_SUBST([CAP_LIBS], [-lcap])]) - --# HAVE_SCMP_FILTER_CTX=1 will tell us we have libseccomp api >= 1.0.0 --OLD_CFLAGS="$CFLAGS" --CFLAGS="$CFLAGS $SECCOMP_CFLAGS" --AC_CHECK_TYPES([scmp_filter_ctx], [], [], [[#include <seccomp.h>]]) --AC_CHECK_DECLS([seccomp_notify_fd], [], [], [[#include <seccomp.h>]]) --AC_CHECK_TYPES([struct seccomp_notif_sizes], [], [], [[#include <seccomp.h>]]) --AC_CHECK_DECLS([seccomp_syscall_resolve_name_arch], [], [], [[#include <seccomp.h>]]) --CFLAGS="$OLD_CFLAGS" -- - AC_CHECK_HEADERS([linux/bpf.h], [ - AC_CHECK_TYPES([struct bpf_cgroup_dev_ctx], [], [], [[#include <linux/bpf.h>]]) - ], [], []) --- -2.17.1 - diff --git a/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch b/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch deleted file mode 100644 index a8c76bc8..00000000 --- a/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 0cfa202f5d96a35692f063f35bf4706f310b17e4 Mon Sep 17 00:00:00 2001 -From: Jim Somerville <Jim.Somerville@windriver.com> -Date: Fri, 25 Sep 2015 15:08:17 -0400 -Subject: [PATCH] logs: optionally use base filenames to report src files - -Message-Id: <4729d0f4c4d1dacd150ddfd7061dda875eb94e34.1443216870.git.Jim.Somerville@windriver.com> - -Problem: Logs are nice in that they report the source file, -routine, and line number where an issue occurs. But the -file is printed as the absolute filename. Users do not -need to see a long spew of path directory names where the package -was built. It just confuses things. - -Solution: Optionally chop off all leading directories so that just -the source filename ie. basename is printed. This is done by -setting a #ifdef LXC_LOG_USE_BASENAME check in the code. That -define is done via the optional --enable-log-src-basename provided -at configure time. - -Using __BASE_FILE__ instead of __FILE__ did not work. It -refers to the file name as presented to the compile -machinery, and that may still be the absolute pathname to -the file. - -Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> - ---- - configure.ac | 9 +++++++++ - src/lxc/log.h | 5 +++++ - 2 files changed, 14 insertions(+) - -diff --git a/configure.ac b/configure.ac -index a3272e9..a2d4c29 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -378,6 +378,15 @@ AC_ARG_ENABLE([examples], - [enable_examples=$enableval], [enable_examples=yes]) - AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"]) - -+# Enable basenames in the logs for source files -+AC_ARG_ENABLE([log-src-basename], -+ [AC_HELP_STRING([--enable-log-src-basename], [Use the shorter source file basename in the logs [default=no]])], -+ [], [enable_log_src_basename=no]) -+ -+if test "x$enable_log_src_basename" = "xyes"; then -+ AC_DEFINE([LXC_LOG_USE_BASENAME], 1, [Enabling shorter src filenames in the logs]) -+fi -+ - # Enable dumping stack traces - AC_ARG_ENABLE([mutex-debugging], - [AS_HELP_STRING([--enable-mutex-debugging], [Makes mutexes to report error and provide stack trace [default=no]])], -diff --git a/src/lxc/log.h b/src/lxc/log.h -index d280656..62cbf4f 100644 ---- a/src/lxc/log.h -+++ b/src/lxc/log.h -@@ -47,8 +47,13 @@ struct lxc_log_locinfo { - int line; - }; - -+#ifdef LXC_LOG_USE_BASENAME -+#define LXC_LOG_LOCINFO_INIT \ -+ { .file = (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__), .func = __func__, .line = __LINE__ } -+#else - #define LXC_LOG_LOCINFO_INIT \ - { .file = __FILE__, .func = __func__, .line = __LINE__ } -+#endif - - /* brief logging event object */ - struct lxc_log_event { diff --git a/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch b/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch index 6702b69e..ea7bee9b 100644 --- a/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch +++ b/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch @@ -3,6 +3,8 @@ From: Bogdan Purcareata <bogdan.purcareata@freescale.com> Date: Mon, 8 Apr 2013 18:30:19 +0300 Subject: [PATCH] lxc-0.9.0-disable-udhcp-from-busybox-template +Upstream-Status: Inappropriate [embedded specific] + --- templates/lxc-busybox.in | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch b/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch deleted file mode 100644 index be5dddf1..00000000 --- a/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 85d1e77acbfde2aa1045cfda877a91a9e57c405d Mon Sep 17 00:00:00 2001 -From: Jim Somerville <Jim.Somerville@windriver.com> -Date: Tue, 11 Aug 2015 14:05:00 -0400 -Subject: [PATCH] lxc: doc: upgrade to use docbook 3.1 DTD - -docbook2man fails to build the man pages in poky -due to missing the ancient Davenport 3.0 DTD. -Poky meta has the Oasis 3.1 version so upgrade -to use that instead. - -Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> - ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 90a4bd4..a3272e9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -227,7 +227,7 @@ AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"]) - AM_CONDITIONAL([USE_DOCBOOK2X], [test "x$db2xman" != "xdocbook2man"]) - - if test "x$db2xman" = "xdocbook2man"; then -- docdtd="\"-//Davenport//DTD DocBook V3.0//EN\"" -+ docdtd="\"-//OASIS//DTD DocBook V3.1//EN\"" - else - docdtd="\"-//OASIS//DTD DocBook XML\" \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\"" - fi diff --git a/recipes-containers/lxc/files/lxc-fix-B-S.patch b/recipes-containers/lxc/files/lxc-fix-B-S.patch deleted file mode 100644 index 7a807b7c..00000000 --- a/recipes-containers/lxc/files/lxc-fix-B-S.patch +++ /dev/null @@ -1,25 +0,0 @@ -From dc2e71f060c25b94f011fce12ef59d2f5ae4e6a9 Mon Sep 17 00:00:00 2001 -From: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> -Date: Thu, 9 Apr 2015 23:01:48 +0300 -Subject: [PATCH] %% original patch: lxc-fix-B-S.patch - ---- - config/init/upstart/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/config/init/upstart/Makefile.am b/config/init/upstart/Makefile.am -index 5552d32..186ae3d 100644 ---- a/config/init/upstart/Makefile.am -+++ b/config/init/upstart/Makefile.am -@@ -3,9 +3,9 @@ EXTRA_DIST = lxc.conf lxc-instance.conf lxc-net.conf.in - if INIT_SCRIPT_UPSTART - install-upstart: lxc.conf lxc-instance.conf lxc-net.conf - $(MKDIR_P) $(DESTDIR)$(sysconfdir)/init/ -- $(INSTALL_DATA) lxc.conf $(DESTDIR)$(sysconfdir)/init/ -+ $(INSTALL_DATA) $(srcdir)/lxc.conf $(DESTDIR)$(sysconfdir)/init/ - $(INSTALL_DATA) $(srcdir)/lxc-instance.conf $(DESTDIR)$(sysconfdir)/init/ -- $(INSTALL_DATA) lxc-net.conf $(DESTDIR)$(sysconfdir)/init/ -+ $(INSTALL_DATA) $(srcdir)/lxc-net.conf $(DESTDIR)$(sysconfdir)/init/ - - uninstall-upstart: - rm -f $(DESTDIR)$(sysconfdir)/init/lxc.conf diff --git a/recipes-containers/lxc/files/run-ptest b/recipes-containers/lxc/files/run-ptest index 3f3a75f2..196adb04 100644 --- a/recipes-containers/lxc/files/run-ptest +++ b/recipes-containers/lxc/files/run-ptest @@ -9,10 +9,17 @@ dmesg -n 1 blacklist="" # Not applicable blacklist="$blacklist lxc-test-apparmor" +blacklist="$blacklist lxc-test-apparmor-mount" +#lxc-test-get_item would report Built without AppArmor support error +blacklist="$blacklist lxc-test-get_item" # These currently hang so skip them until someone fixes them up blacklist="$blacklist lxc-test-shutdowntest" blacklist="$blacklist lxc-test-state-server" +# Tests in firstrunlist will be run first +firstrunlist="" +firstrunlist="$firstrunlist lxc-test-unpriv" + passed=0 failed=0 skipped=0 @@ -23,11 +30,29 @@ rm -f logs/* echo "### Starting LXC ptest ###" +for test in $firstrunlist +do + ./tests/$test >logs/$(basename $test).log 2>&1 + if [ $? -eq 0 ] + then + echo "PASS: $(basename $test)" + passed=$((passed+1)) + else + echo "FAIL: $(basename $test)" + failed=$((failed+1)) + fi +done + for test in ./tests/* do if [[ ! $blacklist = *$(basename $test)* ]] then - $test >logs/$(basename $test).log 2>&1 + if [[ ! $firstrunlist = *$(basename $test)* ]] + then + $test >logs/$(basename $test).log 2>&1 + else + continue; + fi else echo "SKIPPED: $(basename $test)" skipped=$((skipped+1)) @@ -44,6 +69,7 @@ do fi done + echo "" echo "Results:" echo " PASSED = $passed" diff --git a/recipes-containers/lxc/files/template-make-busybox-template-compatible-with-core-.patch b/recipes-containers/lxc/files/template-make-busybox-template-compatible-with-core-.patch index 56ff2f07..1970fdd2 100644 --- a/recipes-containers/lxc/files/template-make-busybox-template-compatible-with-core-.patch +++ b/recipes-containers/lxc/files/template-make-busybox-template-compatible-with-core-.patch @@ -16,6 +16,8 @@ changes here to at least have the template work with core-image-minimal to be able to demonstrate that it can work as well as to have it available for the ptests. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> --- diff --git a/recipes-containers/lxc/files/templates-use-curl-instead-of-wget.patch b/recipes-containers/lxc/files/templates-use-curl-instead-of-wget.patch index 156df82f..e9af8335 100644 --- a/recipes-containers/lxc/files/templates-use-curl-instead-of-wget.patch +++ b/recipes-containers/lxc/files/templates-use-curl-instead-of-wget.patch @@ -1,22 +1,24 @@ -From 07890dd8ffdcd08b7be1ddbd9f56ac55482c76bb Mon Sep 17 00:00:00 2001 -From: Joakim Roubert <joakimr@axis.com> -Date: Fri, 16 Aug 2019 07:52:48 +0200 -Subject: [PATCH] Use curl instead of wget +From 3e4cb0b738649f7750413cefbcfdb2115213ad0d Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Sun, 14 Aug 2022 14:08:56 -0400 +Subject: [PATCH] download: Use curl instead of wget When curl's MIT license is preferable to wget's GPLv3. -Change-Id: I4684ae7569704514fdcc63e0655c556efcaf44f8 -Signed-off-by: Joakim Roubert <joakimr@axis.com> +Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: Joakim Roubert <joakimr@axis.com> +Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- - templates/lxc-download.in | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + templates/lxc-download.in | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/lxc-download.in b/templates/lxc-download.in -index d7e6128..8a4b567 100644 +index a62ddf482..690307338 100755 --- a/templates/lxc-download.in +++ b/templates/lxc-download.in -@@ -74,9 +74,9 @@ cleanup() { +@@ -59,9 +59,9 @@ cleanup() { fi } @@ -28,18 +30,16 @@ index d7e6128..8a4b567 100644 return 0 fi done -@@ -85,8 +85,8 @@ wget_wrapper() { +@@ -70,7 +70,7 @@ wget_wrapper() { } download_file() { -- if ! wget_wrapper -T 30 -q "https://${DOWNLOAD_SERVER}/$1" -O "$2" >/dev/null 2>&1; then -- if ! wget_wrapper -T 30 -q "http://${DOWNLOAD_SERVER}/$1" -O "$2" >/dev/null 2>&1; then -+ if ! curl_wrapper -m 30 -s "https://${DOWNLOAD_SERVER}/$1" -o "$2" >/dev/null 2>&1; then -+ if ! curl_wrapper -m 30 -s "http://${DOWNLOAD_SERVER}/$1" -o "$2" >/dev/null 2>&1; then - if [ "$3" = "noexit" ]; then - return 1 - else -@@ -271,7 +271,7 @@ while :; do +- if ! wget_wrapper --user-agent="lxc/@PACKAGE_VERSION@ compat:${DOWNLOAD_COMPAT_LEVEL}" -T 30 -q "https://${DOWNLOAD_SERVER}/$1" -O "$2" >/dev/null 2>&1; then ++ if ! curl_wrapper -L --user-agent "lxc/@PACKAGE_VERSION@ compat:${DOWNLOAD_COMPAT_LEVEL}" -m 30 -s "https://${DOWNLOAD_SERVER}/$1" -o "$2" >/dev/null 2>&1; then + if [ "$3" = "noexit" ]; then + return 1 + else +@@ -176,7 +176,7 @@ while :; do done # Check for required binaries @@ -48,3 +48,6 @@ index d7e6128..8a4b567 100644 if ! command -V "${bin}" >/dev/null 2>&1; then echo "ERROR: Missing required tool: ${bin}" 1>&2 exit 1 +-- +2.25.1 + diff --git a/recipes-containers/lxc/files/tests-add-no-validate-when-using-download-template.patch b/recipes-containers/lxc/files/tests-add-no-validate-when-using-download-template.patch deleted file mode 100644 index 8caeb2ba..00000000 --- a/recipes-containers/lxc/files/tests-add-no-validate-when-using-download-template.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 1c2506434e744d8c6a86e42c9d8bae4cde7553f6 Mon Sep 17 00:00:00 2001 -From: Mark Asselstine <mark.asselstine@windriver.com> -Date: Thu, 31 May 2018 15:14:26 -0400 -Subject: [PATCH] tests: add '--no-validate' when using download template - -We are usually running the ptests with core-image-minimal which has no -mechanism to validate the downloads. Validation isn't really of -interest to this test at any rate so simply add '--no-validate' to -avoid failing due to no GPG validation. - -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> - ---- - src/tests/lxc-test-apparmor-mount | 2 +- - src/tests/lxc-test-autostart | 2 +- - src/tests/lxc-test-no-new-privs | 2 +- - src/tests/lxc-test-unpriv | 2 +- - src/tests/lxc-test-usernic.in | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/tests/lxc-test-apparmor-mount b/src/tests/lxc-test-apparmor-mount -index d21c948..9e1969b 100755 ---- a/src/tests/lxc-test-apparmor-mount -+++ b/src/tests/lxc-test-apparmor-mount -@@ -169,7 +169,7 @@ if [ -f /etc/lsb-release ]; then - done - fi - --run_cmd lxc-create -t download -n $cname -- -d ubuntu -r $release -a $ARCH -+run_cmd lxc-create -t download -n $cname -- --no-validate -d ubuntu -r $release -a $ARCH - - echo "test default confined container" - run_cmd lxc-start -n $cname -d -lDEBUG -o "$logfile" -diff --git a/src/tests/lxc-test-autostart b/src/tests/lxc-test-autostart -index e5b651b..d15b79b 100755 ---- a/src/tests/lxc-test-autostart -+++ b/src/tests/lxc-test-autostart -@@ -55,7 +55,7 @@ if [ -f /etc/lsb-release ]; then - done - fi - --lxc-create -t download -n $CONTAINER_NAME -B dir -- -d ubuntu -r $release -a $ARCH -+lxc-create -t download -n $CONTAINER_NAME -B dir -- --no-validate -d ubuntu -r $release -a $ARCH - CONTAINER_PATH=$(dirname $(lxc-info -n $CONTAINER_NAME -c lxc.rootfs.path -H) | sed -e 's/dir://') - cp $CONTAINER_PATH/config $CONTAINER_PATH/config.bak - -diff --git a/src/tests/lxc-test-no-new-privs b/src/tests/lxc-test-no-new-privs -index 8642992..e72bdf0 100755 ---- a/src/tests/lxc-test-no-new-privs -+++ b/src/tests/lxc-test-no-new-privs -@@ -47,7 +47,7 @@ if type dpkg >/dev/null 2>&1; then - ARCH=$(dpkg --print-architecture) - fi - --lxc-create -t download -n c1 -- -d ubuntu -r xenial -a $ARCH -+lxc-create -t download -n c1 -- --no-validate -d ubuntu -r xenial -a $ARCH - echo "lxc.no_new_privs = 1" >> /var/lib/lxc/c1/config - - lxc-start -n c1 -diff --git a/src/tests/lxc-test-unpriv b/src/tests/lxc-test-unpriv -index 16ff12d..0958d48 100755 ---- a/src/tests/lxc-test-unpriv -+++ b/src/tests/lxc-test-unpriv -@@ -173,7 +173,7 @@ run_cmd mkdir -p $HDIR/.cache/lxc - cp -R /var/cache/lxc/download $HDIR/.cache/lxc && \ - chown -R $TUSER: $HDIR/.cache/lxc - --run_cmd lxc-create -t download -n c1 -- -d ubuntu -r $release -a $ARCH -+run_cmd lxc-create -t download -n c1 -- --no-validate -d ubuntu -r $release -a $ARCH - - # Make sure we can start it - twice - -diff --git a/src/tests/lxc-test-usernic.in b/src/tests/lxc-test-usernic.in -index 3e35008..f489286 100755 ---- a/src/tests/lxc-test-usernic.in -+++ b/src/tests/lxc-test-usernic.in -@@ -146,7 +146,7 @@ if [ -f /etc/lsb-release ]; then - fi - - # Create three containers --run_cmd "lxc-create -t download -n b1 -- -d ubuntu -r $release -a $ARCH" -+run_cmd "lxc-create -t download -n b1 -- --no-validate -d ubuntu -r $release -a $ARCH" - run_cmd "lxc-start -n b1 -d" - p1=$(run_cmd "lxc-info -n b1 -p -H") - diff --git a/recipes-containers/lxc/files/tests-our-init-is-not-busybox.patch b/recipes-containers/lxc/files/tests-our-init-is-not-busybox.patch index e5a8011e..3a4855c8 100644 --- a/recipes-containers/lxc/files/tests-our-init-is-not-busybox.patch +++ b/recipes-containers/lxc/files/tests-our-init-is-not-busybox.patch @@ -8,6 +8,8 @@ template) we can't compare '/sbin/init' and 'busybox'. Actually we are really only interested in the fact 'cmp' is being run and not the result, so simplify by comparing '/sbin/init' to itself. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> --- diff --git a/recipes-containers/lxc/lxc_4.0.6.bb b/recipes-containers/lxc/lxc_git.bb index c9bf3d09..ee0e442f 100644 --- a/recipes-containers/lxc/lxc_4.0.6.bb +++ b/recipes-containers/lxc/lxc_git.bb @@ -1,12 +1,12 @@ DESCRIPTION = "lxc aims to use these new functionnalities to provide an userspace container object" SECTION = "console/utils" -LICENSE = "LGPLv2.1 & GPLv2" +LICENSE = "LGPL-2.1-only & GPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c \ file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ " DEPENDS = "libxml2 libcap" -RDEPENDS_${PN} = " \ +RDEPENDS:${PN} = " \ rsync \ curl \ gzip \ @@ -30,58 +30,60 @@ RDEPENDS_${PN} = " \ util-linux-getopt \ " -RDEPENDS_${PN}_append_libc-glibc = " glibc-utils" +RDEPENDS:${PN}:append:libc-glibc = " glibc-utils" -RDEPENDS_${PN}-ptest += "file make gmp nettle gnutls bash libgcc" +RDEPENDS:${PN}-ptest += "file make gmp nettle gnutls bash libgcc" -RDEPENDS_${PN}-networking += "iptables" +RDEPENDS:${PN}-networking += "iptables" -SRC_URI = "http://linuxcontainers.org/downloads/${BPN}/${BPN}-${PV}.tar.gz \ +SRC_URI = "git://github.com/lxc/lxc.git;branch=stable-5.0;protocol=https \ file://lxc-1.0.0-disable-udhcp-from-busybox-template.patch \ file://run-ptest \ - file://lxc-fix-B-S.patch \ - file://lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch \ - file://logs-optionally-use-base-filenames-to-report-src-fil.patch \ file://templates-actually-create-DOWNLOAD_TEMP-directory.patch \ file://template-make-busybox-template-compatible-with-core-.patch \ file://templates-use-curl-instead-of-wget.patch \ + file://0001-download-don-t-try-compatbility-index.patch \ file://tests-our-init-is-not-busybox.patch \ - file://tests-add-no-validate-when-using-download-template.patch \ + file://0001-template-if-busybox-contains-init-use-it-in-containe.patch \ file://dnsmasq.conf \ file://lxc-net \ - file://configure-skip-libseccomp-tests-if-it-is-disabled.patch \ - file://commands-fix-check-for-seccomp-notify-support.patch \ + file://0001-lxc-test-usernic-drop-cgroup-handling.patch \ + file://0001-tests-remove-old-and-broken-cgroup-handling-code-fro.patch \ " -SRC_URI[md5sum] = "732571c7cb4ab845068afb227bf35256" -SRC_URI[sha256sum] = "9165dabc0bb6ef7f2fda2009aee90b20fbefe77ed8008347e9f06048eba1e463" +SRCREV = "cb8e38aca27a23964941f0f011a8919aab8bebab" +PV = "5.0.3+git" - - -S = "${WORKDIR}/${BPN}-${PV}" +S = "${WORKDIR}/git" # Let's not configure for the host distro. # -PTEST_CONF = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '--enable-tests', '', d)}" -EXTRA_OECONF += "--with-distro=${DISTRO} ${PTEST_CONF}" - -EXTRA_OECONF += "--with-init-script=\ -${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit,', '', d)}\ -${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" +PTEST_CONF = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '-Dtests=true', '', d)}" -EXTRA_OECONF += "--enable-log-src-basename --disable-werror" +# No meson equivalent for --with-distro +# EXTRA_OECONF += "--with-distro=${DISTRO} ${PTEST_CONF}" +EXTRA_OEMESON += "${PTEST_CONF} -Ddistrosysconfdir=${sysconfdir}/default" +# No meson equivalent for these yet +# EXTRA_OECONF += "--enable-log-src-basename --disable-werror" PACKAGECONFIG ??= "templates \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)} \ " -PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,," -PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,," -PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,apparmor,apparmor" + +# Meson doesn't seem to be as fine grained as the autotools releases +# PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,," +PACKAGECONFIG[doc] = "-Dman=true,-Dman=false,," +# No meson equiv found for rpath yet +# PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,," +PACKAGECONFIG[apparmor] = "-Dapparmor=true,-Dapparmor=false,apparmor,apparmor" PACKAGECONFIG[templates] = ",,, ${PN}-templates" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" -PACKAGECONFIG[seccomp] ="--enable-seccomp,--disable-seccomp,libseccomp,libseccomp" -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," +PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,libselinux" +PACKAGECONFIG[seccomp] ="-Dseccomp=true,-Dseccomp=false,libseccomp,libseccomp" +# meson equiv for the unitdir found yet +# PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," +PACKAGECONFIG[systemd] = "-Dinit-script=systemd,-Dinit-script=sysvinit,systemd," # required by python3 to run setup.py export BUILD_SYS @@ -89,45 +91,46 @@ export HOST_SYS export STAGING_INCDIR export STAGING_LIBDIR -inherit autotools pkgconfig ptest update-rc.d systemd python3native +inherit meson pkgconfig ptest update-rc.d systemd python3native SYSTEMD_PACKAGES = "${PN} ${PN}-networking" -SYSTEMD_SERVICE_${PN} = "lxc.service" -SYSTEMD_AUTO_ENABLE_${PN} = "disable" -SYSTEMD_SERVICE_${PN}-networking = "lxc-net.service" -SYSTEMD_AUTO_ENABLE_${PN}-networking = "enable" - -INITSCRIPT_PACKAGES = "${PN} ${PN}-networking" -INITSCRIPT_NAME_${PN} = "lxc-containers" -INITSCRIPT_PARAMS_${PN} = "defaults" -INITSCRIPT_NAME_${PN}-networking = "lxc-net" -INITSCRIPT_PARAMS_${PN}-networking = "defaults" - -FILES_${PN}-doc = "${mandir} ${infodir}" +SYSTEMD_SERVICE:${PN} = "lxc.service lxc-monitord.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" +SYSTEMD_SERVICE:${PN}-networking = "lxc-net.service" +SYSTEMD_AUTO_ENABLE:${PN}-networking = "enable" + +INITSCRIPT_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${PN}', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${PN}-networking',d)}" +INITSCRIPT_NAME:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'lxc-containers', d)}" +INITSCRIPT_PARAMS:${PN} = "defaults" +INITSCRIPT_NAME:${PN}-networking = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'lxc-net', d)}" +INITSCRIPT_PARAMS:${PN}-networking = "defaults" + +FILES:${PN}-doc = "${mandir} ${infodir}" # For LXC the docdir only contains example configuration files and should be included in the lxc package -FILES_${PN} += "${docdir}" -FILES_${PN} += "${libdir}/python3*" -FILES_${PN} += "${datadir}/bash-completion" -FILES_${PN}-dbg += "${libexecdir}/lxc/.debug" -FILES_${PN}-dbg += "${libexecdir}/lxc/hooks/.debug" +FILES:${PN} += "${docdir}" +FILES:${PN} += "${libdir}/python3*" +FILES:${PN} += "${datadir}/bash-completion" +FILES:${PN}-dbg += "${libexecdir}/lxc/.debug" +FILES:${PN}-dbg += "${libexecdir}/lxc/hooks/.debug" PACKAGES =+ "${PN}-templates ${PN}-networking ${PN}-lua" -FILES_lua-${PN} = "${datadir}/lua ${libdir}/lua" -FILES_lua-${PN}-dbg += "${libdir}/lua/lxc/.debug" -FILES_${PN}-templates += "${datadir}/lxc/templates" -RDEPENDS_${PN}-templates += "bash" +FILES:lua-${PN} = "${datadir}/lua ${libdir}/lua" +FILES:lua-${PN}-dbg += "${libdir}/lua/lxc/.debug" +FILES:${PN}-templates += "${datadir}/lxc/templates" +RDEPENDS:${PN}-templates += "bash" -FILES_${PN}-networking += " \ +FILES:${PN}-networking += " \ ${sysconfdir}/init.d/lxc-net \ ${sysconfdir}/default/lxc-net \ " -CACHED_CONFIGUREVARS += " \ - ac_cv_path_PYTHON='${STAGING_BINDIR_NATIVE}/python3-native/python3' \ - am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ - am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ -" +# Not needed for meson +# CACHED_CONFIGUREVARS += " \ +# ac_cv_path_PYTHON='${STAGING_BINDIR_NATIVE}/python3-native/python3' \ +# am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ +# am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ +#" -do_install_append() { +do_install:append() { # The /var/cache/lxc directory created by the Makefile # is wiped out in volatile, we need to create this at boot. rm -rf ${D}${localstatedir}/cache @@ -138,8 +141,15 @@ do_install_append() { for i in `grep -l "#! */bin/bash" ${D}${datadir}/lxc/hooks/*`; do \ sed -e 's|#! */bin/bash|#!/bin/sh|' -i $i; done - install -d ${D}${sysconfdir}/init.d - install -m 755 config/init/sysvinit/lxc* ${D}${sysconfdir}/init.d + if "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"; then + # nothing special for systemd at the moment + true + else + # with meson, these aren't built unless sysvinit is the enabled + # init system. + install -d ${D}${sysconfdir}/init.d + install -m 755 config/init/sysvinit/lxc* ${D}${sysconfdir}/init.d + fi # since python3-native is used for install location this will not be # suitable for the target and we will have to correct the package install @@ -167,13 +177,13 @@ do_install_ptest() { mv ${D}/usr/bin/lxc-test-* ${D}/${PTEST_PATH}/tests/. } -pkg_postinst_${PN}() { +pkg_postinst:${PN}() { if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then /etc/init.d/populate-volatile.sh update fi } -pkg_postinst_${PN}-networking() { +pkg_postinst:${PN}-networking() { if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then cat >> $D/etc/network/interfaces << EOF diff --git a/recipes-containers/lxcfs/files/systemd-allow-for-distinct-build-directory.patch b/recipes-containers/lxcfs/files/systemd-allow-for-distinct-build-directory.patch deleted file mode 100644 index 14228d65..00000000 --- a/recipes-containers/lxcfs/files/systemd-allow-for-distinct-build-directory.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 66a71fbf94020651880f1dbb6e4663d93391b47c Mon Sep 17 00:00:00 2001 -From: Mark Asselstine <mark.asselstine@windriver.com> -Date: Mon, 10 Sep 2018 13:14:07 -0400 -Subject: [PATCH] systemd: allow for distinct build directory - -The Makefile.am is currently written in a way that doesn't allow for a -distinct build directory. As such we get the error: - - install: cannot stat 'lxcfs.service': No such file or directory - -Make use of $(srcdir) to correct this. - -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> ---- - config/init/systemd/Makefile.am | 2 +- - config/init/systemd/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/config/init/systemd/Makefile.am b/config/init/systemd/Makefile.am -index 79e96f5..d6933f9 100644 ---- a/config/init/systemd/Makefile.am -+++ b/config/init/systemd/Makefile.am -@@ -5,7 +5,7 @@ SYSTEMD_UNIT_DIR = /lib/systemd/system - - install-systemd: lxcfs.service - $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) -- $(INSTALL_DATA) lxcfs.service $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ -+ $(INSTALL_DATA) $(srcdir)/lxcfs.service $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ - - uninstall-systemd: - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/lxcfs.service -diff --git a/config/init/systemd/Makefile.in b/config/init/systemd/Makefile.in -index d433e8a..430190c 100644 ---- a/config/init/systemd/Makefile.in -+++ b/config/init/systemd/Makefile.in -@@ -450,7 +450,7 @@ uninstall-am: uninstall-local - - @INIT_SCRIPT_SYSTEMD_TRUE@install-systemd: lxcfs.service - @INIT_SCRIPT_SYSTEMD_TRUE@ $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) --@INIT_SCRIPT_SYSTEMD_TRUE@ $(INSTALL_DATA) lxcfs.service $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ -+@INIT_SCRIPT_SYSTEMD_TRUE@ $(INSTALL_DATA) $(srcdir)/lxcfs.service $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ - - @INIT_SCRIPT_SYSTEMD_TRUE@uninstall-systemd: - @INIT_SCRIPT_SYSTEMD_TRUE@ rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/lxcfs.service --- -2.7.4 - diff --git a/recipes-containers/lxcfs/files/systemd-ensure-var-lib-lxcfs-exists.patch b/recipes-containers/lxcfs/files/systemd-ensure-var-lib-lxcfs-exists.patch deleted file mode 100644 index e8af4a0a..00000000 --- a/recipes-containers/lxcfs/files/systemd-ensure-var-lib-lxcfs-exists.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 89bf4b64e810e174068e7861490e6d6ab2d14854 Mon Sep 17 00:00:00 2001 -From: Mark Asselstine <mark.asselstine@windriver.com> -Date: Mon, 10 Sep 2018 15:01:54 -0400 -Subject: [PATCH] systemd: ensure /var/lib/lxcfs exists - -If the directory doesn't exist the service will fail to start. - -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> ---- - config/init/systemd/lxcfs.service | 1 + - 1 file changed, 1 insertion(+) - -Index: lxcfs-4.0.7/config/init/systemd/lxcfs.service -=================================================================== ---- lxcfs-4.0.7.orig/config/init/systemd/lxcfs.service -+++ lxcfs-4.0.7/config/init/systemd/lxcfs.service -@@ -5,6 +5,7 @@ - Documentation=man:lxcfs(1) - - [Service] -+ExecStartPre=-/bin/mkdir /var/lib/lxcfs - ExecStart=/usr/bin/lxcfs /usr/local/var/lib/lxcfs - KillMode=process - Restart=on-failure diff --git a/recipes-containers/lxcfs/lxcfs/0001-bindings-fix-build-with-newer-linux-libc-headers.patch b/recipes-containers/lxcfs/lxcfs/0001-bindings-fix-build-with-newer-linux-libc-headers.patch new file mode 100644 index 00000000..64d19f47 --- /dev/null +++ b/recipes-containers/lxcfs/lxcfs/0001-bindings-fix-build-with-newer-linux-libc-headers.patch @@ -0,0 +1,50 @@ +From ca3c3484b078304998b3f2a2d6cd6c00540deb2c Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 28 Apr 2023 19:16:11 +0000 +Subject: [PATCH] bindings: fix build with newer linux-libc-headers + +Fixes: + +../../lxcfs-4.0.7/src/bindings.c: In function 'initpid_still_valid_pidfd': +../../lxcfs-4.0.7/src/bindings.c:160:15: error: implicit declaration of function 'pidfd_send_signal'; did you mean 'SYS_pidfd_send_signal'? [-Werr +or=implicit-function-declaration] + 160 | ret = pidfd_send_signal(entry->init_pidfd, 0, NULL, 0); + | ^~~~~~~~~~~~~~~~~ + | SYS_pidfd_send_signal +../../lxcfs-4.0.7/src/bindings.c:160:15: warning: nested extern declaration of 'pidfd_send_signal' [-Wnested-externs] +../../lxcfs-4.0.7/src/bindings.c: In function 'save_initpid': +../../lxcfs-4.0.7/src/bindings.c:296:25: error: implicit declaration of function 'pidfd_open' [-Werror=implicit-function-declaration] + 296 | pidfd = pidfd_open(pid, 0); + | ^~~~~~~~~~ +../../lxcfs-4.0.7/src/bindings.c:296:25: warning: nested extern declaration of 'pidfd_open' [-Wnested-externs] +../../lxcfs-4.0.7/src/bindings.c: At top level: +../../lxcfs-4.0.7/src/bindings.c:612:12: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 612 | static int pivot_enter() + | ^~~~~~~~~~~ +../../lxcfs-4.0.7/src/bindings.c: In function 'pivot_enter': +../../lxcfs-4.0.7/src/bindings.c:612:12: warning: old-style function definition [-Wold-style-definition] +../../lxcfs-4.0.7/src/bindings.c: At top level: +../../lxcfs-4.0.7/src/bindings.c:655:12: warning: function declaration isn't a prototype [-Wstrict-prototypes] + 655 | static int chroot_enter() + | ^~~~~~~~~~~~ +../../lxcfs-4.0.7/src/bindings.c: In function 'chroot_enter': +../../lxcfs-4.0.7/src/bindings.c:655:12: warning: old-style function definition [-Wold-style-definition] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Pending +--- + src/bindings.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/bindings.c b/src/bindings.c +index 6f2444c..3e0d60a 100644 +--- a/src/bindings.c ++++ b/src/bindings.c +@@ -39,6 +39,7 @@ + #include <sys/mman.h> + #include <sys/mount.h> + #include <sys/param.h> ++#include <sys/pidfd.h> + #include <sys/socket.h> + #include <sys/syscall.h> + #include <sys/sysinfo.h> diff --git a/recipes-containers/lxcfs/lxcfs/0001-meson.build-force-pid-open-send_signal-detection.patch b/recipes-containers/lxcfs/lxcfs/0001-meson.build-force-pid-open-send_signal-detection.patch new file mode 100644 index 00000000..5f21a956 --- /dev/null +++ b/recipes-containers/lxcfs/lxcfs/0001-meson.build-force-pid-open-send_signal-detection.patch @@ -0,0 +1,38 @@ +From 65fcb73cdef34609f28461424672551a6e65327e Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Thu, 3 Aug 2023 15:01:42 +0000 +Subject: [PATCH] meson.build: force pid open/send_signal detection + +meson is not correctly detecting that our cross build environment +has the pid* definitions, which leads to compile errors when internal +definitions conflict: + + lxcfs-5.0.4/src/utils.h:45:19: error: static declaration of 'pidfd_open' follows non-static declaration + +We could possibly generate a meson.cross file, and specify it via +--cross-file, but we can just force the detection to 'true' as we +don't have to support configurations without the functionality. + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + meson.build | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/meson.build b/meson.build +index a0289ad..9480c30 100644 +--- a/meson.build ++++ b/meson.build +@@ -143,6 +143,8 @@ foreach ident: [ + ] + have = cc.has_function(ident[0], prefix: ident[1], args: '-D_GNU_SOURCE') + conf.set10('HAVE_' + ident[0].to_upper(), have) ++ conf.set10('HAVE_PIDFD_OPEN', true) ++ conf.set10('HAVE_PIDFD_SEND_SIGNAL', true) + endforeach + + fuse_version = get_option('fuse-version') +-- +2.39.2 + diff --git a/recipes-containers/lxcfs/lxcfs_4.0.7.bb b/recipes-containers/lxcfs/lxcfs_4.0.7.bb deleted file mode 100644 index 11d2ff51..00000000 --- a/recipes-containers/lxcfs/lxcfs_4.0.7.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "LXCFS is a userspace filesystem created to avoid kernel limitations" -LICENSE = "LGPL-2.1+" - -inherit autotools pkgconfig systemd - -SRC_URI = " \ - https://linuxcontainers.org/downloads/lxcfs/lxcfs-${PV}.tar.gz \ - file://systemd-allow-for-distinct-build-directory.patch \ - file://systemd-ensure-var-lib-lxcfs-exists.patch \ -" - -LIC_FILES_CHKSUM = "file://COPYING;md5=29ae50a788f33f663405488bc61eecb1" -SRC_URI[md5sum] = "9d963976207fb0ca4701428ae0587aeb" -SRC_URI[sha256sum] = "3f28e2f4b04c0090aaf88b72666505f0313768a5254dd48a14c43cf78c543ec8" - -DEPENDS += "fuse" -RDEPENDS_${PN} += "fuse" - -FILES_${PN} += "${datadir}/lxc/config/common.conf.d/*" - -CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN='false // No help2man //'" -EXTRA_OECONF += "--with-distro=unknown --with-init-script=${VIRTUAL-RUNTIME_init_manager}" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "lxcfs.service" diff --git a/recipes-containers/lxcfs/lxcfs_5.0.4.bb b/recipes-containers/lxcfs/lxcfs_5.0.4.bb new file mode 100644 index 00000000..5d2ad164 --- /dev/null +++ b/recipes-containers/lxcfs/lxcfs_5.0.4.bb @@ -0,0 +1,26 @@ +SUMMARY = "LXCFS is a userspace filesystem created to avoid kernel limitations" +LICENSE = "LGPL-2.1-or-later" + +REQUIRED_DISTRO_FEATURES ?= "systemd" +inherit meson pkgconfig systemd features_check + +SRC_URI = " \ + https://linuxcontainers.org/downloads/lxcfs/lxcfs-${PV}.tar.gz \ + file://0001-bindings-fix-build-with-newer-linux-libc-headers.patch \ + file://0001-meson.build-force-pid-open-send_signal-detection.patch \ +" + +LIC_FILES_CHKSUM = "file://COPYING;md5=29ae50a788f33f663405488bc61eecb1" +SRC_URI[md5sum] = "00a6632e094d0a2f2308c8365ac91912" +SRC_URI[sha256sum] = "c2b361edc881d5ca8fa2cd3260a4999b8f87afce8d937be2160e5cf0b482c52f" + +DEPENDS += "fuse python3-jinja2-native help2man-native systemd" +RDEPENDS:${PN} += "fuse" + +FILES:${PN} += "${datadir}/lxc/config/common.conf.d/*" + +# help2man doesn't work, so we disable docs +EXTRA_OEMESON += "-Dinit-script=${VIRTUAL-RUNTIME_init_manager} -Ddocs=false" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "lxcfs.service" diff --git a/recipes-containers/nerdctl/nerdctl/0001-Makefile-allow-external-specification-of-build-setti.patch b/recipes-containers/nerdctl/nerdctl/0001-Makefile-allow-external-specification-of-build-setti.patch new file mode 100644 index 00000000..ca7b3042 --- /dev/null +++ b/recipes-containers/nerdctl/nerdctl/0001-Makefile-allow-external-specification-of-build-setti.patch @@ -0,0 +1,25 @@ +From 0e6809ea075acd3edf7de197cd4e190ccdad6361 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Mon, 29 Mar 2021 20:50:47 -0400 +Subject: [PATCH] Makefile: allow external specification of build settings + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: nerdctl-v2.0.0-beta.1/src/import/Makefile +=================================================================== +--- nerdctl-v2.0.0-beta.1.orig/src/import/Makefile ++++ nerdctl-v2.0.0-beta.1/src/import/Makefile +@@ -38,7 +38,7 @@ + + GO_BUILD_LDFLAGS ?= -s -w + GO_BUILD_FLAGS ?= +-export GO_BUILD=GO111MODULE=on CGO_ENABLED=0 GOOS=$(GOOS) $(GO) build -ldflags "$(GO_BUILD_LDFLAGS) -X $(PACKAGE)/pkg/version.Version=$(VERSION) -X $(PACKAGE)/pkg/version.Revision=$(REVISION)" ++export GO_BUILD=$(GO) build -ldflags "$(GO_BUILD_LDFLAGS) -X $(PACKAGE)/pkg/version.Version=$(VERSION) -X $(PACKAGE)/pkg/version.Revision=$(REVISION)" + + ifdef VERBOSE + VERBOSE_FLAG := -v diff --git a/recipes-containers/nerdctl/nerdctl/modules.txt b/recipes-containers/nerdctl/nerdctl/modules.txt new file mode 100644 index 00000000..b26ec8ec --- /dev/null +++ b/recipes-containers/nerdctl/nerdctl/modules.txt @@ -0,0 +1,270 @@ +# github.com/Masterminds/semver/v3 v3.2.1 +## explicit +# github.com/Microsoft/go-winio v0.6.1 +## explicit +# github.com/Microsoft/hcsshim v0.11.4 +## explicit +# github.com/awslabs/soci-snapshotter v0.4.1 +## explicit +# github.com/compose-spec/compose-go v1.20.2 +## explicit +# github.com/containerd/accelerated-container-image v1.0.2 +## explicit +# github.com/containerd/cgroups/v3 v3.0.3 +## explicit +# github.com/containerd/console v1.0.4 +## explicit +# github.com/containerd/containerd v1.7.13 +## explicit +# github.com/containerd/continuity v0.4.3 +## explicit +# github.com/containerd/fifo v1.1.0 +## explicit +# github.com/containerd/go-cni v1.1.9 +## explicit +# github.com/containerd/imgcrypt v1.1.9 +## explicit +# github.com/containerd/log v0.1.0 +## explicit +# github.com/containerd/nydus-snapshotter v0.13.7 +## explicit +# github.com/containerd/platforms v0.1.1 +## explicit +# github.com/containerd/stargz-snapshotter v0.15.1 +## explicit +# github.com/containerd/stargz-snapshotter/estargz v0.15.1 +## explicit +# github.com/containerd/stargz-snapshotter/ipfs v0.15.1 +## explicit +# github.com/containerd/typeurl/v2 v2.1.1 +## explicit +# github.com/containernetworking/cni v1.1.2 +## explicit +# github.com/containernetworking/plugins v1.4.0 +## explicit +# github.com/coreos/go-iptables v0.7.0 +## explicit +# github.com/coreos/go-systemd/v22 v22.5.0 +## explicit +# github.com/cyphar/filepath-securejoin v0.2.4 +## explicit +# github.com/docker/cli v24.0.7+incompatible +## explicit +# github.com/docker/docker v24.0.7+incompatible +## explicit +# github.com/docker/go-connections v0.5.0 +## explicit +# github.com/docker/go-units v0.5.0 +## explicit +# github.com/fahedouch/go-logrotate v0.2.0 +## explicit +# github.com/fatih/color v1.16.0 +## explicit +# github.com/fluent/fluent-logger-golang v1.9.0 +## explicit +# github.com/ipfs/go-cid v0.4.1 +## explicit +# github.com/mattn/go-isatty v0.0.20 +## explicit +# github.com/mitchellh/mapstructure v1.5.0 +## explicit +# github.com/moby/sys/mount v0.3.3 +## explicit +# github.com/moby/sys/signal v0.7.0 +## explicit +# github.com/moby/term v0.5.0 +## explicit +# github.com/muesli/cancelreader v0.2.2 +## explicit +# github.com/opencontainers/go-digest v1.0.0 +## explicit +# github.com/opencontainers/image-spec v1.1.0 +## explicit +# github.com/opencontainers/runtime-spec v1.2.0 +## explicit +# github.com/pelletier/go-toml/v2 v2.1.1 +## explicit +# github.com/rootless-containers/bypass4netns v0.4.0 +## explicit +# github.com/rootless-containers/rootlesskit/v2 v2.0.1 +## explicit +# github.com/spf13/cobra v1.8.0 +## explicit +# github.com/spf13/pflag v1.0.5 +## explicit +# github.com/tidwall/gjson v1.17.1 +## explicit +# github.com/vishvananda/netlink v1.2.1-beta.2 +## explicit +# github.com/vishvananda/netns v0.0.4 +## explicit +# github.com/yuchanns/srslog v1.1.0 +## explicit +# go.uber.org/mock v0.4.0 +## explicit +# golang.org/x/crypto v0.19.0 +## explicit +# golang.org/x/net v0.21.0 +## explicit +# golang.org/x/sync v0.6.0 +## explicit +# golang.org/x/sys v0.17.0 +## explicit +# golang.org/x/term v0.17.0 +## explicit +# golang.org/x/text v0.14.0 +## explicit +# gopkg.in/yaml.v3 v3.0.1 +## explicit +# gotest.tools/v3 v3.5.1 +## explicit +# github.com/moby/sys/user v0.1.0 +## explicit +# github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 +## explicit +# github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 +## explicit +# github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 +## explicit +# github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 +## explicit +# github.com/cilium/ebpf v0.11.0 +## explicit +# github.com/containerd/cgroups v1.1.0 +## explicit +# github.com/containerd/go-runc v1.0.0 +## explicit +# github.com/containerd/ttrpc v1.2.2 +## explicit +# github.com/containerd/typeurl v1.0.3-0.20220422153119-7f6e6d160d67 +## explicit +# github.com/containers/ocicrypt v1.1.9 +## explicit +# github.com/distribution/reference v0.5.0 +## explicit +# github.com/djherbis/times v1.5.0 +## explicit +# github.com/docker/docker-credential-helpers v0.7.0 +## explicit +# github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c +## explicit +# github.com/felixge/httpsnoop v1.0.3 +## explicit +# github.com/go-jose/go-jose/v3 v3.0.1 +## explicit +# github.com/go-logr/logr v1.3.0 +## explicit +# github.com/go-logr/stdr v1.2.2 +## explicit +# github.com/godbus/dbus/v5 v5.1.0 +## explicit +# github.com/gogo/protobuf v1.3.2 +## explicit +# github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da +## explicit +# github.com/golang/protobuf v1.5.3 +## explicit +# github.com/google/go-cmp v0.6.0 +## explicit +# github.com/google/uuid v1.6.0 +## explicit +# github.com/hashicorp/errwrap v1.1.0 +## explicit +# github.com/hashicorp/go-multierror v1.1.1 +## explicit +# github.com/imdario/mergo v0.3.16 +## explicit +# github.com/inconshreveable/mousetrap v1.1.0 +## explicit +# github.com/klauspost/compress v1.17.6 +## explicit +# github.com/klauspost/cpuid/v2 v2.2.3 +## explicit +# github.com/mattn/go-colorable v0.1.13 +## explicit +# github.com/mattn/go-shellwords v1.0.12 +## explicit +# github.com/miekg/pkcs11 v1.1.1 +## explicit +# github.com/minio/sha256-simd v1.0.1 +## explicit +# github.com/mitchellh/go-homedir v1.1.0 +## explicit +# github.com/moby/locker v1.0.1 +## explicit +# github.com/moby/sys/mountinfo v0.7.1 +## explicit +# github.com/moby/sys/sequential v0.5.0 +## explicit +# github.com/moby/sys/symlink v0.2.0 +## explicit +# github.com/mr-tron/base58 v1.2.0 +## explicit +# github.com/multiformats/go-base32 v0.1.0 +## explicit +# github.com/multiformats/go-base36 v0.1.0 +## explicit +# github.com/multiformats/go-multiaddr v0.12.0 +## explicit +# github.com/multiformats/go-multibase v0.1.1 +## explicit +# github.com/multiformats/go-multihash v0.2.1 +## explicit +# github.com/multiformats/go-varint v0.0.6 +## explicit +# github.com/opencontainers/selinux v1.11.0 +## explicit +# github.com/pelletier/go-toml v1.9.5 +## explicit +# github.com/philhofer/fwd v1.1.1 +## explicit +# github.com/pkg/errors v0.9.1 +## explicit +# github.com/sirupsen/logrus v1.9.3 +## explicit +# github.com/spaolacci/murmur3 v1.1.0 +## explicit +# github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 +## explicit +# github.com/tidwall/match v1.1.1 +## explicit +# github.com/tidwall/pretty v1.2.0 +## explicit +# github.com/tinylib/msgp v1.1.6 +## explicit +# github.com/vbatts/tar-split v0.11.5 +## explicit +# github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb +## explicit +# github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 +## explicit +# github.com/xeipuuv/gojsonschema v1.2.0 +## explicit +# go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 +## explicit +# go.opencensus.io v0.24.0 +## explicit +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 +## explicit +# go.opentelemetry.io/otel v1.19.0 +## explicit +# go.opentelemetry.io/otel/metric v1.19.0 +## explicit +# go.opentelemetry.io/otel/trace v1.19.0 +## explicit +# golang.org/x/exp v0.0.0-20231006140011-7918f672742d +## explicit +# golang.org/x/mod v0.13.0 +## explicit +# golang.org/x/tools v0.14.0 +## explicit +# google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a +## explicit +# google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b +## explicit +# google.golang.org/grpc v1.59.0 +## explicit +# google.golang.org/protobuf v1.31.0 +## explicit +# lukechampine.com/blake3 v1.1.7 +## explicit diff --git a/recipes-containers/nerdctl/nerdctl_git.bb b/recipes-containers/nerdctl/nerdctl_git.bb new file mode 100644 index 00000000..8868274f --- /dev/null +++ b/recipes-containers/nerdctl/nerdctl_git.bb @@ -0,0 +1,84 @@ +HOMEPAGE = "https://github.com/containerd/nerdctl" +SUMMARY = "Docker-compatible CLI for containerd" +DESCRIPTION = "nerdctl: Docker-compatible CLI for containerd \ + " + +DEPENDS = " \ + go-md2man \ + rsync-native \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" + +# Specify the first two important SRCREVs as the format +SRCREV_FORMAT="nerdcli_cgroups" +SRCREV_nerdcli = "265d6b9cf526ce7d9ed8d34a0e3c3066901cc463" + +SRC_URI = "git://github.com/containerd/nerdctl.git;name=nerdcli;branch=main;protocol=https" + +include src_uri.inc + +# patches and config +SRC_URI += "file://0001-Makefile-allow-external-specification-of-build-setti.patch \ + file://modules.txt \ + " + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +GO_IMPORT = "import" + +# S = "${WORKDIR}/git" + +PV = "v2.0.0-beta.1" + +NERDCTL_PKG = "github.com/containerd/nerdctl" + +inherit go goarch +inherit systemd pkgconfig + +do_configure[noexec] = "1" + +EXTRA_OEMAKE = " \ + PREFIX=${prefix} BINDIR=${bindir} LIBEXECDIR=${libexecdir} \ + ETCDIR=${sysconfdir} TMPFILESDIR=${nonarch_libdir}/tmpfiles.d \ + SYSTEMDDIR=${systemd_unitdir}/system USERSYSTEMDDIR=${systemd_unitdir}/user \ +" + +PACKAGECONFIG ?= "" + +# sets the "sites" variable. +include relocation.inc + +PIEFLAG = "${@bb.utils.contains('GOBUILDFLAGS', '-buildmode=pie', '-buildmode=pie', '', d)}" + +do_compile() { + + cd ${S}/src/import + + export GOPATH="$GOPATH:${S}/src/import/.gopath" + + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export GOARCH=${TARGET_GOARCH} + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + + export GOFLAGS="-mod=vendor -trimpath ${PIEFLAG}" + + # our copied .go files are to be used for the build + ln -sf vendor.copy vendor + # inform go that we know what we are doing + cp ${WORKDIR}/modules.txt vendor/ + + oe_runmake GO=${GO} BUILDTAGS="${BUILDTAGS}" binaries +} + +do_install() { + install -d "${D}${BIN_PREFIX}${base_bindir}" + install -m 755 "${S}/src/import/_output/nerdctl" "${D}${BIN_PREFIX}${base_bindir}" +} + +INHIBIT_PACKAGE_STRIP = "1" +INSANE_SKIP:${PN} += "ldflags already-stripped" + diff --git a/recipes-containers/nerdctl/relocation.inc b/recipes-containers/nerdctl/relocation.inc new file mode 100644 index 00000000..7f3a1d34 --- /dev/null +++ b/recipes-containers/nerdctl/relocation.inc @@ -0,0 +1,152 @@ +export sites="gotest.tools/v3:gotest.tools/v3:force \ + go.uber.org/mock:go.uber.org/mock:force \ + golang.org/x/net:golang.org/x/net:force \ + golang.org/x/sys:golang.org/x/sys:force \ + gopkg.in/yaml.v3:gopkg.in/yaml.v3:force \ + go.opencensus.io:go.opencensus.io:force \ + golang.org/x/exp:golang.org/x/exp:force \ + golang.org/x/mod:golang.org/x/mod:force \ + golang.org/x/sync:golang.org/x/sync:force \ + golang.org/x/term:golang.org/x/term:force \ + golang.org/x/text:golang.org/x/text:force \ + golang.org/x/tools:golang.org/x/tools:force \ + golang.org/x/crypto:golang.org/x/crypto:force \ + github.com/moby/term:github.com/moby/term:force \ + go.mozilla.org/pkcs7:go.mozilla.org/pkcs7:force \ + github.com/docker/cli:github.com/docker/cli:force \ + github.com/pkg/errors:github.com/pkg/errors:force \ + github.com/fatih/color:github.com/fatih/color:force \ + github.com/ipfs/go-cid:github.com/ipfs/go-cid:force \ + github.com/spf13/cobra:github.com/spf13/cobra:force \ + github.com/spf13/pflag:github.com/spf13/pflag:force \ + github.com/cilium/ebpf:github.com/cilium/ebpf:force \ + github.com/google/uuid:github.com/google/uuid:force \ + github.com/moby/locker:github.com/moby/locker:force \ + google.golang.org/grpc:google.golang.org/grpc:force \ + github.com/go-logr/logr:github.com/go-logr/logr:force \ + github.com/go-logr/stdr:github.com/go-logr/stdr:force \ + github.com/miekg/pkcs11:github.com/miekg/pkcs11:force \ + github.com/tinylib/msgp:github.com/tinylib/msgp:force \ + lukechampine.com/blake3:lukechampine.com/blake3:force \ + github.com/docker/docker:github.com/docker/docker:force \ + github.com/tidwall/gjson:github.com/tidwall/gjson:force \ + github.com/gogo/protobuf:github.com/gogo/protobuf:force \ + github.com/google/go-cmp:github.com/google/go-cmp:force \ + github.com/imdario/mergo:github.com/imdario/mergo:force \ + github.com/philhofer/fwd:github.com/philhofer/fwd:force \ + github.com/tidwall/match:github.com/tidwall/match:force \ + go.opentelemetry.io/otel:go.opentelemetry.io/otel:force \ + github.com/containerd/log:github.com/containerd/log:force \ + github.com/djherbis/times:github.com/djherbis/times:force \ + github.com/godbus/dbus/v5:github.com/godbus/dbus/v5:force \ + github.com/mr-tron/base58:github.com/mr-tron/base58:force \ + github.com/tidwall/pretty:github.com/tidwall/pretty:force \ + github.com/containerd/fifo:github.com/containerd/fifo:force \ + github.com/docker/go-units:github.com/docker/go-units:force \ + github.com/mattn/go-isatty:github.com/mattn/go-isatty:force \ + github.com/yuchanns/srslog:github.com/yuchanns/srslog:force \ + github.com/golang/protobuf:github.com/golang/protobuf:force \ + github.com/sirupsen/logrus:github.com/sirupsen/logrus:force \ + google.golang.org/genproto:google.golang.org/genproto:force \ + google.golang.org/protobuf:google.golang.org/protobuf:force \ + github.com/moby/sys/user:github.com/moby/sys/user/user:force \ + github.com/bmizerany/assert:github.com/bmizerany/assert:force \ + github.com/containerd/ttrpc:github.com/containerd/ttrpc:force \ + github.com/docker/go-events:github.com/docker/go-events:force \ + github.com/vbatts/tar-split:github.com/vbatts/tar-split:force \ + github.com/Microsoft/hcsshim:github.com/Microsoft/hcsshim:force \ + github.com/containerd/go-cni:github.com/containerd/go-cni:force \ + github.com/moby/sys/mount:github.com/moby/sys/mount/mount:force \ + github.com/vishvananda/netns:github.com/vishvananda/netns:force \ + github.com/Azure/go-ansiterm:github.com/Azure/go-ansiterm:force \ + github.com/felixge/httpsnoop:github.com/felixge/httpsnoop:force \ + github.com/golang/groupcache:github.com/golang/groupcache:force \ + github.com/hashicorp/errwrap:github.com/hashicorp/errwrap:force \ + github.com/minio/sha256-simd:github.com/minio/sha256-simd:force \ + github.com/pelletier/go-toml:github.com/pelletier/go-toml:force \ + github.com/spaolacci/murmur3:github.com/spaolacci/murmur3:force \ + github.com/Microsoft/go-winio:github.com/Microsoft/go-winio:force \ + github.com/containerd/console:github.com/containerd/console:force \ + github.com/coreos/go-iptables:github.com/coreos/go-iptables:force \ + github.com/containerd/cgroups:github.com/containerd/cgroups:force \ + github.com/containerd/go-runc:github.com/containerd/go-runc:force \ + github.com/containerd/typeurl:github.com/containerd/typeurl:force \ + github.com/go-jose/go-jose/v3:github.com/go-jose/go-jose/v3:force \ + github.com/klauspost/compress:github.com/klauspost/compress:force \ + github.com/klauspost/cpuid/v2:github.com/klauspost/cpuid/v2:force \ + github.com/mattn/go-colorable:github.com/mattn/go-colorable:force \ + github.com/moby/sys/signal:github.com/moby/sys/signal/signal:force \ + github.com/containerd/imgcrypt:github.com/containerd/imgcrypt:force \ + github.com/muesli/cancelreader:github.com/muesli/cancelreader:force \ + github.com/vishvananda/netlink:github.com/vishvananda/netlink:force \ + github.com/containers/ocicrypt:github.com/containers/ocicrypt:force \ + github.com/mattn/go-shellwords:github.com/mattn/go-shellwords:force \ + github.com/containerd/platforms:github.com/containerd/platforms:force \ + github.com/pelletier/go-toml/v2:github.com/pelletier/go-toml/v2:force \ + github.com/mitchellh/go-homedir:github.com/mitchellh/go-homedir:force \ + github.com/moby/sys/symlink:github.com/moby/sys/symlink/symlink:force \ + github.com/xeipuuv/gojsonschema:github.com/xeipuuv/gojsonschema:force \ + github.com/Masterminds/semver/v3:github.com/Masterminds/semver/v3:force \ + github.com/containerd/cgroups/v3:github.com/containerd/cgroups/v3:force \ + github.com/containerd/containerd:github.com/containerd/containerd:force \ + github.com/containerd/continuity:github.com/containerd/continuity:force \ + github.com/containerd/typeurl/v2:github.com/containerd/typeurl/v2:force \ + github.com/coreos/go-systemd/v22:github.com/coreos/go-systemd/v22:force \ + github.com/docker/go-connections:github.com/docker/go-connections:force \ + github.com/xeipuuv/gojsonpointer:github.com/xeipuuv/gojsonpointer:force \ + github.com/fahedouch/go-logrotate:github.com/fahedouch/go-logrotate:force \ + github.com/mitchellh/mapstructure:github.com/mitchellh/mapstructure:force \ + github.com/distribution/reference:github.com/distribution/reference:force \ + github.com/multiformats/go-base32:github.com/multiformats/go-base32:force \ + github.com/multiformats/go-base36:github.com/multiformats/go-base36:force \ + github.com/multiformats/go-varint:github.com/multiformats/go-varint:force \ + github.com/opencontainers/selinux:github.com/opencontainers/selinux:force \ + go.opentelemetry.io/otel/trace:go.opentelemetry.io/otel/trace/trace:force \ + github.com/compose-spec/compose-go:github.com/compose-spec/compose-go:force \ + github.com/containernetworking/cni:github.com/containernetworking/cni:force \ + github.com/hashicorp/go-multierror:github.com/hashicorp/go-multierror:force \ + github.com/moby/sys/mountinfo:github.com/moby/sys/mountinfo/mountinfo:force \ + github.com/xeipuuv/gojsonreference:github.com/xeipuuv/gojsonreference:force \ + go.opentelemetry.io/otel/metric:go.opentelemetry.io/otel/metric/metric:force \ + github.com/awslabs/soci-snapshotter:github.com/awslabs/soci-snapshotter:force \ + github.com/opencontainers/go-digest:github.com/opencontainers/go-digest:force \ + github.com/moby/sys/sequential:github.com/moby/sys/sequential/sequential:force \ + github.com/opencontainers/image-spec:github.com/opencontainers/image-spec:force \ + github.com/AdaLogics/go-fuzz-headers:github.com/AdaLogics/go-fuzz-headers:force \ + github.com/inconshreveable/mousetrap:github.com/inconshreveable/mousetrap:force \ + github.com/multiformats/go-multiaddr:github.com/multiformats/go-multiaddr:force \ + github.com/multiformats/go-multibase:github.com/multiformats/go-multibase:force \ + github.com/multiformats/go-multihash:github.com/multiformats/go-multihash:force \ + github.com/stefanberger/go-pkcs11uri:github.com/stefanberger/go-pkcs11uri:force \ + github.com/cyphar/filepath-securejoin:github.com/cyphar/filepath-securejoin:force \ + github.com/containernetworking/plugins:github.com/containernetworking/plugins:force \ + github.com/fluent/fluent-logger-golang:github.com/fluent/fluent-logger-golang:force \ + github.com/opencontainers/runtime-spec:github.com/opencontainers/runtime-spec:force \ + github.com/AdamKorcz/go-118-fuzz-build:github.com/AdamKorcz/go-118-fuzz-build:force \ + github.com/containerd/nydus-snapshotter:github.com/containerd/nydus-snapshotter:force \ + github.com/containerd/stargz-snapshotter:github.com/containerd/stargz-snapshotter:force \ + github.com/rootless-containers/bypass4netns:github.com/rootless-containers/bypass4netns:force \ + github.com/docker/docker-credential-helpers:github.com/docker/docker-credential-helpers:force \ + github.com/rootless-containers/rootlesskit/v2:github.com/rootless-containers/rootlesskit/v2:force \ + github.com/containerd/stargz-snapshotter/ipfs:github.com/containerd/stargz-snapshotter/ipfs/ipfs:force \ + google.golang.org/genproto/googleapis/rpc:google.golang.org/genproto/googleapis/rpc/googleapis/rpc:force \ + github.com/containerd/accelerated-container-image:github.com/containerd/accelerated-container-image:force \ + github.com/containerd/stargz-snapshotter/estargz:github.com/containerd/stargz-snapshotter/estargz/estargz:force \ + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp:go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/instrumentation/net/http/otelhttp:force" + +do_compile:prepend() { + cd ${S}/src/import + for s in $sites; do + site_dest=$(echo $s | cut -d: -f1) + site_source=$(echo $s | cut -d: -f2) + force_flag=$(echo $s | cut -d: -f3) + mkdir -p vendor.copy/$site_dest + if [ -n "$force_flag" ]; then + echo "[INFO] $site_dest: force copying .go files" + rm -rf vendor.copy/$site_dest + rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest + else + [ -n "$(ls -A vendor.copy/$site_dest/*.go 2> /dev/null)" ] && { echo "[INFO] vendor.fetch/$site_source -> $site_dest: go copy skipped (files present)" ; true ; } || { echo "[INFO] $site_dest: copying .go files" ; rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest ; } + fi + done +} diff --git a/recipes-containers/nerdctl/src_uri.inc b/recipes-containers/nerdctl/src_uri.inc new file mode 100644 index 00000000..eff9ec1a --- /dev/null +++ b/recipes-containers/nerdctl/src_uri.inc @@ -0,0 +1,675 @@ +# gotest.tools/v3 v3.5.1 +# [1] git ls-remote https://github.com/gotestyourself/gotest.tools 81cea1abc596b025bf2573c7fdf97740512e4c6c +SRCREV_gotest.tools-v3="81cea1abc596b025bf2573c7fdf97740512e4c6c" +SRC_URI += "git://github.com/gotestyourself/gotest.tools;name=gotest.tools-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gotest.tools/v3" + +# go.uber.org/mock v0.4.0 +# [1] git ls-remote https://github.com/uber/mock 74a29c6e6c2cbb8ccee94db061c1604ff33fd188 +SRCREV_mock="74a29c6e6c2cbb8ccee94db061c1604ff33fd188" +SRC_URI += "git://github.com/uber/mock;name=mock;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/mock" + +# golang.org/x/net v0.21.0 +# [1] git ls-remote https://go.googlesource.com/net 73d21fdbb4d7dc7115b50526b93b6c37a4e3377f +SRCREV_net="73d21fdbb4d7dc7115b50526b93b6c37a4e3377f" +SRC_URI += "git://go.googlesource.com/net;name=net;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/net" + +# golang.org/x/sys v0.17.0 +# [1] git ls-remote https://go.googlesource.com/sys 914b96c1bddd0738464c043cccbbac14fc94b955 +SRCREV_sys="914b96c1bddd0738464c043cccbbac14fc94b955" +SRC_URI += "git://go.googlesource.com/sys;name=sys;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/sys" + +# gopkg.in/yaml.v3 v3.0.1 +# [1] git ls-remote https://github.com/go-yaml/yaml f6f7691b1fdeb513f56608cd2c32c51f8194bf51 +SRCREV_yaml.v3="f6f7691b1fdeb513f56608cd2c32c51f8194bf51" +SRC_URI += "git://github.com/go-yaml/yaml;name=yaml.v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/yaml.v3" + +# go.opencensus.io v0.24.0 +# [1] git ls-remote https://github.com/census-instrumentation/opencensus-go b1a01ee95db0e690d91d7193d037447816fae4c5 +SRCREV_go.opencensus.io="b1a01ee95db0e690d91d7193d037447816fae4c5" +SRC_URI += "git://github.com/census-instrumentation/opencensus-go;name=go.opencensus.io;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opencensus.io" + +# golang.org/x/exp v0.0.0-20231006140011-7918f672742d +# [1] git ls-remote https://go.googlesource.com/exp 7918f672742dd40ff5cf8d3c316a9315410c2d3c +SRCREV_exp="7918f672742dd40ff5cf8d3c316a9315410c2d3c" +SRC_URI += "git://go.googlesource.com/exp;name=exp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/exp" + +# golang.org/x/mod v0.13.0 +# [1] git ls-remote https://go.googlesource.com/mod 5b692803cf76a65fc5d39178c0a36678e69c0e5a +SRCREV_mod="5b692803cf76a65fc5d39178c0a36678e69c0e5a" +SRC_URI += "git://go.googlesource.com/mod;name=mod;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/mod" + +# golang.org/x/sync v0.6.0 +# [1] git ls-remote https://go.googlesource.com/sync 59c1ca1e4661ed4452be4069ceea3c233f4deec1 +SRCREV_sync="59c1ca1e4661ed4452be4069ceea3c233f4deec1" +SRC_URI += "git://go.googlesource.com/sync;name=sync;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/sync" + +# golang.org/x/term v0.17.0 +# [1] git ls-remote https://go.googlesource.com/term 353276a841e232e41e0f76e7a61fe0e5d1f92cf1 +SRCREV_x-term="353276a841e232e41e0f76e7a61fe0e5d1f92cf1" +SRC_URI += "git://go.googlesource.com/term;name=x-term;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/term" + +# golang.org/x/text v0.14.0 +# [1] git ls-remote https://go.googlesource.com/text 6c97a165dd661335ff7bce6104a008558123c353 +SRCREV_text="6c97a165dd661335ff7bce6104a008558123c353" +SRC_URI += "git://go.googlesource.com/text;name=text;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/text" + +# golang.org/x/tools v0.14.0 +# [1] git ls-remote https://go.googlesource.com/tools 3f4194ee29d7db9b59757dfff729ef55cf89661c +SRCREV_tools="3f4194ee29d7db9b59757dfff729ef55cf89661c" +SRC_URI += "git://go.googlesource.com/tools;name=tools;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/tools" + +# golang.org/x/crypto v0.19.0 +# [1] git ls-remote https://go.googlesource.com/crypto 405cb3bdea78b1b48ee79096733841247a944de0 +SRCREV_crypto="405cb3bdea78b1b48ee79096733841247a944de0" +SRC_URI += "git://go.googlesource.com/crypto;name=crypto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/crypto" + +# github.com/moby/term v0.5.0 +# [1] git ls-remote https://github.com/moby/term 9c3c875fad924eb6c9dd32a361b5fc0a49a4feb9 +SRCREV_term="9c3c875fad924eb6c9dd32a361b5fc0a49a4feb9" +SRC_URI += "git://github.com/moby/term;name=term;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/term" + +# go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 +# [1] git ls-remote https://github.com/mozilla-services/pkcs7 432b2356ecb18209c1cec25680b8a23632794f21 +SRCREV_pkcs7="432b2356ecb18209c1cec25680b8a23632794f21" +SRC_URI += "git://github.com/mozilla-services/pkcs7;name=pkcs7;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.mozilla.org/pkcs7" + +# github.com/docker/cli v24.0.7+incompatible +# [1] git ls-remote https://github.com/docker/cli afdd53b4e341be38d2056a42113b938559bb1d94 +SRCREV_cli="afdd53b4e341be38d2056a42113b938559bb1d94" +SRC_URI += "git://github.com/docker/cli;name=cli;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/cli" + +# github.com/pkg/errors v0.9.1 +# [1] git ls-remote https://github.com/pkg/errors 614d223910a179a466c1767a985424175c39b465 +SRCREV_errors="614d223910a179a466c1767a985424175c39b465" +SRC_URI += "git://github.com/pkg/errors;name=errors;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pkg/errors" + +# github.com/fatih/color v1.16.0 +# [1] git ls-remote https://github.com/fatih/color 0f9779ed479afd460f0c2cc5a3d3eb69b9ba188b +SRCREV_color="0f9779ed479afd460f0c2cc5a3d3eb69b9ba188b" +SRC_URI += "git://github.com/fatih/color;name=color;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fatih/color" + +# github.com/ipfs/go-cid v0.4.1 +# [1] git ls-remote https://github.com/ipfs/go-cid d46e7f28669cd2c463bc68fe86e7dbe4f8240ab7 +SRCREV_go-cid="d46e7f28669cd2c463bc68fe86e7dbe4f8240ab7" +SRC_URI += "git://github.com/ipfs/go-cid;name=go-cid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/ipfs/go-cid" + +# github.com/spf13/cobra v1.8.0 +# [1] git ls-remote https://github.com/spf13/cobra a0a6ae020bb3899ff0276067863e50523f897370 +SRCREV_cobra="a0a6ae020bb3899ff0276067863e50523f897370" +SRC_URI += "git://github.com/spf13/cobra;name=cobra;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spf13/cobra" + +# github.com/spf13/pflag v1.0.5 +# [1] git ls-remote https://github.com/spf13/pflag 2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab +SRCREV_pflag="2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab" +SRC_URI += "git://github.com/spf13/pflag;name=pflag;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spf13/pflag" + +# github.com/cilium/ebpf v0.11.0 +# [1] git ls-remote https://github.com/cilium/ebpf 270c859894bd38cdd0c7783317b16343409e4df8 +SRCREV_ebpf="270c859894bd38cdd0c7783317b16343409e4df8" +SRC_URI += "git://github.com/cilium/ebpf;name=ebpf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cilium/ebpf" + +# github.com/google/uuid v1.6.0 +# [1] git ls-remote https://github.com/google/uuid 0f11ee6918f41a04c201eceeadf612a377bc7fbc +SRCREV_uuid="0f11ee6918f41a04c201eceeadf612a377bc7fbc" +SRC_URI += "git://github.com/google/uuid;name=uuid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/uuid" + +# github.com/moby/locker v1.0.1 +# [1] git ls-remote https://github.com/moby/locker 281af2d563954745bea9d1487c965f24d30742fe +SRCREV_locker="281af2d563954745bea9d1487c965f24d30742fe" +SRC_URI += "git://github.com/moby/locker;name=locker;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/locker" + +# google.golang.org/grpc v1.59.0 +# [1] git ls-remote https://github.com/grpc/grpc-go 7765221f4bf6104973db7946d56936cf838cad46 +SRCREV_grpc="7765221f4bf6104973db7946d56936cf838cad46" +SRC_URI += "git://github.com/grpc/grpc-go;name=grpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/grpc" + +# github.com/go-logr/logr v1.3.0 +# [1] git ls-remote https://github.com/go-logr/logr 8adefbede0fe82bdee4fb8c9c9bdc7bc5d91388f +SRCREV_logr="8adefbede0fe82bdee4fb8c9c9bdc7bc5d91388f" +SRC_URI += "git://github.com/go-logr/logr;name=logr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-logr/logr" + +# github.com/go-logr/stdr v1.2.2 +# [1] git ls-remote https://github.com/go-logr/stdr 521af2addfa7c81c8a65d0e85ed34bb6bb6dc262 +SRCREV_stdr="521af2addfa7c81c8a65d0e85ed34bb6bb6dc262" +SRC_URI += "git://github.com/go-logr/stdr;name=stdr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-logr/stdr" + +# github.com/miekg/pkcs11 v1.1.1 +# [1] git ls-remote https://github.com/miekg/pkcs11 f3481918a208bd212aa995a41f92d786eb418a7d +SRCREV_pkcs11="f3481918a208bd212aa995a41f92d786eb418a7d" +SRC_URI += "git://github.com/miekg/pkcs11;name=pkcs11;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/miekg/pkcs11" + +# github.com/tinylib/msgp v1.1.6 +# [1] git ls-remote https://github.com/tinylib/msgp 205265da651409c54677b486e350b4d105da6d8b +SRCREV_msgp="205265da651409c54677b486e350b4d105da6d8b" +SRC_URI += "git://github.com/tinylib/msgp;name=msgp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tinylib/msgp" + +# lukechampine.com/blake3 v1.1.7 +# [1] git ls-remote https://github.com/lukechampine/blake3 bb7ece4161ea910c6c385c17799b17d658075fcd +SRCREV_blake3="bb7ece4161ea910c6c385c17799b17d658075fcd" +SRC_URI += "git://github.com/lukechampine/blake3;name=blake3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/lukechampine.com/blake3" + +# github.com/docker/docker v24.0.7+incompatible +# [1] git ls-remote https://github.com/moby/moby 311b9ff0aa93aa55880e1e5f8871c4fb69583426 +SRCREV_docker="311b9ff0aa93aa55880e1e5f8871c4fb69583426" +SRC_URI += "git://github.com/moby/moby;name=docker;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/docker" + +# github.com/tidwall/gjson v1.17.1 +# [1] git ls-remote https://github.com/tidwall/gjson bbf40bb0e4f47860677c7115b2eaa5b3413ce23e +SRCREV_gjson="bbf40bb0e4f47860677c7115b2eaa5b3413ce23e" +SRC_URI += "git://github.com/tidwall/gjson;name=gjson;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tidwall/gjson" + +# github.com/moby/sys/user v0.1.0 +# [1] git ls-remote https://github.com/moby/sys c0711cde08c8fa33857a2c28721659267f49b5e2 +SRCREV_user="c0711cde08c8fa33857a2c28721659267f49b5e2" +SRC_URI += "git://github.com/moby/sys;name=user;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/user" + +# github.com/gogo/protobuf v1.3.2 +# [1] git ls-remote https://github.com/gogo/protobuf b03c65ea87cdc3521ede29f62fe3ce239267c1bc +SRCREV_protobuf="b03c65ea87cdc3521ede29f62fe3ce239267c1bc" +SRC_URI += "git://github.com/gogo/protobuf;name=protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gogo/protobuf" + +# github.com/google/go-cmp v0.6.0 +# [1] git ls-remote https://github.com/google/go-cmp c3ad8435e7bef96af35732bc0789e5a2278c6d5f +SRCREV_go-cmp="c3ad8435e7bef96af35732bc0789e5a2278c6d5f" +SRC_URI += "git://github.com/google/go-cmp;name=go-cmp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/go-cmp" + +# github.com/imdario/mergo v0.3.16 +# [1] git ls-remote https://github.com/darccio/mergo 14fe2b165b83359196f820886a2b24f2771729e9 +SRCREV_mergo="14fe2b165b83359196f820886a2b24f2771729e9" +SRC_URI += "git://github.com/darccio/mergo;name=mergo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/imdario/mergo" + +# github.com/philhofer/fwd v1.1.1 +# [1] git ls-remote https://github.com/philhofer/fwd 9bcb9cab1b0394d8516a132ec243ba944efdb644 +SRCREV_fwd="9bcb9cab1b0394d8516a132ec243ba944efdb644" +SRC_URI += "git://github.com/philhofer/fwd;name=fwd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/philhofer/fwd" + +# github.com/tidwall/match v1.1.1 +# [1] git ls-remote https://github.com/tidwall/match 4c9fc61b493b7aa0a3d347e9190aa78c5bec09cf +SRCREV_match="4c9fc61b493b7aa0a3d347e9190aa78c5bec09cf" +SRC_URI += "git://github.com/tidwall/match;name=match;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tidwall/match" + +# go.opentelemetry.io/otel v1.19.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 60666c554065ac4da502fe28943eea4b938ab479 +SRCREV_otel="60666c554065ac4da502fe28943eea4b938ab479" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=otel;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel" + +# github.com/containerd/log v0.1.0 +# [1] git ls-remote https://github.com/containerd/log 0fc1e28871fdf2786e2cc51bbe4133db6547a199 +SRCREV_log="0fc1e28871fdf2786e2cc51bbe4133db6547a199" +SRC_URI += "git://github.com/containerd/log;name=log;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/log" + +# github.com/moby/sys/mount v0.3.3 +# [1] git ls-remote https://github.com/moby/sys 416188aff8404d549e1e34a50e513befeb11c3b9 +SRCREV_mount="416188aff8404d549e1e34a50e513befeb11c3b9" +SRC_URI += "git://github.com/moby/sys;name=mount;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/mount" + +# github.com/djherbis/times v1.5.0 +# [1] git ls-remote https://github.com/djherbis/times a1edc5dc082a710e4a808e99c78989b8d04e3025 +SRCREV_times="a1edc5dc082a710e4a808e99c78989b8d04e3025" +SRC_URI += "git://github.com/djherbis/times;name=times;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/djherbis/times" + +# github.com/godbus/dbus/v5 v5.1.0 +# [1] git ls-remote https://github.com/godbus/dbus e523abc905595cf17fb0001a7d77eaaddfaa216d +SRCREV_v5="e523abc905595cf17fb0001a7d77eaaddfaa216d" +SRC_URI += "git://github.com/godbus/dbus;name=v5;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/godbus/dbus/v5" + +# github.com/mr-tron/base58 v1.2.0 +# [1] git ls-remote https://github.com/mr-tron/base58 cd0e5141f51dfcadb8311fd8e495eb11126a8010 +SRCREV_base58="cd0e5141f51dfcadb8311fd8e495eb11126a8010" +SRC_URI += "git://github.com/mr-tron/base58;name=base58;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mr-tron/base58" + +# github.com/tidwall/pretty v1.2.0 +# [1] git ls-remote https://github.com/tidwall/pretty aaa765e7476acb0028a854b85675801362cbdaa2 +SRCREV_pretty="aaa765e7476acb0028a854b85675801362cbdaa2" +SRC_URI += "git://github.com/tidwall/pretty;name=pretty;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tidwall/pretty" + +# github.com/containerd/fifo v1.1.0 +# [1] git ls-remote https://github.com/containerd/fifo 151b205263c29d471e0d55c787d2ce9f5343fd46 +SRCREV_fifo="151b205263c29d471e0d55c787d2ce9f5343fd46" +SRC_URI += "git://github.com/containerd/fifo;name=fifo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/fifo" + +# github.com/docker/go-units v0.5.0 +# [1] git ls-remote https://github.com/docker/go-units e682442797b36348f8e1f98defdbf32bac0b6c6f +SRCREV_go-units="e682442797b36348f8e1f98defdbf32bac0b6c6f" +SRC_URI += "git://github.com/docker/go-units;name=go-units;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-units" + +# github.com/mattn/go-isatty v0.0.20 +# [1] git ls-remote https://github.com/mattn/go-isatty a7c02353c47bc4ec6b30dc9628154ae4fe760c11 +SRCREV_go-isatty="a7c02353c47bc4ec6b30dc9628154ae4fe760c11" +SRC_URI += "git://github.com/mattn/go-isatty;name=go-isatty;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-isatty" + +# github.com/moby/sys/signal v0.7.0 +# [1] git ls-remote https://github.com/moby/sys b8d8fabf1fa5cf0de7c1a1729145eee854ea31f5 +SRCREV_signal="b8d8fabf1fa5cf0de7c1a1729145eee854ea31f5" +SRC_URI += "git://github.com/moby/sys;name=signal;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/signal" + +# github.com/yuchanns/srslog v1.1.0 +# [1] git ls-remote https://github.com/yuchanns/srslog becd9b11119269a7928ae89fde90784335c1d016 +SRCREV_srslog="becd9b11119269a7928ae89fde90784335c1d016" +SRC_URI += "git://github.com/yuchanns/srslog;name=srslog;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/yuchanns/srslog" + +# github.com/golang/protobuf v1.5.3 +# [1] git ls-remote https://github.com/golang/protobuf 5d5e8c018a13017f9d5b8bf4fad64aaa42a87308 +SRCREV_golang-protobuf="5d5e8c018a13017f9d5b8bf4fad64aaa42a87308" +SRC_URI += "git://github.com/golang/protobuf;name=golang-protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang/protobuf" + +# github.com/sirupsen/logrus v1.9.3 +# [1] git ls-remote https://github.com/sirupsen/logrus d40e25cd45ed9c6b2b66e6b97573a0413e4c23bd +SRCREV_logrus="d40e25cd45ed9c6b2b66e6b97573a0413e4c23bd" +SRC_URI += "git://github.com/sirupsen/logrus;name=logrus;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/sirupsen/logrus" + +# google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a +# [1] git ls-remote https://github.com/googleapis/go-genproto e917dd12ba7ad5f78e3112f832eeda0f94ca8fd4 +SRCREV_genproto="e917dd12ba7ad5f78e3112f832eeda0f94ca8fd4" +SRC_URI += "git://github.com/googleapis/go-genproto;name=genproto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto" + +# google.golang.org/protobuf v1.31.0 +# [1] git ls-remote https://github.com/protocolbuffers/protobuf-go 68463f0e96c93bc19ef36ccd3adfe690bfdb568c +SRCREV_google.golang.org-protobuf="68463f0e96c93bc19ef36ccd3adfe690bfdb568c" +SRC_URI += "git://github.com/protocolbuffers/protobuf-go;name=google.golang.org-protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/protobuf" + +# github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 +# [1] git ls-remote https://github.com/bmizerany/assert b7ed37b82869576c289d7d97fb2bbd8b64a0cb28 +SRCREV_assert="b7ed37b82869576c289d7d97fb2bbd8b64a0cb28" +SRC_URI += "git://github.com/bmizerany/assert;name=assert;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/bmizerany/assert" + +# github.com/containerd/ttrpc v1.2.2 +# [1] git ls-remote https://github.com/containerd/ttrpc ac26f8cbea1c440d451dd19a4a1b847fd073f3c3 +SRCREV_ttrpc="ac26f8cbea1c440d451dd19a4a1b847fd073f3c3" +SRC_URI += "git://github.com/containerd/ttrpc;name=ttrpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/ttrpc" + +# github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c +# [1] git ls-remote https://github.com/docker/go-events e31b211e4f1cd09aa76fe4ac244571fab96ae47f +SRCREV_go-events="e31b211e4f1cd09aa76fe4ac244571fab96ae47f" +SRC_URI += "git://github.com/docker/go-events;name=go-events;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-events" + +# github.com/moby/sys/symlink v0.2.0 +# [1] git ls-remote https://github.com/moby/sys 03b9f8d59a07f5206a2264105f4903a222aea964 +SRCREV_symlink="03b9f8d59a07f5206a2264105f4903a222aea964" +SRC_URI += "git://github.com/moby/sys;name=symlink;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/symlink" + +# github.com/vbatts/tar-split v0.11.5 +# [1] git ls-remote https://github.com/vbatts/tar-split 5ef0dd8243164ebacd755916a89d8085a5b6bb7f +SRCREV_tar-split="5ef0dd8243164ebacd755916a89d8085a5b6bb7f" +SRC_URI += "git://github.com/vbatts/tar-split;name=tar-split;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/vbatts/tar-split" + +# github.com/Microsoft/hcsshim v0.11.4 +# [1] git ls-remote https://github.com/microsoft/hcsshim b16edf62c1723deb948632261b445d0228d973e0 +SRCREV_hcsshim="b16edf62c1723deb948632261b445d0228d973e0" +SRC_URI += "git://github.com/microsoft/hcsshim;name=hcsshim;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Microsoft/hcsshim" + +# github.com/containerd/go-cni v1.1.9 +# [1] git ls-remote https://github.com/containerd/go-cni 6603d5bd8941d7f2026bb5627f6aa4ff434f859a +SRCREV_go-cni="6603d5bd8941d7f2026bb5627f6aa4ff434f859a" +SRC_URI += "git://github.com/containerd/go-cni;name=go-cni;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/go-cni" + +# github.com/vishvananda/netns v0.0.4 +# [1] git ls-remote https://github.com/vishvananda/netns 7a452d2d15292b2bfb2a2d88e6bdeac156a761b9 +SRCREV_netns="7a452d2d15292b2bfb2a2d88e6bdeac156a761b9" +SRC_URI += "git://github.com/vishvananda/netns;name=netns;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/vishvananda/netns" + +# github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 +# [1] git ls-remote https://github.com/Azure/go-ansiterm d185dfc1b5a126116ea5a19e148e29d16b4574c9 +SRCREV_go-ansiterm="d185dfc1b5a126116ea5a19e148e29d16b4574c9" +SRC_URI += "git://github.com/Azure/go-ansiterm;name=go-ansiterm;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Azure/go-ansiterm" + +# github.com/felixge/httpsnoop v1.0.3 +# [1] git ls-remote https://github.com/felixge/httpsnoop ef9fc62cdc3cc5abc33d6018fe1324890bb48145 +SRCREV_httpsnoop="ef9fc62cdc3cc5abc33d6018fe1324890bb48145" +SRC_URI += "git://github.com/felixge/httpsnoop;name=httpsnoop;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/felixge/httpsnoop" + +# github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da +# [1] git ls-remote https://github.com/golang/groupcache 41bb18bfe9da5321badc438f91158cd790a33aa3 +SRCREV_groupcache="41bb18bfe9da5321badc438f91158cd790a33aa3" +SRC_URI += "git://github.com/golang/groupcache;name=groupcache;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang/groupcache" + +# github.com/hashicorp/errwrap v1.1.0 +# [1] git ls-remote https://github.com/hashicorp/errwrap 7b00e5db719c64d14dd0caaacbd13e76254d02c0 +SRCREV_errwrap="7b00e5db719c64d14dd0caaacbd13e76254d02c0" +SRC_URI += "git://github.com/hashicorp/errwrap;name=errwrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/errwrap" + +# github.com/minio/sha256-simd v1.0.1 +# [1] git ls-remote https://github.com/minio/sha256-simd 6096f891a77bfe490cbea7a424c821b5fdb92849 +SRCREV_sha256-simd="6096f891a77bfe490cbea7a424c821b5fdb92849" +SRC_URI += "git://github.com/minio/sha256-simd;name=sha256-simd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/sha256-simd" + +# github.com/pelletier/go-toml v1.9.5 +# [1] git ls-remote https://github.com/pelletier/go-toml fed1464066413075eac02cd4dc368b5221845541 +SRCREV_go-toml="fed1464066413075eac02cd4dc368b5221845541" +SRC_URI += "git://github.com/pelletier/go-toml;name=go-toml;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pelletier/go-toml" + +# github.com/spaolacci/murmur3 v1.1.0 +# [1] git ls-remote https://github.com/spaolacci/murmur3 f09979ecbc725b9e6d41a297405f65e7e8804acc +SRCREV_murmur3="f09979ecbc725b9e6d41a297405f65e7e8804acc" +SRC_URI += "git://github.com/spaolacci/murmur3;name=murmur3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/spaolacci/murmur3" + +# github.com/Microsoft/go-winio v0.6.1 +# [1] git ls-remote https://github.com/microsoft/go-winio 070c828abb873da9e71c7247740253b50f7cf049 +SRCREV_go-winio="070c828abb873da9e71c7247740253b50f7cf049" +SRC_URI += "git://github.com/microsoft/go-winio;name=go-winio;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Microsoft/go-winio" + +# github.com/containerd/console v1.0.4 +# [1] git ls-remote https://github.com/containerd/console 8f6c4e4faef5a326d2cd907097d04c0239ee5e2f +SRCREV_console="8f6c4e4faef5a326d2cd907097d04c0239ee5e2f" +SRC_URI += "git://github.com/containerd/console;name=console;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/console" + +# github.com/coreos/go-iptables v0.7.0 +# [1] git ls-remote https://github.com/coreos/go-iptables b9dff5a19d9c3925da3f9b3c0a705de6c1fdc56c +SRCREV_go-iptables="b9dff5a19d9c3925da3f9b3c0a705de6c1fdc56c" +SRC_URI += "git://github.com/coreos/go-iptables;name=go-iptables;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-iptables" + +# github.com/containerd/cgroups v1.1.0 +# [1] git ls-remote https://github.com/containerd/cgroups fe7323f622bc222e72473679f12a9089aeeda177 +SRCREV_cgroups="fe7323f622bc222e72473679f12a9089aeeda177" +SRC_URI += "git://github.com/containerd/cgroups;name=cgroups;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/cgroups" + +# github.com/containerd/go-runc v1.0.0 +# [1] git ls-remote https://github.com/containerd/go-runc 16b287bc67d069a60fa48db15f330b790b74365b +SRCREV_go-runc="16b287bc67d069a60fa48db15f330b790b74365b" +SRC_URI += "git://github.com/containerd/go-runc;name=go-runc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/go-runc" + +# github.com/containerd/typeurl v1.0.3-0.20220422153119-7f6e6d160d67 +# [1] git ls-remote https://github.com/containerd/typeurl 7f6e6d160d675241af388d5cf1b90814786bac40 +SRCREV_typeurl="7f6e6d160d675241af388d5cf1b90814786bac40" +SRC_URI += "git://github.com/containerd/typeurl;name=typeurl;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/typeurl" + +# github.com/go-jose/go-jose/v3 v3.0.1 +# [1] git ls-remote https://github.com/go-jose/go-jose 47edce0854d533ac27795c9befd90b1f7ef87554 +SRCREV_go-jose-v3="47edce0854d533ac27795c9befd90b1f7ef87554" +SRC_URI += "git://github.com/go-jose/go-jose;name=go-jose-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-jose/go-jose/v3" + +# github.com/klauspost/compress v1.17.6 +# [1] git ls-remote https://github.com/klauspost/compress 255a13270e4608f2f2b97166d92f297de906c951 +SRCREV_compress="255a13270e4608f2f2b97166d92f297de906c951" +SRC_URI += "git://github.com/klauspost/compress;name=compress;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/klauspost/compress" + +# github.com/klauspost/cpuid/v2 v2.2.3 +# [1] git ls-remote https://github.com/klauspost/cpuid 3c0ec06adeb260a595bfb1dff123742e8bac34fb +SRCREV_cpuid-v2="3c0ec06adeb260a595bfb1dff123742e8bac34fb" +SRC_URI += "git://github.com/klauspost/cpuid;name=cpuid-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/klauspost/cpuid/v2" + +# github.com/mattn/go-colorable v0.1.13 +# [1] git ls-remote https://github.com/mattn/go-colorable 11a925cff3d38c293ddc8c05a16b504e3e2c63be +SRCREV_go-colorable="11a925cff3d38c293ddc8c05a16b504e3e2c63be" +SRC_URI += "git://github.com/mattn/go-colorable;name=go-colorable;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-colorable" + +# github.com/moby/sys/mountinfo v0.7.1 +# [1] git ls-remote https://github.com/moby/sys 4950d7687cf6c9b138dc0e18c2c7351e1f6ed497 +SRCREV_mountinfo="4950d7687cf6c9b138dc0e18c2c7351e1f6ed497" +SRC_URI += "git://github.com/moby/sys;name=mountinfo;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/mountinfo" + +# github.com/containerd/imgcrypt v1.1.9 +# [1] git ls-remote https://github.com/containerd/imgcrypt 90513b079771363133611a91de350ea932e09b26 +SRCREV_imgcrypt="90513b079771363133611a91de350ea932e09b26" +SRC_URI += "git://github.com/containerd/imgcrypt;name=imgcrypt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/imgcrypt" + +# github.com/muesli/cancelreader v0.2.2 +# [1] git ls-remote https://github.com/muesli/cancelreader d11f1e77abf7f8d69d81553ccaaf0b81163541a6 +SRCREV_cancelreader="d11f1e77abf7f8d69d81553ccaaf0b81163541a6" +SRC_URI += "git://github.com/muesli/cancelreader;name=cancelreader;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/muesli/cancelreader" + +# github.com/vishvananda/netlink v1.2.1-beta.2 +# [1] git ls-remote https://github.com/vishvananda/netlink 5e915e0149386ce3d02379ff93f4c0a5601779d5 +SRCREV_netlink="5e915e0149386ce3d02379ff93f4c0a5601779d5" +SRC_URI += "git://github.com/vishvananda/netlink;name=netlink;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/vishvananda/netlink" + +# github.com/containers/ocicrypt v1.1.9 +# [1] git ls-remote https://github.com/containers/ocicrypt c0e1fd5b82bc57acdb1a241dc602534eea42edb6 +SRCREV_ocicrypt="c0e1fd5b82bc57acdb1a241dc602534eea42edb6" +SRC_URI += "git://github.com/containers/ocicrypt;name=ocicrypt;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containers/ocicrypt" + +# github.com/mattn/go-shellwords v1.0.12 +# [1] git ls-remote https://github.com/mattn/go-shellwords 973b9d5391598d4ee601db46fa32f6e186a356ac +SRCREV_go-shellwords="973b9d5391598d4ee601db46fa32f6e186a356ac" +SRC_URI += "git://github.com/mattn/go-shellwords;name=go-shellwords;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-shellwords" + +# github.com/moby/sys/sequential v0.5.0 +# [1] git ls-remote https://github.com/moby/sys b22ba8a69b306f0b4adbbe2a529457e6283ed9f7 +SRCREV_sequential="b22ba8a69b306f0b4adbbe2a529457e6283ed9f7" +SRC_URI += "git://github.com/moby/sys;name=sequential;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/moby/sys/sequential" + +# go.opentelemetry.io/otel/trace v1.19.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 60666c554065ac4da502fe28943eea4b938ab479 +SRCREV_trace="60666c554065ac4da502fe28943eea4b938ab479" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=trace;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/trace" + +# github.com/containerd/platforms v0.1.1 +# [1] git ls-remote https://github.com/containerd/platforms db76a43eaea9a004a5f240620f966b0081123884 +SRCREV_platforms="db76a43eaea9a004a5f240620f966b0081123884" +SRC_URI += "git://github.com/containerd/platforms;name=platforms;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/platforms" + +# github.com/pelletier/go-toml/v2 v2.1.1 +# [1] git ls-remote https://github.com/pelletier/go-toml 34765b4a9e937ab927b5bd57231e98c68fe13109 +SRCREV_go-toml-v2="34765b4a9e937ab927b5bd57231e98c68fe13109" +SRC_URI += "git://github.com/pelletier/go-toml;name=go-toml-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pelletier/go-toml/v2" + +# github.com/mitchellh/go-homedir v1.1.0 +# [1] git ls-remote https://github.com/mitchellh/go-homedir af06845cf3004701891bf4fdb884bfe4920b3727 +SRCREV_go-homedir="af06845cf3004701891bf4fdb884bfe4920b3727" +SRC_URI += "git://github.com/mitchellh/go-homedir;name=go-homedir;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/go-homedir" + +# github.com/xeipuuv/gojsonschema v1.2.0 +# [1] git ls-remote https://github.com/xeipuuv/gojsonschema 82fcdeb203eb6ab2a67d0a623d9c19e5e5a64927 +SRCREV_gojsonschema="82fcdeb203eb6ab2a67d0a623d9c19e5e5a64927" +SRC_URI += "git://github.com/xeipuuv/gojsonschema;name=gojsonschema;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xeipuuv/gojsonschema" + +# go.opentelemetry.io/otel/metric v1.19.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go 60666c554065ac4da502fe28943eea4b938ab479 +SRCREV_metric="60666c554065ac4da502fe28943eea4b938ab479" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go;name=metric;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/otel/metric" + +# github.com/Masterminds/semver/v3 v3.2.1 +# [1] git ls-remote https://github.com/Masterminds/semver e06051f8fcc4c8b4a4990c337b9862a2448722e5 +SRCREV_v3="e06051f8fcc4c8b4a4990c337b9862a2448722e5" +SRC_URI += "git://github.com/Masterminds/semver;name=v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Masterminds/semver/v3" + +# github.com/containerd/cgroups/v3 v3.0.3 +# [1] git ls-remote https://github.com/containerd/cgroups 1e056883d58ac58daf7566065a46016b4532f35c +SRCREV_cgroups-v3="1e056883d58ac58daf7566065a46016b4532f35c" +SRC_URI += "git://github.com/containerd/cgroups;name=cgroups-v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/cgroups/v3" + +# github.com/containerd/containerd v1.7.13 +# [1] git ls-remote https://github.com/containerd/containerd 7c3aca7a610df76212171d200ca3811ff6096eb8 +SRCREV_containerd="7c3aca7a610df76212171d200ca3811ff6096eb8" +SRC_URI += "git://github.com/containerd/containerd;name=containerd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/containerd" + +# github.com/containerd/continuity v0.4.3 +# [1] git ls-remote https://github.com/containerd/continuity 1743d9104d944131cdedaba33a59d2f9bd80a6f2 +SRCREV_continuity="1743d9104d944131cdedaba33a59d2f9bd80a6f2" +SRC_URI += "git://github.com/containerd/continuity;name=continuity;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/continuity" + +# github.com/containerd/typeurl/v2 v2.1.1 +# [1] git ls-remote https://github.com/containerd/typeurl 7ef6316b771f959cbb208b229e3423a466947df3 +SRCREV_v2="7ef6316b771f959cbb208b229e3423a466947df3" +SRC_URI += "git://github.com/containerd/typeurl;name=v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/typeurl/v2" + +# github.com/coreos/go-systemd/v22 v22.5.0 +# [1] git ls-remote https://github.com/coreos/go-systemd d5623bf85e8e73ae6352f78ee6b55a287619dd4e +SRCREV_v22="d5623bf85e8e73ae6352f78ee6b55a287619dd4e" +SRC_URI += "git://github.com/coreos/go-systemd;name=v22;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-systemd/v22" + +# github.com/docker/go-connections v0.5.0 +# [1] git ls-remote https://github.com/docker/go-connections fa09c952e3eadbffaf8afc5b8a1667158ba38ace +SRCREV_go-connections="fa09c952e3eadbffaf8afc5b8a1667158ba38ace" +SRC_URI += "git://github.com/docker/go-connections;name=go-connections;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/go-connections" + +# github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb +# [1] git ls-remote https://github.com/xeipuuv/gojsonpointer 02993c407bfbf5f6dae44c4f4b1cf6a39b5fc5bb +SRCREV_gojsonpointer="02993c407bfbf5f6dae44c4f4b1cf6a39b5fc5bb" +SRC_URI += "git://github.com/xeipuuv/gojsonpointer;name=gojsonpointer;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xeipuuv/gojsonpointer" + +# github.com/fahedouch/go-logrotate v0.2.0 +# [1] git ls-remote https://github.com/fahedouch/go-logrotate 6b28a8e09e886889e0bc4347e66bd4d4d82f5b10 +SRCREV_go-logrotate="6b28a8e09e886889e0bc4347e66bd4d4d82f5b10" +SRC_URI += "git://github.com/fahedouch/go-logrotate;name=go-logrotate;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fahedouch/go-logrotate" + +# github.com/mitchellh/mapstructure v1.5.0 +# [1] git ls-remote https://github.com/mitchellh/mapstructure ab69d8d93410fce4361f4912bb1ff88110a81311 +SRCREV_mapstructure="ab69d8d93410fce4361f4912bb1ff88110a81311" +SRC_URI += "git://github.com/mitchellh/mapstructure;name=mapstructure;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/mapstructure" + +# github.com/distribution/reference v0.5.0 +# [1] git ls-remote https://github.com/distribution/reference 49c28499d219290c3226822e9cfcd4ede6d75379 +SRCREV_reference="49c28499d219290c3226822e9cfcd4ede6d75379" +SRC_URI += "git://github.com/distribution/reference;name=reference;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/distribution/reference" + +# github.com/multiformats/go-base32 v0.1.0 +# [1] git ls-remote https://github.com/multiformats/go-base32 a16b66327f327428b32b919939b8c93482507e1f +SRCREV_go-base32="a16b66327f327428b32b919939b8c93482507e1f" +SRC_URI += "git://github.com/multiformats/go-base32;name=go-base32;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-base32" + +# github.com/multiformats/go-base36 v0.1.0 +# [1] git ls-remote https://github.com/multiformats/go-base36 dc4afa6ad3b0720f4a1b282776db2a59ca9c8be7 +SRCREV_go-base36="dc4afa6ad3b0720f4a1b282776db2a59ca9c8be7" +SRC_URI += "git://github.com/multiformats/go-base36;name=go-base36;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-base36" + +# github.com/multiformats/go-varint v0.0.6 +# [1] git ls-remote https://github.com/multiformats/go-varint a3ded45ab16ca9f2f2a516e68053ffa7ebd9bb0e +SRCREV_go-varint="a3ded45ab16ca9f2f2a516e68053ffa7ebd9bb0e" +SRC_URI += "git://github.com/multiformats/go-varint;name=go-varint;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-varint" + +# github.com/opencontainers/selinux v1.11.0 +# [1] git ls-remote https://github.com/opencontainers/selinux b68c45eb2df48c6b0c949901ccda90c8e65fe677 +SRCREV_selinux="b68c45eb2df48c6b0c949901ccda90c8e65fe677" +SRC_URI += "git://github.com/opencontainers/selinux;name=selinux;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/selinux" + +# github.com/compose-spec/compose-go v1.20.2 +# [1] git ls-remote https://github.com/compose-spec/compose-go e390b9774ca100e1d75c8bc075054502783b48b8 +SRCREV_compose-go="e390b9774ca100e1d75c8bc075054502783b48b8" +SRC_URI += "git://github.com/compose-spec/compose-go;name=compose-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/compose-spec/compose-go" + +# github.com/containernetworking/cni v1.1.2 +# [1] git ls-remote https://github.com/containernetworking/cni 3363d143688bb83ca18489ac8b9dc204c1d49c4a +SRCREV_cni="3363d143688bb83ca18489ac8b9dc204c1d49c4a" +SRC_URI += "git://github.com/containernetworking/cni;name=cni;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containernetworking/cni" + +# github.com/hashicorp/go-multierror v1.1.1 +# [1] git ls-remote https://github.com/hashicorp/go-multierror 9974e9ec57696378079ecc3accd3d6f29401b3a0 +SRCREV_go-multierror="9974e9ec57696378079ecc3accd3d6f29401b3a0" +SRC_URI += "git://github.com/hashicorp/go-multierror;name=go-multierror;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-multierror" + +# github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 +# [1] git ls-remote https://github.com/xeipuuv/gojsonreference bd5ef7bd5415a7ac448318e64f11a24cd21e594b +SRCREV_gojsonreference="bd5ef7bd5415a7ac448318e64f11a24cd21e594b" +SRC_URI += "git://github.com/xeipuuv/gojsonreference;name=gojsonreference;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/xeipuuv/gojsonreference" + +# github.com/awslabs/soci-snapshotter v0.4.1 +# [1] git ls-remote https://github.com/awslabs/soci-snapshotter 34e069d90460f422c549b3a8994aa26820cf6544 +SRCREV_soci-snapshotter="34e069d90460f422c549b3a8994aa26820cf6544" +SRC_URI += "git://github.com/awslabs/soci-snapshotter;name=soci-snapshotter;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/awslabs/soci-snapshotter" + +# github.com/opencontainers/go-digest v1.0.0 +# [1] git ls-remote https://github.com/opencontainers/go-digest ea51bea511f75cfa3ef6098cc253c5c3609b037a +SRCREV_go-digest="ea51bea511f75cfa3ef6098cc253c5c3609b037a" +SRC_URI += "git://github.com/opencontainers/go-digest;name=go-digest;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/go-digest" + +# github.com/opencontainers/image-spec v1.1.0 +# [1] git ls-remote https://github.com/opencontainers/image-spec e7f7c0ca69b21688c3cea7c87a04e4503e6099e2 +SRCREV_image-spec="e7f7c0ca69b21688c3cea7c87a04e4503e6099e2" +SRC_URI += "git://github.com/opencontainers/image-spec;name=image-spec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/image-spec" + +# github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 +# [1] git ls-remote https://github.com/AdaLogics/go-fuzz-headers ced1acdcaa24dc39c01b039fc37576c395f506cf +SRCREV_go-fuzz-headers="ced1acdcaa24dc39c01b039fc37576c395f506cf" +SRC_URI += "git://github.com/AdaLogics/go-fuzz-headers;name=go-fuzz-headers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/AdaLogics/go-fuzz-headers" + +# github.com/inconshreveable/mousetrap v1.1.0 +# [1] git ls-remote https://github.com/inconshreveable/mousetrap 4e8053ee7ef85a6bd26368364a6d27f1641c1d21 +SRCREV_mousetrap="4e8053ee7ef85a6bd26368364a6d27f1641c1d21" +SRC_URI += "git://github.com/inconshreveable/mousetrap;name=mousetrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/inconshreveable/mousetrap" + +# github.com/multiformats/go-multiaddr v0.12.0 +# [1] git ls-remote https://github.com/multiformats/go-multiaddr 5dd793c6fc4935fad347429a48a168acc8073474 +SRCREV_go-multiaddr="5dd793c6fc4935fad347429a48a168acc8073474" +SRC_URI += "git://github.com/multiformats/go-multiaddr;name=go-multiaddr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multiaddr" + +# github.com/multiformats/go-multibase v0.1.1 +# [1] git ls-remote https://github.com/multiformats/go-multibase c1bc15b22eedb45f9205f3b60ce5fcb8fca93e08 +SRCREV_go-multibase="c1bc15b22eedb45f9205f3b60ce5fcb8fca93e08" +SRC_URI += "git://github.com/multiformats/go-multibase;name=go-multibase;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multibase" + +# github.com/multiformats/go-multihash v0.2.1 +# [1] git ls-remote https://github.com/multiformats/go-multihash 16974ad98ab1fb19eb756919f55373b39cc80bec +SRCREV_go-multihash="16974ad98ab1fb19eb756919f55373b39cc80bec" +SRC_URI += "git://github.com/multiformats/go-multihash;name=go-multihash;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/multiformats/go-multihash" + +# github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 +# [1] git ls-remote https://github.com/stefanberger/go-pkcs11uri 78d3cae3a9805d89aa4fa80a362ca944c89a1b99 +SRCREV_go-pkcs11uri="78d3cae3a9805d89aa4fa80a362ca944c89a1b99" +SRC_URI += "git://github.com/stefanberger/go-pkcs11uri;name=go-pkcs11uri;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/stefanberger/go-pkcs11uri" + +# github.com/cyphar/filepath-securejoin v0.2.4 +# [1] git ls-remote https://github.com/cyphar/filepath-securejoin 2710d06c5b4ba3168beffa0689798d2db12e8ac4 +SRCREV_filepath-securejoin="2710d06c5b4ba3168beffa0689798d2db12e8ac4" +SRC_URI += "git://github.com/cyphar/filepath-securejoin;name=filepath-securejoin;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cyphar/filepath-securejoin" + +# github.com/containernetworking/plugins v1.4.0 +# [1] git ls-remote https://github.com/containernetworking/plugins 1fb5bf669e42cd208008e52d45b41fe2c3eb8dbc +SRCREV_plugins="1fb5bf669e42cd208008e52d45b41fe2c3eb8dbc" +SRC_URI += "git://github.com/containernetworking/plugins;name=plugins;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containernetworking/plugins" + +# github.com/fluent/fluent-logger-golang v1.9.0 +# [1] git ls-remote https://github.com/fluent/fluent-logger-golang 5538e904aeb515c10a624da620581bdf420d4b8a +SRCREV_fluent-logger-golang="5538e904aeb515c10a624da620581bdf420d4b8a" +SRC_URI += "git://github.com/fluent/fluent-logger-golang;name=fluent-logger-golang;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fluent/fluent-logger-golang" + +# github.com/opencontainers/runtime-spec v1.2.0 +# [1] git ls-remote https://github.com/opencontainers/runtime-spec 36852b0d072a4b5da675300a9e73bc4b0853f5c6 +SRCREV_runtime-spec="36852b0d072a4b5da675300a9e73bc4b0853f5c6" +SRC_URI += "git://github.com/opencontainers/runtime-spec;name=runtime-spec;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/opencontainers/runtime-spec" + +# github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 +# [1] git ls-remote https://github.com/AdamKorcz/go-118-fuzz-build 8075edf89bb034603c758f28fe93143047ac5677 +SRCREV_go-118-fuzz-build="8075edf89bb034603c758f28fe93143047ac5677" +SRC_URI += "git://github.com/AdamKorcz/go-118-fuzz-build;name=go-118-fuzz-build;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/AdamKorcz/go-118-fuzz-build" + +# github.com/containerd/nydus-snapshotter v0.13.7 +# [1] git ls-remote https://github.com/containerd/nydus-snapshotter 3fcac86ccfe192b34e8605de9e26b9f40150c8cb +SRCREV_nydus-snapshotter="3fcac86ccfe192b34e8605de9e26b9f40150c8cb" +SRC_URI += "git://github.com/containerd/nydus-snapshotter;name=nydus-snapshotter;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/nydus-snapshotter" + +# github.com/containerd/stargz-snapshotter v0.15.1 +# [1] git ls-remote https://github.com/containerd/stargz-snapshotter 64ab83bd65cd4a763e262955984232cc5ddfeb3f +SRCREV_stargz-snapshotter="64ab83bd65cd4a763e262955984232cc5ddfeb3f" +SRC_URI += "git://github.com/containerd/stargz-snapshotter;name=stargz-snapshotter;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/stargz-snapshotter" + +# google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b +# [1] git ls-remote https://github.com/googleapis/go-genproto 49dd2c1f3d0bf0f025ccaf8eeaaad902e3c63846 +SRCREV_rpc="49dd2c1f3d0bf0f025ccaf8eeaaad902e3c63846" +SRC_URI += "git://github.com/googleapis/go-genproto;name=rpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto/googleapis/rpc" + +# github.com/rootless-containers/bypass4netns v0.4.0 +# [1] git ls-remote https://github.com/rootless-containers/bypass4netns 3385f1f32437dba4300a2bdf1567a7ece939f9b9 +SRCREV_bypass4netns="3385f1f32437dba4300a2bdf1567a7ece939f9b9" +SRC_URI += "git://github.com/rootless-containers/bypass4netns;name=bypass4netns;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rootless-containers/bypass4netns" + +# github.com/docker/docker-credential-helpers v0.7.0 +# [1] git ls-remote https://github.com/docker/docker-credential-helpers ac5992b5f4756fc0398a7d0c93c609e624368bde +SRCREV_docker-credential-helpers="ac5992b5f4756fc0398a7d0c93c609e624368bde" +SRC_URI += "git://github.com/docker/docker-credential-helpers;name=docker-credential-helpers;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/docker/docker-credential-helpers" + +# github.com/containerd/stargz-snapshotter/ipfs v0.15.1 +# [1] git ls-remote https://github.com/containerd/stargz-snapshotter 64ab83bd65cd4a763e262955984232cc5ddfeb3f +SRCREV_ipfs="64ab83bd65cd4a763e262955984232cc5ddfeb3f" +SRC_URI += "git://github.com/containerd/stargz-snapshotter;name=ipfs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/stargz-snapshotter/ipfs" + +# github.com/rootless-containers/rootlesskit/v2 v2.0.1 +# [1] git ls-remote https://github.com/rootless-containers/rootlesskit 5e9cd7880619a3c0a675e6a41d9562b6839066ee +SRCREV_rootlesskit-v2="5e9cd7880619a3c0a675e6a41d9562b6839066ee" +SRC_URI += "git://github.com/rootless-containers/rootlesskit;name=rootlesskit-v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rootless-containers/rootlesskit/v2" + +# github.com/containerd/stargz-snapshotter/estargz v0.15.1 +# [1] git ls-remote https://github.com/containerd/stargz-snapshotter 64ab83bd65cd4a763e262955984232cc5ddfeb3f +SRCREV_estargz="64ab83bd65cd4a763e262955984232cc5ddfeb3f" +SRC_URI += "git://github.com/containerd/stargz-snapshotter;name=estargz;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/stargz-snapshotter/estargz" + +# github.com/containerd/accelerated-container-image v1.0.2 +# [1] git ls-remote https://github.com/containerd/accelerated-container-image 526b680966031d9e07371894e1de68cbf9ae6282 +SRCREV_accelerated-container-image="526b680966031d9e07371894e1de68cbf9ae6282" +SRC_URI += "git://github.com/containerd/accelerated-container-image;name=accelerated-container-image;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/accelerated-container-image" + +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 +# [1] git ls-remote https://github.com/open-telemetry/opentelemetry-go-contrib 9d4eb7e7706038b07d33f83f76afbe13f53d171d +SRCREV_otelhttp="9d4eb7e7706038b07d33f83f76afbe13f53d171d" +SRC_URI += "git://github.com/open-telemetry/opentelemetry-go-contrib;name=otelhttp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" + diff --git a/recipes-containers/netavark/files/run-ptest b/recipes-containers/netavark/files/run-ptest new file mode 100644 index 00000000..7e017ae2 --- /dev/null +++ b/recipes-containers/netavark/files/run-ptest @@ -0,0 +1,8 @@ +#!/bin/bash + +shopt -s extglob + +# Skip the plugin tests because those example plugins are built only while +# running cargo test and for this to work as a ptest they would need to be cross +# compiled and installed as part of the ptest. +NETAVARK=/usr/libexec/podman/netavark bats test/!(*-plugin.bats) diff --git a/recipes-containers/netavark/files/tests.patch b/recipes-containers/netavark/files/tests.patch new file mode 100644 index 00000000..3e1e9ed9 --- /dev/null +++ b/recipes-containers/netavark/files/tests.patch @@ -0,0 +1,24 @@ +Upstream-Status: Pending + +Index: git/test/helpers.bash +=================================================================== +--- git.orig/test/helpers.bash ++++ git/test/helpers.bash +@@ -575,7 +575,7 @@ + fi + + nsenter -n -t "${CONTAINER_NS_PIDS[$container_ns]}" timeout --foreground -v --kill=10 5 \ +- nc $nc_common_args -l -p $container_port &>"$NETAVARK_TMPDIR/nc-out" <$stdin & ++ ncat $nc_common_args -l -p $container_port &>"$NETAVARK_TMPDIR/nc-out" <$stdin & + + # make sure to wait until port is bound otherwise test can flake + # https://github.com/containers/netavark/issues/433 +@@ -588,7 +588,7 @@ + fi + + data=$(random_string) +- run_in_host_netns nc $nc_common_args $connect_ip $host_port <<<"$data" ++ run_in_host_netns ncat $nc_common_args $connect_ip $host_port <<<"$data" + + got=$(cat "$NETAVARK_TMPDIR/nc-out") + assert "$got" == "$data" "ncat received data" diff --git a/recipes-containers/netavark/netavark-crates.inc b/recipes-containers/netavark/netavark-crates.inc new file mode 100644 index 00000000..00b7c53b --- /dev/null +++ b/recipes-containers/netavark/netavark-crates.inc @@ -0,0 +1,560 @@ +# Autogenerated with 'bitbake -c update_crates netavark' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/addr2line/0.21.0 \ + crate://crates.io/adler/1.0.2 \ + crate://crates.io/aho-corasick/1.1.2 \ + crate://crates.io/android-tzdata/0.1.1 \ + crate://crates.io/android_system_properties/0.1.5 \ + crate://crates.io/anstream/0.6.11 \ + crate://crates.io/anstyle/1.0.4 \ + crate://crates.io/anstyle-parse/0.2.2 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/3.0.1 \ + crate://crates.io/anyhow/1.0.75 \ + crate://crates.io/arrayvec/0.7.4 \ + crate://crates.io/async-broadcast/0.5.1 \ + crate://crates.io/async-channel/2.1.0 \ + crate://crates.io/async-executor/1.7.2 \ + crate://crates.io/async-fs/1.6.0 \ + crate://crates.io/async-io/1.13.0 \ + crate://crates.io/async-io/2.2.0 \ + crate://crates.io/async-lock/2.8.0 \ + crate://crates.io/async-lock/3.1.1 \ + crate://crates.io/async-process/1.8.1 \ + crate://crates.io/async-recursion/1.0.5 \ + crate://crates.io/async-signal/0.2.5 \ + crate://crates.io/async-stream/0.3.5 \ + crate://crates.io/async-stream-impl/0.3.5 \ + crate://crates.io/async-task/4.5.0 \ + crate://crates.io/async-trait/0.1.74 \ + crate://crates.io/atomic-waker/1.1.2 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/axum/0.6.20 \ + crate://crates.io/axum-core/0.3.4 \ + crate://crates.io/backtrace/0.3.69 \ + crate://crates.io/base64/0.21.5 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.4.1 \ + crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/blocking/1.5.1 \ + crate://crates.io/bumpalo/3.14.0 \ + crate://crates.io/byteorder/1.5.0 \ + crate://crates.io/bytes/1.5.0 \ + crate://crates.io/cc/1.0.83 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/chrono/0.4.32 \ + crate://crates.io/clap/4.4.12 \ + crate://crates.io/clap_builder/4.4.12 \ + crate://crates.io/clap_derive/4.4.7 \ + crate://crates.io/clap_lex/0.6.0 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/concurrent-queue/2.3.0 \ + crate://crates.io/core-foundation-sys/0.8.4 \ + crate://crates.io/cpufeatures/0.2.11 \ + crate://crates.io/crossbeam-utils/0.8.16 \ + crate://crates.io/crypto-common/0.1.6 \ + crate://crates.io/data-encoding/2.4.0 \ + crate://crates.io/derivative/2.2.0 \ + crate://crates.io/dhcproto/0.9.0 \ + crate://crates.io/dhcproto-macros/0.1.0 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/either/1.9.0 \ + crate://crates.io/enum-as-inner/0.5.1 \ + crate://crates.io/enum-as-inner/0.6.0 \ + crate://crates.io/enumflags2/0.7.8 \ + crate://crates.io/enumflags2_derive/0.7.8 \ + crate://crates.io/env_filter/0.1.0 \ + crate://crates.io/env_logger/0.11.0 \ + crate://crates.io/equivalent/1.0.1 \ + crate://crates.io/errno/0.3.8 \ + crate://crates.io/etherparse/0.13.0 \ + crate://crates.io/ethtool/0.2.5 \ + crate://crates.io/event-listener/2.5.3 \ + crate://crates.io/event-listener/3.1.0 \ + crate://crates.io/event-listener-strategy/0.3.0 \ + crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/fastrand/2.0.1 \ + crate://crates.io/fixedbitset/0.4.2 \ + crate://crates.io/fnv/1.0.7 \ + crate://crates.io/form_urlencoded/1.2.1 \ + crate://crates.io/fs2/0.4.3 \ + crate://crates.io/futures/0.3.29 \ + crate://crates.io/futures-channel/0.3.30 \ + crate://crates.io/futures-core/0.3.30 \ + crate://crates.io/futures-executor/0.3.29 \ + crate://crates.io/futures-io/0.3.30 \ + crate://crates.io/futures-lite/1.13.0 \ + crate://crates.io/futures-lite/2.0.1 \ + crate://crates.io/futures-macro/0.3.30 \ + crate://crates.io/futures-sink/0.3.30 \ + crate://crates.io/futures-task/0.3.30 \ + crate://crates.io/futures-util/0.3.30 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/genetlink/0.2.5 \ + crate://crates.io/getrandom/0.2.11 \ + crate://crates.io/gimli/0.28.0 \ + crate://crates.io/h2/0.3.24 \ + crate://crates.io/hashbrown/0.12.3 \ + crate://crates.io/hashbrown/0.14.2 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.3 \ + crate://crates.io/hex/0.4.3 \ + crate://crates.io/home/0.5.5 \ + crate://crates.io/http/0.2.11 \ + crate://crates.io/http-body/0.4.5 \ + crate://crates.io/httparse/1.8.0 \ + crate://crates.io/httpdate/1.0.3 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/hyper/0.14.27 \ + crate://crates.io/hyper-timeout/0.4.1 \ + crate://crates.io/iana-time-zone/0.1.58 \ + crate://crates.io/iana-time-zone-haiku/0.1.2 \ + crate://crates.io/idna/0.2.3 \ + crate://crates.io/idna/0.5.0 \ + crate://crates.io/indexmap/1.9.3 \ + crate://crates.io/indexmap/2.1.0 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/ipnet/2.9.0 \ + crate://crates.io/iptables/0.5.1 \ + crate://crates.io/itertools/0.11.0 \ + crate://crates.io/itoa/1.0.9 \ + crate://crates.io/js-sys/0.3.65 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/libc/0.2.150 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/linux-raw-sys/0.4.11 \ + crate://crates.io/log/0.4.20 \ + crate://crates.io/matches/0.1.10 \ + crate://crates.io/matchit/0.7.3 \ + crate://crates.io/memchr/2.6.4 \ + crate://crates.io/memoffset/0.7.1 \ + crate://crates.io/mime/0.3.17 \ + crate://crates.io/miniz_oxide/0.7.1 \ + crate://crates.io/mio/0.8.9 \ + crate://crates.io/mozim/0.2.2 \ + crate://crates.io/mptcp-pm/0.1.3 \ + crate://crates.io/multimap/0.8.3 \ + crate://crates.io/netlink-packet-core/0.7.0 \ + crate://crates.io/netlink-packet-generic/0.3.3 \ + crate://crates.io/netlink-packet-route/0.18.1 \ + crate://crates.io/netlink-packet-utils/0.5.2 \ + crate://crates.io/netlink-proto/0.11.2 \ + crate://crates.io/netlink-sys/0.8.5 \ + crate://crates.io/nftables/0.3.0 \ + crate://crates.io/nispor/1.2.16 \ + crate://crates.io/nix/0.26.4 \ + crate://crates.io/nix/0.27.1 \ + crate://crates.io/num-traits/0.2.17 \ + crate://crates.io/num_cpus/1.16.0 \ + crate://crates.io/object/0.32.1 \ + crate://crates.io/once_cell/1.19.0 \ + crate://crates.io/ordered-float/2.10.1 \ + crate://crates.io/ordered-stream/0.2.0 \ + crate://crates.io/parking/2.2.0 \ + crate://crates.io/paste/1.0.14 \ + crate://crates.io/percent-encoding/2.3.1 \ + crate://crates.io/petgraph/0.6.4 \ + crate://crates.io/pin-project/1.1.3 \ + crate://crates.io/pin-project-internal/1.1.3 \ + crate://crates.io/pin-project-lite/0.2.13 \ + crate://crates.io/pin-utils/0.1.0 \ + crate://crates.io/piper/0.2.1 \ + crate://crates.io/polling/2.8.0 \ + crate://crates.io/polling/3.3.0 \ + crate://crates.io/ppv-lite86/0.2.17 \ + crate://crates.io/prettyplease/0.2.15 \ + crate://crates.io/proc-macro-crate/1.3.1 \ + crate://crates.io/proc-macro2/1.0.74 \ + crate://crates.io/prost/0.12.2 \ + crate://crates.io/prost-build/0.12.2 \ + crate://crates.io/prost-derive/0.12.2 \ + crate://crates.io/prost-types/0.12.2 \ + crate://crates.io/quote/1.0.35 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/redox_syscall/0.4.1 \ + crate://crates.io/regex/1.10.2 \ + crate://crates.io/regex-automata/0.4.3 \ + crate://crates.io/regex-syntax/0.8.2 \ + crate://crates.io/rtnetlink/0.14.0 \ + crate://crates.io/rustc-demangle/0.1.23 \ + crate://crates.io/rustix/0.37.27 \ + crate://crates.io/rustix/0.38.28 \ + crate://crates.io/rustversion/1.0.14 \ + crate://crates.io/ryu/1.0.15 \ + crate://crates.io/same-file/1.0.6 \ + crate://crates.io/serde/1.0.194 \ + crate://crates.io/serde-value/0.7.0 \ + crate://crates.io/serde_derive/1.0.194 \ + crate://crates.io/serde_json/1.0.111 \ + crate://crates.io/serde_path_to_error/0.1.14 \ + crate://crates.io/serde_repr/0.1.17 \ + crate://crates.io/sha1/0.10.6 \ + crate://crates.io/sha2/0.10.8 \ + crate://crates.io/signal-hook-registry/1.4.1 \ + crate://crates.io/slab/0.4.9 \ + crate://crates.io/smallvec/1.11.2 \ + crate://crates.io/socket2/0.4.10 \ + crate://crates.io/socket2/0.5.5 \ + crate://crates.io/static_assertions/1.1.0 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/strum/0.25.0 \ + crate://crates.io/strum_macros/0.25.3 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.46 \ + crate://crates.io/sync_wrapper/0.1.2 \ + crate://crates.io/sysctl/0.5.5 \ + crate://crates.io/tempfile/3.9.0 \ + crate://crates.io/thiserror/1.0.50 \ + crate://crates.io/thiserror-impl/1.0.50 \ + crate://crates.io/tinyvec/1.6.0 \ + crate://crates.io/tinyvec_macros/0.1.1 \ + crate://crates.io/tokio/1.35.0 \ + crate://crates.io/tokio-io-timeout/1.2.0 \ + crate://crates.io/tokio-macros/2.2.0 \ + crate://crates.io/tokio-stream/0.1.14 \ + crate://crates.io/tokio-util/0.7.10 \ + crate://crates.io/toml_datetime/0.6.5 \ + crate://crates.io/toml_edit/0.19.15 \ + crate://crates.io/tonic/0.10.2 \ + crate://crates.io/tonic-build/0.10.2 \ + crate://crates.io/tower/0.4.13 \ + crate://crates.io/tower-layer/0.3.2 \ + crate://crates.io/tower-service/0.3.2 \ + crate://crates.io/tracing/0.1.40 \ + crate://crates.io/tracing-attributes/0.1.27 \ + crate://crates.io/tracing-core/0.1.32 \ + crate://crates.io/trust-dns-proto/0.22.0 \ + crate://crates.io/try-lock/0.2.4 \ + crate://crates.io/typenum/1.17.0 \ + crate://crates.io/uds_windows/1.0.2 \ + crate://crates.io/unicode-bidi/0.3.13 \ + crate://crates.io/unicode-ident/1.0.12 \ + crate://crates.io/unicode-normalization/0.1.22 \ + crate://crates.io/url/2.5.0 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/waker-fn/1.1.1 \ + crate://crates.io/walkdir/2.4.0 \ + crate://crates.io/want/0.3.1 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/wasm-bindgen/0.2.88 \ + crate://crates.io/wasm-bindgen-backend/0.2.88 \ + crate://crates.io/wasm-bindgen-macro/0.2.88 \ + crate://crates.io/wasm-bindgen-macro-support/0.2.88 \ + crate://crates.io/wasm-bindgen-shared/0.2.88 \ + crate://crates.io/which/4.4.2 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.6 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-core/0.51.1 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.52.0 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.52.0 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.52.0 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.52.0 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.52.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.52.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.52.0 \ + crate://crates.io/winnow/0.5.19 \ + crate://crates.io/xdg-home/1.0.0 \ + crate://crates.io/zbus/3.14.1 \ + crate://crates.io/zbus_macros/3.14.1 \ + crate://crates.io/zbus_names/2.6.0 \ + crate://crates.io/zvariant/3.15.0 \ + crate://crates.io/zvariant_derive/3.15.0 \ + crate://crates.io/zvariant_utils/1.0.1 \ +" + +SRC_URI[addr2line-0.21.0.sha256sum] = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" +SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +SRC_URI[anstream-0.6.11.sha256sum] = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" +SRC_URI[anstyle-1.0.4.sha256sum] = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +SRC_URI[anstyle-parse-0.2.2.sha256sum] = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-3.0.1.sha256sum] = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +SRC_URI[arrayvec-0.7.4.sha256sum] = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +SRC_URI[async-broadcast-0.5.1.sha256sum] = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +SRC_URI[async-channel-2.1.0.sha256sum] = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e" +SRC_URI[async-executor-1.7.2.sha256sum] = "fc5ea910c42e5ab19012bab31f53cb4d63d54c3a27730f9a833a88efcf4bb52d" +SRC_URI[async-fs-1.6.0.sha256sum] = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +SRC_URI[async-io-1.13.0.sha256sum] = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +SRC_URI[async-io-2.2.0.sha256sum] = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997" +SRC_URI[async-lock-2.8.0.sha256sum] = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +SRC_URI[async-lock-3.1.1.sha256sum] = "655b9c7fe787d3b25cc0f804a1a8401790f0c5bc395beb5a64dc77d8de079105" +SRC_URI[async-process-1.8.1.sha256sum] = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +SRC_URI[async-recursion-1.0.5.sha256sum] = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +SRC_URI[async-signal-0.2.5.sha256sum] = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +SRC_URI[async-stream-0.3.5.sha256sum] = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +SRC_URI[async-stream-impl-0.3.5.sha256sum] = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +SRC_URI[async-task-4.5.0.sha256sum] = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +SRC_URI[async-trait-0.1.74.sha256sum] = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +SRC_URI[atomic-waker-1.1.2.sha256sum] = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[axum-0.6.20.sha256sum] = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +SRC_URI[axum-core-0.3.4.sha256sum] = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +SRC_URI[backtrace-0.3.69.sha256sum] = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +SRC_URI[base64-0.21.5.sha256sum] = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[blocking-1.5.1.sha256sum] = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +SRC_URI[bumpalo-3.14.0.sha256sum] = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +SRC_URI[bytes-1.5.0.sha256sum] = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[chrono-0.4.32.sha256sum] = "41daef31d7a747c5c847246f36de49ced6f7403b4cdabc807a97b5cc184cda7a" +SRC_URI[clap-4.4.12.sha256sum] = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" +SRC_URI[clap_builder-4.4.12.sha256sum] = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9" +SRC_URI[clap_derive-4.4.7.sha256sum] = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +SRC_URI[clap_lex-0.6.0.sha256sum] = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[concurrent-queue-2.3.0.sha256sum] = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +SRC_URI[cpufeatures-0.2.11.sha256sum] = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +SRC_URI[data-encoding-2.4.0.sha256sum] = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +SRC_URI[derivative-2.2.0.sha256sum] = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +SRC_URI[dhcproto-0.9.0.sha256sum] = "dcee045385d5f7819022821f41209b9945d17550760b0b2349aaef4ecfa14bc3" +SRC_URI[dhcproto-macros-0.1.0.sha256sum] = "a7993efb860416547839c115490d4951c6d0f8ec04a3594d9dd99d50ed7ec170" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +SRC_URI[enum-as-inner-0.5.1.sha256sum] = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" +SRC_URI[enum-as-inner-0.6.0.sha256sum] = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +SRC_URI[enumflags2-0.7.8.sha256sum] = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" +SRC_URI[enumflags2_derive-0.7.8.sha256sum] = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" +SRC_URI[env_filter-0.1.0.sha256sum] = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +SRC_URI[env_logger-0.11.0.sha256sum] = "9eeb342678d785662fd2514be38c459bb925f02b68dd2a3e0f21d7ef82d979dd" +SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +SRC_URI[etherparse-0.13.0.sha256sum] = "827292ea592108849932ad8e30218f8b1f21c0dfd0696698a18b5d0aed62d990" +SRC_URI[ethtool-0.2.5.sha256sum] = "1d8e04a35517dc77748dc04bf38152799382d3d8f85cb07cb579bb7f4d8d3b5a" +SRC_URI[event-listener-2.5.3.sha256sum] = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +SRC_URI[event-listener-3.1.0.sha256sum] = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +SRC_URI[event-listener-strategy-0.3.0.sha256sum] = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160" +SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +SRC_URI[fixedbitset-0.4.2.sha256sum] = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +SRC_URI[fs2-0.4.3.sha256sum] = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +SRC_URI[futures-0.3.29.sha256sum] = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +SRC_URI[futures-channel-0.3.30.sha256sum] = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +SRC_URI[futures-core-0.3.30.sha256sum] = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +SRC_URI[futures-executor-0.3.29.sha256sum] = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +SRC_URI[futures-io-0.3.30.sha256sum] = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +SRC_URI[futures-lite-1.13.0.sha256sum] = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +SRC_URI[futures-lite-2.0.1.sha256sum] = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb" +SRC_URI[futures-macro-0.3.30.sha256sum] = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +SRC_URI[futures-sink-0.3.30.sha256sum] = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +SRC_URI[futures-task-0.3.30.sha256sum] = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +SRC_URI[futures-util-0.3.30.sha256sum] = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[genetlink-0.2.5.sha256sum] = "1f890076c1faa1298bf747ce3694a8d9e0d2cc4b06fe293f12dd95742bfd079f" +SRC_URI[getrandom-0.2.11.sha256sum] = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +SRC_URI[gimli-0.28.0.sha256sum] = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +SRC_URI[h2-0.3.24.sha256sum] = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" +SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +SRC_URI[hashbrown-0.14.2.sha256sum] = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.3.sha256sum] = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +SRC_URI[home-0.5.5.sha256sum] = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +SRC_URI[http-0.2.11.sha256sum] = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +SRC_URI[http-body-0.4.5.sha256sum] = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +SRC_URI[httparse-1.8.0.sha256sum] = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +SRC_URI[httpdate-1.0.3.sha256sum] = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[hyper-0.14.27.sha256sum] = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +SRC_URI[hyper-timeout-0.4.1.sha256sum] = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +SRC_URI[iana-time-zone-0.1.58.sha256sum] = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +SRC_URI[idna-0.2.3.sha256sum] = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +SRC_URI[indexmap-2.1.0.sha256sum] = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[ipnet-2.9.0.sha256sum] = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +SRC_URI[iptables-0.5.1.sha256sum] = "d39f0d72d0feb83c9b7f4e1fbde2b4a629886f30841127b3f86383831dba2629" +SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +SRC_URI[js-sys-0.3.65.sha256sum] = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +SRC_URI[libc-0.2.150.sha256sum] = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[linux-raw-sys-0.4.11.sha256sum] = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +SRC_URI[matches-0.1.10.sha256sum] = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +SRC_URI[matchit-0.7.3.sha256sum] = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +SRC_URI[memchr-2.6.4.sha256sum] = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +SRC_URI[memoffset-0.7.1.sha256sum] = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +SRC_URI[mio-0.8.9.sha256sum] = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +SRC_URI[mozim-0.2.2.sha256sum] = "0c1c15d0df314be0af498b122169739cc873045e431a0cb1a83564f7459ac491" +SRC_URI[mptcp-pm-0.1.3.sha256sum] = "3eafa8fc63dce407b75e336f9a22f18cf5510a3a5c3a5d83262688eb5cca42d5" +SRC_URI[multimap-0.8.3.sha256sum] = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +SRC_URI[netlink-packet-core-0.7.0.sha256sum] = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" +SRC_URI[netlink-packet-generic-0.3.3.sha256sum] = "1cd7eb8ad331c84c6b8cb7f685b448133e5ad82e1ffd5acafac374af4a5a308b" +SRC_URI[netlink-packet-route-0.18.1.sha256sum] = "dd9ccdfabb457e05c7c61e66eb39262a204fbb376c53968b5e52dce15b423fc5" +SRC_URI[netlink-packet-utils-0.5.2.sha256sum] = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" +SRC_URI[netlink-proto-0.11.2.sha256sum] = "842c6770fc4bb33dd902f41829c61ef872b8e38de1405aa0b938b27b8fba12c3" +SRC_URI[netlink-sys-0.8.5.sha256sum] = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" +SRC_URI[nftables-0.3.0.sha256sum] = "71d11bb5c74ea03d97b6eaed2a30a81657d9884152c661d28d44b4d22616b652" +SRC_URI[nispor-1.2.16.sha256sum] = "0c9f198b82210da3f72354fb061ca8b683f274ae137cd6d862758bd9b176d047" +SRC_URI[nix-0.26.4.sha256sum] = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +SRC_URI[nix-0.27.1.sha256sum] = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +SRC_URI[num-traits-0.2.17.sha256sum] = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +SRC_URI[object-0.32.1.sha256sum] = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +SRC_URI[ordered-float-2.10.1.sha256sum] = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +SRC_URI[ordered-stream-0.2.0.sha256sum] = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +SRC_URI[parking-2.2.0.sha256sum] = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +SRC_URI[paste-1.0.14.sha256sum] = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +SRC_URI[petgraph-0.6.4.sha256sum] = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +SRC_URI[pin-project-1.1.3.sha256sum] = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +SRC_URI[pin-project-internal-1.1.3.sha256sum] = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +SRC_URI[pin-project-lite-0.2.13.sha256sum] = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +SRC_URI[piper-0.2.1.sha256sum] = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +SRC_URI[polling-2.8.0.sha256sum] = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +SRC_URI[polling-3.3.0.sha256sum] = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531" +SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +SRC_URI[prettyplease-0.2.15.sha256sum] = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +SRC_URI[proc-macro-crate-1.3.1.sha256sum] = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +SRC_URI[proc-macro2-1.0.74.sha256sum] = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db" +SRC_URI[prost-0.12.2.sha256sum] = "5a5a410fc7882af66deb8d01d01737353cf3ad6204c408177ba494291a626312" +SRC_URI[prost-build-0.12.2.sha256sum] = "1fa3d084c8704911bfefb2771be2f9b6c5c0da7343a71e0021ee3c665cada738" +SRC_URI[prost-derive-0.12.2.sha256sum] = "065717a5dfaca4a83d2fe57db3487b311365200000551d7a364e715dbf4346bc" +SRC_URI[prost-types-0.12.2.sha256sum] = "8339f32236f590281e2f6368276441394fcd1b2133b549cc895d0ae80f2f9a52" +SRC_URI[quote-1.0.35.sha256sum] = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +SRC_URI[rtnetlink-0.14.0.sha256sum] = "bb5bbb61e037711ff30a3657ec537285b2e1ecb5427e4365d275164f0928c884" +SRC_URI[rustc-demangle-0.1.23.sha256sum] = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +SRC_URI[rustix-0.37.27.sha256sum] = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +SRC_URI[rustix-0.38.28.sha256sum] = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +SRC_URI[rustversion-1.0.14.sha256sum] = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +SRC_URI[serde-1.0.194.sha256sum] = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" +SRC_URI[serde-value-0.7.0.sha256sum] = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" +SRC_URI[serde_derive-1.0.194.sha256sum] = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" +SRC_URI[serde_json-1.0.111.sha256sum] = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +SRC_URI[serde_path_to_error-0.1.14.sha256sum] = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" +SRC_URI[serde_repr-0.1.17.sha256sum] = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" +SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +SRC_URI[signal-hook-registry-1.4.1.sha256sum] = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +SRC_URI[smallvec-1.11.2.sha256sum] = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +SRC_URI[socket2-0.4.10.sha256sum] = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +SRC_URI[socket2-0.5.5.sha256sum] = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[strum-0.25.0.sha256sum] = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +SRC_URI[strum_macros-0.25.3.sha256sum] = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.46.sha256sum] = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e" +SRC_URI[sync_wrapper-0.1.2.sha256sum] = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +SRC_URI[sysctl-0.5.5.sha256sum] = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" +SRC_URI[tempfile-3.9.0.sha256sum] = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +SRC_URI[thiserror-1.0.50.sha256sum] = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +SRC_URI[thiserror-impl-1.0.50.sha256sum] = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +SRC_URI[tokio-1.35.0.sha256sum] = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" +SRC_URI[tokio-io-timeout-1.2.0.sha256sum] = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +SRC_URI[tokio-macros-2.2.0.sha256sum] = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +SRC_URI[tokio-stream-0.1.14.sha256sum] = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +SRC_URI[tokio-util-0.7.10.sha256sum] = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +SRC_URI[toml_datetime-0.6.5.sha256sum] = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +SRC_URI[toml_edit-0.19.15.sha256sum] = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +SRC_URI[tonic-0.10.2.sha256sum] = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" +SRC_URI[tonic-build-0.10.2.sha256sum] = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" +SRC_URI[tower-0.4.13.sha256sum] = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +SRC_URI[tower-layer-0.3.2.sha256sum] = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +SRC_URI[tower-service-0.3.2.sha256sum] = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +SRC_URI[trust-dns-proto-0.22.0.sha256sum] = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26" +SRC_URI[try-lock-0.2.4.sha256sum] = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +SRC_URI[uds_windows-1.0.2.sha256sum] = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[waker-fn-1.1.1.sha256sum] = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +SRC_URI[want-0.3.1.sha256sum] = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[wasm-bindgen-0.2.88.sha256sum] = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +SRC_URI[wasm-bindgen-backend-0.2.88.sha256sum] = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +SRC_URI[wasm-bindgen-macro-0.2.88.sha256sum] = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +SRC_URI[wasm-bindgen-macro-support-0.2.88.sha256sum] = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +SRC_URI[wasm-bindgen-shared-0.2.88.sha256sum] = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +SRC_URI[which-4.4.2.sha256sum] = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-core-0.51.1.sha256sum] = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +SRC_URI[winnow-0.5.19.sha256sum] = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +SRC_URI[xdg-home-1.0.0.sha256sum] = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +SRC_URI[zbus-3.14.1.sha256sum] = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" +SRC_URI[zbus_macros-3.14.1.sha256sum] = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" +SRC_URI[zbus_names-2.6.0.sha256sum] = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9" +SRC_URI[zvariant-3.15.0.sha256sum] = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c" +SRC_URI[zvariant_derive-3.15.0.sha256sum] = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" +SRC_URI[zvariant_utils-1.0.1.sha256sum] = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" diff --git a/recipes-containers/netavark/netavark_1.10.3.bb b/recipes-containers/netavark/netavark_1.10.3.bb new file mode 100644 index 00000000..b65b73e8 --- /dev/null +++ b/recipes-containers/netavark/netavark_1.10.3.bb @@ -0,0 +1,61 @@ +SUMMARY = "A container network stack" +HOMEPAGE = "https://github.com/containers/netavark" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRCREV = "d9f9fdc116ea3ed72a6eb4e59da33bf5d7c60b38" + +# It is possible to fetch the source using the crate fetcher instead: +#SRC_URI = "crate://crates.io/${BPN}/${PV}" +SRC_URI = "git://github.com/containers/netavark.git;protocol=https;branch=v1.10 \ + file://tests.patch \ + file://run-ptest" +require ${BPN}-crates.inc + +S = "${WORKDIR}/git" + +PACKAGECONFIG ?= "aardvark-dns" + +# From the documentation of netavark +# https://github.com/containers/netavark/blob/v1.1.0/DISTRO_PACKAGE.md#dependency-on-aardvark-dns +# The aardvark-dns will be installed by default with netavark, but +# netavark will be functional without it. +PACKAGECONFIG[aardvark-dns]= ",,, aardvark-dns" + +inherit cargo cargo-update-recipe-crates features_check ptest + +# Cargo installs the binary to bin so move it to where podman expects it +do_install:append() { + install -d ${D}${libexecdir} + mv ${D}${bindir} ${D}${libexecdir}/podman +} + +do_install_ptest() { + cp -r ${S}/test ${D}${PTEST_PATH} +} + +# rdepends on aardvark-dns which rdepends on slirp4netns +REQUIRED_DISTRO_FEATURES ?= "seccomp" + + +DEPENDS += "protobuf-c-native protobuf-c" + +# bind-utils is used to install dig +# procps-ps is necessary because the ps from busybox is +# not having the same behavior +# iputils is used because busybox ping behaves differently +RDEPENDS:${PN}-ptest += " \ + bash \ + bats \ + bind-utils \ + coreutils \ + dbus-daemon-proxy \ + iproute2 \ + iputils \ + jq \ + nmap \ + procps-ps \ + util-linux-nsenter \ + util-linux-unshare \ +" diff --git a/recipes-containers/oci-image-spec/oci-image-spec_git.bb b/recipes-containers/oci-image-spec/oci-image-spec_git.bb index 58057408..e5422cec 100644 --- a/recipes-containers/oci-image-spec/oci-image-spec_git.bb +++ b/recipes-containers/oci-image-spec/oci-image-spec_git.bb @@ -7,10 +7,10 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=27ef03aa2da6e424307f102e8 SRCNAME = "image-spec" PKG_NAME = "github.com/opencontainers/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=main;protocol=https" -SRCREV = "bd4f8fcb0979a663d8b97a1d4d9b030b3d2ca1fa" -PV = "v1.0.1+git${SRCPV}" +SRCREV = "9615142d016838b5dfe7453f80af0be74feb5c7c" +PV = "v1.1.0-rc3+git" S = "${WORKDIR}/git" @@ -36,6 +36,6 @@ image_spec_file_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" CLEANBROKEN = "1" diff --git a/recipes-containers/oci-image-tools/files/0001-config-make-Config.User-mapping-errors-a-warning.patch b/recipes-containers/oci-image-tools/files/0001-config-make-Config.User-mapping-errors-a-warning.patch index 78d2b9d0..10371af3 100644 --- a/recipes-containers/oci-image-tools/files/0001-config-make-Config.User-mapping-errors-a-warning.patch +++ b/recipes-containers/oci-image-tools/files/0001-config-make-Config.User-mapping-errors-a-warning.patch @@ -7,15 +7,17 @@ Rather than throwing an error if we can't map a user to a uid, output a warning. We aren't actually running the code, but are just extracting it .. so the user not existing isn't an issue. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> --- image/config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/import/image/config.go b/src/import/image/config.go +diff --git a/image/config.go b/image/config.go index d28b1bc4fe5f..37dfd1f14ef7 100644 ---- a/src/import/image/config.go -+++ b/src/import/image/config.go +--- a/image/config.go ++++ b/image/config.go @@ -106,7 +106,7 @@ func (c *config) runtimeSpec(rootfs string) (*specs.Spec, error) { s.Process.User.UID = uint32(uid) s.Process.User.GID = uint32(gid) diff --git a/recipes-containers/oci-image-tools/files/0001-tool-respect-GO-and-GOBUILDFLAGS-when-building.patch b/recipes-containers/oci-image-tools/files/0001-tool-respect-GO-and-GOBUILDFLAGS-when-building.patch index 7e0b2a11..90337aa4 100644 --- a/recipes-containers/oci-image-tools/files/0001-tool-respect-GO-and-GOBUILDFLAGS-when-building.patch +++ b/recipes-containers/oci-image-tools/files/0001-tool-respect-GO-and-GOBUILDFLAGS-when-building.patch @@ -8,15 +8,17 @@ build flags from our environemnt. Otherwise, we'll use the host settings for each and end up with a binary that cannot be run on the target. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/import/Makefile b/src/import/Makefile +diff --git a/Makefile b/Makefile index bacb341..1bfe021 100644 ---- a/src/import/Makefile -+++ b/src/import/Makefile +--- a/Makefile ++++ b/Makefile @@ -27,7 +27,7 @@ check-license: .PHONY: tool diff --git a/recipes-containers/oci-image-tools/oci-image-tools_git.bb b/recipes-containers/oci-image-tools/oci-image-tools_git.bb index 799262cb..ade6534d 100644 --- a/recipes-containers/oci-image-tools/oci-image-tools_git.bb +++ b/recipes-containers/oci-image-tools/oci-image-tools_git.bb @@ -1,23 +1,14 @@ HOMEPAGE = "https://github.com/opencontainers/image-tools" SUMMARY = "A collection of tools for working with the OCI image format specification" -LICENSE = "Apache-2" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" -DEPENDS = "\ - oci-image-spec \ - oci-runtime-spec \ - go-digest \ - go-errors \ - spf13-cobra \ - spf13-pflag \ - " - -SRC_URI = "git://github.com/opencontainers/image-tools.git \ +SRC_URI = "git://github.com/opencontainers/image-tools.git;branch=master;protocol=https;destsuffix=git/src/github.com/opencontainers/image-tools \ file://0001-config-make-Config.User-mapping-errors-a-warning.patch \ file://0001-tool-respect-GO-and-GOBUILDFLAGS-when-building.patch" -SRCREV = "93db3b16e6738bf9b8bee47d86ac93be5340838b" -PV = "0.2.0-dev+git${SRCPV}" +SRCREV = "11f9988298305d36f64248a6ee55318e60bf170b" +PV = "1.0.0-rc3+git" GO_IMPORT = "import" inherit goarch @@ -27,39 +18,34 @@ inherit go # go package. EXTRA_OEMAKE="BUILDTAGS=''" +S = "${WORKDIR}/git/src/github.com/opencontainers/image-tools" + +COMPATIBLE_HOST:riscv64 = "null" + do_compile() { export GOARCH="${TARGET_GOARCH}" - export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go" - # Setup vendor directory so that it can be used in GOPATH. - # - # Go looks in a src directory under any directory in GOPATH but riddler - # uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink. - # - # We also need to link in the ipallocator directory as that is not under - # a src directory. - ln -sfn . "${S}/src/import/vendor/src" - mkdir -p "${S}/src/import/vendor/src/github.com/opencontainers/image-tools/" - ln -sfn "${S}/src/import/image" "${S}/src/import/vendor/src/github.com/opencontainers/image-tools/image" - ln -sfn "${S}/src/import/version" "${S}/src/import/vendor/src/github.com/opencontainers/image-tools/version" - export GOPATH="${S}/src/import/vendor" + export GOROOT="${STAGING_LIBDIR}/go" + export GOPATH="${WORKDIR}/git/" # Pass the needed cflags/ldflags so that cgo # can find the needed headers files and libraries export CGO_ENABLED="1" export CFLAGS="" export LDFLAGS="" - export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" - export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_CFLAGS="${TARGET_CFLAGS}" + export CGO_LDFLAGS="${TARGET_LDFLAGS}" export GO111MODULE=off - cd ${S}/src/import + export GOBUILDFLAGS="-trimpath" + + cd ${S} oe_runmake tool } do_install() { install -d ${D}/${sbindir} - install ${S}/src/import/oci-image-tool ${D}/${sbindir}/ + install ${S}/oci-image-tool ${D}/${sbindir}/ } -INSANE_SKIP_${PN} += "ldflags textrel" +INSANE_SKIP:${PN} += "ldflags textrel" diff --git a/recipes-containers/oci-runtime-spec/oci-runtime-spec_git.bb b/recipes-containers/oci-runtime-spec/oci-runtime-spec_git.bb index c4083c09..6eccb148 100644 --- a/recipes-containers/oci-runtime-spec/oci-runtime-spec_git.bb +++ b/recipes-containers/oci-runtime-spec/oci-runtime-spec_git.bb @@ -7,10 +7,10 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=b355a61a394a504dacde901c9 SRCNAME = "runtime-spec" PKG_NAME = "github.com/opencontainers/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=main;protocol=https" -SRCREV = "78ab98c0761136f84e6e21b24b4dcd0be68ab782" -PV = "v1.0.1+git${SRCPV}" +SRCREV = "720792f25ae6e9ee6b1332db698f37659e69ce8d" +PV = "v1.1.0-rc2+git" S = "${WORKDIR}/git" @@ -36,6 +36,6 @@ runtime_spec_file_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" CLEANBROKEN = "1" diff --git a/recipes-containers/oci-runtime-tools/files/0001-Revert-implement-add-set-function-for-hooks-items.patch b/recipes-containers/oci-runtime-tools/files/0001-Revert-implement-add-set-function-for-hooks-items.patch index 99a9310b..abfd0dfb 100644 --- a/recipes-containers/oci-runtime-tools/files/0001-Revert-implement-add-set-function-for-hooks-items.patch +++ b/recipes-containers/oci-runtime-tools/files/0001-Revert-implement-add-set-function-for-hooks-items.patch @@ -4,6 +4,9 @@ Date: Wed, 20 Sep 2017 23:28:52 -0400 Subject: [PATCH] Revert "implement add/set function for hooks items" This reverts commit df3a46feb971386f922c7c2c2822b88301f87cb0. + +Upstream-Status: Inappropriate [embedded specific] + --- cmd/oci-runtime-tool/generate.go | 12 ++++++------ generate/generate.go | 42 ++++++---------------------------------- diff --git a/recipes-containers/oci-runtime-tools/files/0001-build-use-for-cross-compiler.patch b/recipes-containers/oci-runtime-tools/files/0001-build-use-for-cross-compiler.patch index fedfad37..06db99fd 100644 --- a/recipes-containers/oci-runtime-tools/files/0001-build-use-for-cross-compiler.patch +++ b/recipes-containers/oci-runtime-tools/files/0001-build-use-for-cross-compiler.patch @@ -3,29 +3,28 @@ From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Tue, 30 Jun 2020 23:47:08 -0400 Subject: [PATCH] build: use for cross compiler +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- - a/src/import/Makefile | 4 ++-- + a/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/src/import/Makefile a/src/import/Makefile -index 77626d2..c3a0760 100644 ---- a/src/import/Makefile -+++ a/src/import/Makefile -@@ -8,11 +8,11 @@ COMMIT=$(shell git rev-parse HEAD 2> /dev/null || true) - all: tool runtimetest +Index: oci-runtime-tools-0.9.0+gitAUTOINC+0105384f68/Makefile +=================================================================== +--- oci-runtime-tools-0.9.0+gitAUTOINC+0105384f68.orig/Makefile ++++ oci-runtime-tools-0.9.0+gitAUTOINC+0105384f68/Makefile +@@ -13,11 +13,11 @@ + all: tool runtimetest validation-executables tool: -- go build -tags "$(BUILDTAGS)" -ldflags "-X main.gitCommit=${COMMIT}" -o oci-runtime-tool ./cmd/oci-runtime-tool -+ ${GO} build -tags "$(BUILDTAGS)" -ldflags "-X main.gitCommit=${COMMIT}" -o oci-runtime-tool ./cmd/oci-runtime-tool +- go build $(BUILD_FLAGS) -o oci-runtime-tool ./cmd/oci-runtime-tool ++ ${GO} build $(BUILD_FLAGS) -o oci-runtime-tool ./cmd/oci-runtime-tool .PHONY: runtimetest runtimetest: -- CGO_ENABLED=0 go build -installsuffix cgo -tags "$(BUILDTAGS)" -o runtimetest ./cmd/runtimetest -+ CGO_ENABLED=0 ${GO} build -installsuffix cgo -tags "$(BUILDTAGS)" -o runtimetest ./cmd/runtimetest +- go build $(STATIC_BUILD_FLAGS) -o runtimetest ./cmd/runtimetest ++ ${GO} build $(STATIC_BUILD_FLAGS) -o runtimetest ./cmd/runtimetest .PHONY: man man: --- -2.19.1 - diff --git a/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb b/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb index 7f194027..81bebfe2 100644 --- a/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb +++ b/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb @@ -1,53 +1,53 @@ HOMEPAGE = "https://github.com/opencontainers/runtime-tools" SUMMARY = "oci-runtime-tool is a collection of tools for working with the OCI runtime specification" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=b355a61a394a504dacde901c958f662c" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b355a61a394a504dacde901c958f662c" -SRC_URI = "git://github.com/opencontainers/runtime-tools.git \ - file://0001-Revert-implement-add-set-function-for-hooks-items.patch \ +SRC_URI = "git://github.com/opencontainers/runtime-tools.git;branch=master;protocol=https;destsuffix=git/src/github.com/opencontainers/runtime-tools \ file://0001-build-use-for-cross-compiler.patch \ " -SRCREV = "6e7da8148f4de2c9e9c9d3b345576898d4f412cb" -PV = "0.1.0+git${SRCPV}" +SRCREV = "0105384f68e16803891d0a17d9067b1def6a2778" +PV = "0.9.0+git" GO_IMPORT = "import" -INSANE_SKIP_${PN} += "ldflags textrel" +INSANE_SKIP:${PN} += "ldflags textrel" inherit goarch inherit go +S = "${WORKDIR}/git/src/github.com/opencontainers/runtime-tools" + do_compile() { export GOARCH="${TARGET_GOARCH}" - export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go" - export GOPATH="${S}/src/import:${S}/src/import/vendor" + export GOPATH="${WORKDIR}/git/" + export GOROOT="${STAGING_LIBDIR}/go" # Pass the needed cflags/ldflags so that cgo # can find the needed headers files and libraries export CGO_ENABLED="1" export CFLAGS="" export LDFLAGS="" - export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" - export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_CFLAGS="${TARGET_CFLAGS}" + export CGO_LDFLAGS="${TARGET_LDFLAGS}" export GO111MODULE=off + export GOFLAGS="-mod=vendor" + + # fixes: + # cannot find package runtime/cgo (using -importcfg) + # ... recipe-sysroot-native/usr/lib/aarch64-poky-linux/go/pkg/tool/linux_amd64/link: + # cannot open file : open : no such file or directory + # export GO_BUILD_FLAGS="-a -pkgdir dontusecurrentpkgs" + export EXTRA_FLAGS="-trimpath" + + cd ${S} - # link fixups for compilation - rm -f ${S}/src/import/vendor/src - ln -sf ./ ${S}/src/import/vendor/src - mkdir -p ${S}/src/import/vendor/github.com/opencontainers/runtime-tools - ln -sf ../../../../generate ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/generate - ln -sf ../../../../validate ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/validate - ln -sf ../../../../cmd ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/cmd - ln -sf ../../../../error ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/error - ln -sf ../../../../specerror ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/specerror - cd ${S}/src/import - - oe_runmake + oe_runmake tool } do_install() { install -d ${D}/${sbindir} - install ${S}/src/import/oci-runtime-tool ${D}/${sbindir}/oci-runtime-tool + install ${S}/oci-runtime-tool ${D}/${sbindir}/oci-runtime-tool } deltask compile_ptest_base diff --git a/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch b/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch index 34f0c09e..388eda3d 100644 --- a/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch +++ b/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch @@ -3,6 +3,8 @@ From: Jason Wessel <jason.wessel@windriver.com> Date: Tue, 2 Jul 2019 20:51:08 +0000 Subject: [PATCH] Add additional cgroup mounts from root NS automatically +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Jason Wessel <jason.wessel@windriver.com> --- src/systemdhook.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ diff --git a/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-configure-drop-selinux-support.patch b/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-configure-drop-selinux-support.patch index 510126e4..fc9236b5 100644 --- a/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-configure-drop-selinux-support.patch +++ b/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-configure-drop-selinux-support.patch @@ -3,6 +3,8 @@ From: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Tue, 8 Nov 2016 13:16:19 -0500 Subject: [PATCH] configure: drop selinux support +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> --- configure.ac | 1 - diff --git a/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-selinux-drop-selinux-support.patch b/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-selinux-drop-selinux-support.patch index a3ec57df..d2b19285 100644 --- a/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-selinux-drop-selinux-support.patch +++ b/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-selinux-drop-selinux-support.patch @@ -3,6 +3,8 @@ From: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Tue, 8 Nov 2016 13:15:46 -0500 Subject: [PATCH] selinux: drop selinux support +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> --- src/systemdhook.c | 12 ------------ diff --git a/recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb b/recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb index 6734bffe..0d5ce5f5 100644 --- a/recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb +++ b/recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb @@ -1,19 +1,19 @@ DESCRIPTION = "OCI systemd hook enables users to run systemd in docker and OCI" SECTION = "console/utils" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" PRIORITY = "optional" DEPENDS = "yajl util-linux" SRCREV = "05e692346ca73e022754332a7da641230dae2ffe" -SRC_URI = "git://github.com/projectatomic/oci-systemd-hook \ +SRC_URI = "git://github.com/projectatomic/oci-systemd-hook;branch=master;protocol=https \ file://0001-selinux-drop-selinux-support.patch \ file://0001-configure-drop-selinux-support.patch \ file://0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch \ " -PV = "0.2.0+git${SRCPV}" +PV = "0.2.0+git" S = "${WORKDIR}/git" inherit autotools pkgconfig @@ -32,5 +32,5 @@ do_install() { oe_runmake 'DESTDIR=${D}' install-exec-am } -FILES_${PN} += "${libexecdir}/oci/hooks.d/" +FILES:${PN} += "${libexecdir}/oci/hooks.d/" diff --git a/recipes-containers/podman-compose/podman-compose_0.1.5.bb b/recipes-containers/podman-compose/podman-compose_1.0.6.bb index bf91705a..e055ee45 100644 --- a/recipes-containers/podman-compose/podman-compose_0.1.5.bb +++ b/recipes-containers/podman-compose/podman-compose_1.0.6.bb @@ -1,15 +1,18 @@ DESCRIPTION = "An implementation of docker-compose with podman backend" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" -inherit setuptools3 pypi +inherit setuptools3 -SRC_URI = "git://github.com/containers/podman-compose.git;branch=devel" +SRC_URI = "git://github.com/containers/podman-compose.git;branch=stable;protocol=https" -SRCREV = "6289d25a42cfdb5dfcac863b1b1b4ace32ce31b7" +SRCREV = "f6dbce36181c44d0d08b6f4ca166508542875ce1" S = "${WORKDIR}/git" -DEPENDS += "${PYTHON_PN}-pyyaml-native" +DEPENDS += "python3-pyyaml-native" -RDEPENDS_${PN} += "${PYTHON_PN}-pyyaml" +RDEPENDS:${PN} += "\ + python3-pyyaml \ + python3-dotenv \ +" diff --git a/recipes-containers/podman-tui/README b/recipes-containers/podman-tui/README new file mode 100644 index 00000000..661556c1 --- /dev/null +++ b/recipes-containers/podman-tui/README @@ -0,0 +1,6 @@ + +# to get the graphics to draw: + +a) export LC_ALL="en_CA.UTF-8" +b) don't run under screen + diff --git a/recipes-containers/podman-tui/podman-tui_git.bb b/recipes-containers/podman-tui/podman-tui_git.bb new file mode 100644 index 00000000..210f4f5b --- /dev/null +++ b/recipes-containers/podman-tui/podman-tui_git.bb @@ -0,0 +1,74 @@ +HOMEPAGE = "https://github.com/containers/podman-tui" +SUMMARY = "podman-tui is a Terminal User Interface to interact with podman" +DESCRIPTION = "podman-tui is a Terminal User Interface to interact with the podman v4. \ +podman bindings has been used to communicate with podman environment through rest api API (unix socket). \ + " + +inherit features_check +REQUIRED_DISTRO_FEATURES ?= "seccomp ipv6" + +DEPENDS = " \ + libseccomp \ + libdevmapper \ + lvm2 \ + btrfs-tools \ + gpgme \ + libassuan \ + libgpg-error \ +" + +SRCREV_FORMAT = "podmantui_storage" +SRCREV_podmantui = "b4350927babdaa35fbf50424190683aeb9f5f66f" +SRCREV_storage = "246ba3062e8b551026aef2708eee747014ce5c52" +SRC_URI = " \ + git://github.com/containers/podman-tui;protocol=https;name=podmantui;branch=release-v0.17 \ +" +# Due to some other API changes, we can't directly import containers/storage at +# the right commit, so we instead extract a patch and apply it to the tree +#SRC_URI += "git://github.com/containers/storage;protocol=https;name=storage;branch=release-v0.17;destsuffix=git/src/import/vendor/github.com/containers/storage" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +GO_IMPORT = "import" + +S = "${WORKDIR}/git" + +PV = "v0.17.0+git" + +PODMAN_PKG = "github.com/containers/podman-tui" + +inherit go goarch +inherit pkgconfig + +COMPATIBLE_HOST = "^(?!mips).*" + +do_configure[noexec] = "1" + +BUILD_TAGS ?= "exclude_graphdriver_btrfs exclude_graphdriver_devicemapper" + +do_compile() { + cd ${S}/src + + rm -rf .gopath + mkdir -p .gopath/src/"$(dirname "${PODMAN_PKG}")" + ln -sf ../../../../import/ .gopath/src/"${PODMAN_PKG}" + + cd ${S}/src/.gopath/src/"${PODMAN_PKG}" + + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export GOFLAGS="-mod=vendor" + + # oe_runmake BUILDTAGS="${BUILDTAGS}" + ${GO} build -trimpath -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o bin/podman-tui +} + +do_install() { + cd ${S}/src/.gopath/src/"${PODMAN_PKG}" + + install -d ${D}/${bindir} + install bin/podman-tui ${D}/${bindir}/ +} + +RDEPENDS:${PN} += "podman" diff --git a/recipes-containers/podman/README b/recipes-containers/podman/README new file mode 100644 index 00000000..213ac256 --- /dev/null +++ b/recipes-containers/podman/README @@ -0,0 +1,41 @@ +rootless podman +--------------- + +Basic configuration: + + https://developers.redhat.com/blog/2020/09/25/rootless-containers-with-podman-the-basics# + +% echo "user.max_user_namespaces=28633" > /etc/sysctl.d/userns.conf +% sysctl -p /etc/sysctl.d/userns.conf + +% useradd -c "yocto" yocto +% passwd yocto + +% su - yocto + +% podman pull alpine +% podman run alpine cat /etc/os-release +% podman images +% podman unshare cat /proc/self/uid_map + + +podman system service +--------------- + +The podman system service command creates a listening service that answers API +calls for Podman, it supports systemd socket activation. + +Test with docker-compose (v2): + +To be noticed, docker could NOT be installed together with podman, so +docker-compose should be built as a standalone tool, remove 'docker-plugin' +from its PACKAGECONFIG at build time: + +``` +PACKAGECONFIG:remove:pn-docker-compose = "docker-plugin" +``` + +% sudo systemctl start podman.socket +% git clone https://github.com/docker/awesome-compose.git +% cd awesome-compose/postgresql-pgadmin; source .env +% sudo docker-compose up -d diff --git a/recipes-containers/podman/podman/50-podman-rootless.conf b/recipes-containers/podman/podman/50-podman-rootless.conf new file mode 100644 index 00000000..aaede0e1 --- /dev/null +++ b/recipes-containers/podman/podman/50-podman-rootless.conf @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: MIT + +# User namespaces are required for rootless containers. +user.max_user_namespaces = 15000 diff --git a/recipes-containers/podman/podman/run-ptest b/recipes-containers/podman/podman/run-ptest new file mode 100644 index 00000000..108ff451 --- /dev/null +++ b/recipes-containers/podman/podman/run-ptest @@ -0,0 +1,13 @@ +#!/bin/sh + +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: MIT + +# +# Podman system tests +# + +# The system tests don't need any go related variables. Dummy-define them to +# avoid useless warnings/errors. +GOOS=undefined GO=true BUILDTAGS= make localsystem diff --git a/recipes-containers/podman/podman_git.bb b/recipes-containers/podman/podman_git.bb index ef4a454f..f69dec16 100644 --- a/recipes-containers/podman/podman_git.bb +++ b/recipes-containers/podman/podman_git.bb @@ -6,47 +6,63 @@ DESCRIPTION = "Podman is a daemonless container engine for developing, \ `alias docker=podman`. \ " +inherit features_check +REQUIRED_DISTRO_FEATURES ?= "seccomp ipv6" + DEPENDS = " \ go-metalinter-native \ - go-md2man-native \ gpgme \ libseccomp \ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + gettext-native \ " -SRCREV = "bd94d84fadda7000da78e36d9865949dc8e7adb4" +SRCREV = "bb81e85a430fa95d23a15b77c717fd68bf06ebf2" SRC_URI = " \ - git://github.com/containers/libpod.git;branch=v3.1 \ + git://github.com/containers/libpod.git;branch=v5.0;protocol=https \ + ${@bb.utils.contains('PACKAGECONFIG', 'rootless', 'file://50-podman-rootless.conf', '', d)} \ + file://run-ptest \ " LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3d9b931fa23ab1cacd0087f9e2ee12c0" GO_IMPORT = "import" S = "${WORKDIR}/git" -PV = "3.1.0+git${SRCPV}" +PV = "5.0.1+git" + +CVE_STATUS[CVE-2022-2989] = "fixed-version: fixed since v4.3.0" +CVE_STATUS[CVE-2023-0778] = "fixed-version: fixed since v4.5.0" PACKAGES =+ "${PN}-contrib" PODMAN_PKG = "github.com/containers/libpod" + +BUILDTAGS_EXTRA ?= "${@bb.utils.contains('VIRTUAL-RUNTIME_container_networking','cni','cni','',d)}" BUILDTAGS ?= "seccomp varlink \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ -exclude_graphdriver_btrfs exclude_graphdriver_devicemapper" +exclude_graphdriver_btrfs exclude_graphdriver_devicemapper ${BUILDTAGS_EXTRA}" # overide LDFLAGS to allow podman to build without: "flag provided but not # defined: -Wl,-O1 export LDFLAGS="" +# https://github.com/llvm/llvm-project/issues/53999 +TOOLCHAIN = "gcc" + +# podmans Makefile expects BUILDFLAGS to be set but go.bbclass defines them in GOBUILDFLAGS +export BUILDFLAGS="${GOBUILDFLAGS}" + inherit go goarch -inherit systemd pkgconfig +inherit systemd pkgconfig ptest do_configure[noexec] = "1" EXTRA_OEMAKE = " \ PREFIX=${prefix} BINDIR=${bindir} LIBEXECDIR=${libexecdir} \ ETCDIR=${sysconfdir} TMPFILESDIR=${nonarch_libdir}/tmpfiles.d \ - SYSTEMDDIR=${systemd_unitdir}/system USERSYSTEMDDIR=${systemd_unitdir}/user \ + SYSTEMDDIR=${systemd_unitdir}/system USERSYSTEMDDIR=${systemd_user_unitdir} \ " # remove 'docker' from the packageconfig if you don't want podman to @@ -75,7 +91,11 @@ do_compile() { export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" - oe_runmake BUILDTAGS="${BUILDTAGS}" + # podman now builds go-md2man and requires the host/build details + export NATIVE_GOOS=${BUILD_GOOS} + export NATIVE_GOARCH=${BUILD_GOARCH} + + oe_runmake NATIVE_GOOS=${BUILD_GOOS} NATIVE_GOARCH=${BUILD_GOARCH} BUILDTAGS="${BUILDTAGS}" } do_install() { @@ -89,23 +109,68 @@ do_install() { if ${@bb.utils.contains('PACKAGECONFIG', 'docker', 'true', 'false', d)}; then oe_runmake install.docker DESTDIR="${D}" fi - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 644 ${S}/src/import/contrib/systemd/system/podman.service ${D}/${systemd_unitdir}/system - install -m 644 ${S}/src/import/contrib/systemd/system/podman.socket ${D}/${systemd_unitdir}/system - rm -f ${D}/${systemd_unitdir}/system/docker.service.rpm + + # Silence docker emulation warnings. + mkdir -p ${D}/etc/containers + touch ${D}/etc/containers/nodocker + + if ${@bb.utils.contains('PACKAGECONFIG', 'rootless', 'true', 'false', d)}; then + install -d "${D}${sysconfdir}/sysctl.d" + install -m 0644 "${WORKDIR}/50-podman-rootless.conf" "${D}${sysconfdir}/sysctl.d" fi } -FILES_${PN} += " \ +do_install_ptest () { + cp ${S}/src/import/Makefile ${D}${PTEST_PATH} + install -d ${D}${PTEST_PATH}/test + cp -r ${S}/src/import/test/system ${D}${PTEST_PATH}/test + + # Some compatibility links for the Makefile assumptions. + install -d ${D}${PTEST_PATH}/bin + ln -s ${bindir}/podman ${D}${PTEST_PATH}/bin/podman + ln -s ${bindir}/podman-remote ${D}${PTEST_PATH}/bin/podman-remote +} + +FILES:${PN} += " \ ${systemd_unitdir}/system/* \ - ${systemd_unitdir}/user/* \ + ${nonarch_libdir}/systemd/* \ + ${systemd_user_unitdir/* \ ${nonarch_libdir}/tmpfiles.d/* \ + ${datadir}/user-tmpfiles.d/* \ ${sysconfdir}/cni \ " -SYSTEMD_SERVICE_${PN} = "podman.service podman.socket" +SYSTEMD_SERVICE:${PN} = "podman.service podman.socket" + +# The other option for this is "busybox", since meta-virt ensures +# that busybox is configured with nsenter +VIRTUAL-RUNTIME_base-utils-nsenter ?= "util-linux-nsenter" -RDEPENDS_${PN} += "conmon virtual/runc iptables cni skopeo" -RRECOMMENDS_${PN} += "slirp4netns kernel-module-xt-masquerade kernel-module-xt-comment" -RCONFLICTS_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'docker', 'docker', '', d)}" +COMPATIBLE_HOST = "^(?!mips).*" + +RDEPENDS:${PN} += "\ + conmon ${VIRTUAL-RUNTIME_container_runtime} iptables ${VIRTUAL-RUNTIME_container_networking} skopeo ${VIRTUAL-RUNTIME_base-utils-nsenter} \ + ${@bb.utils.contains('PACKAGECONFIG', 'rootless', 'fuse-overlayfs slirp4netns', '', d)} \ +" +RRECOMMENDS:${PN} += "slirp4netns \ + kernel-module-xt-masquerade \ + kernel-module-xt-comment \ + kernel-module-xt-mark \ + kernel-module-xt-addrtype \ + kernel-module-xt-conntrack \ + kernel-module-xt-tcpudp \ + " +RCONFLICTS:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'docker', 'docker', '', d)}" + +RDEPENDS:${PN}-ptest += " \ + bash \ + bats \ + buildah \ + catatonit \ + coreutils \ + file \ + gnupg \ + jq \ + make \ + tar \ +" diff --git a/recipes-containers/riddler/files/0001-build-use-to-select-cross-compiler.patch b/recipes-containers/riddler/files/0001-build-use-to-select-cross-compiler.patch index 8098562e..9c6c124c 100644 --- a/recipes-containers/riddler/files/0001-build-use-to-select-cross-compiler.patch +++ b/recipes-containers/riddler/files/0001-build-use-to-select-cross-compiler.patch @@ -3,26 +3,28 @@ From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Tue, 30 Jun 2020 23:58:22 -0400 Subject: [PATCH] build: use to select cross compiler +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- - git/src/import/Makefile | 10 +++++----- + git/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) -diff --git git/src/import/Makefile git/src/import/Makefile +diff --git git/Makefile git/Makefile index c6976af..f3c8d17 100644 ---- git/src/import/Makefile -+++ git/src/import/Makefile +--- git/Makefile ++++ git/Makefile @@ -10,11 +10,11 @@ all: clean build static fmt lint test vet build: @echo "+ $@" - @go build -tags "$(BUILDTAGS) cgo" . -+ @${GO} build -tags "$(BUILDTAGS) cgo" . ++ @${GO} build ${GOBUILDFLAGS} -tags "$(BUILDTAGS) cgo" . static: @echo "+ $@" - CGO_ENABLED=1 go build -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static" -o riddler . -+ CGO_ENABLED=1 ${GO} build -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static" -o riddler . ++ CGO_ENABLED=1 ${GO} build ${GOBUILDFLAGS} -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static" -o riddler . fmt: @echo "+ $@" diff --git a/recipes-containers/riddler/riddler_git.bb b/recipes-containers/riddler/riddler_git.bb index 1bdf786a..2b2902b5 100644 --- a/recipes-containers/riddler/riddler_git.bb +++ b/recipes-containers/riddler/riddler_git.bb @@ -1,24 +1,24 @@ HOMEPAGE = "https://github.com/jfrazelle/riddler" SUMMARY = "Convert `docker inspect` to opencontainers (OCI compatible) runc spec." LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=20ce4c6a4f32d6ee4a68e3a7506db3f1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=20ce4c6a4f32d6ee4a68e3a7506db3f1" -SRC_URI = "git://github.com/jfrazelle/riddler;branch=master \ +SRC_URI = "git://github.com/jfrazelle/riddler;branch=master;protocol=https;destsuffix=git/src/github.com/jessfraz/riddler \ file://0001-build-use-to-select-cross-compiler.patch \ " SRCREV = "23befa0b232877b5b502b828e24161d801bd67f6" -PV = "0.1.0+git${SRCPV}" -GO_IMPORT = "import" +PV = "0.1.0+git" -S = "${WORKDIR}/git" +S = "${WORKDIR}/git/src/github.com/jessfraz/riddler" +GO_IMPORT = "github.com/jessfraz/riddler" inherit goarch inherit go # In addition to hosts go does not like, we do not build for mips. # -COMPATIBLE_HOST_mipsarch = "null" +COMPATIBLE_HOST:mipsarch = "null" # This disables seccomp and apparmor, which are on by default in the # go package. @@ -26,34 +26,25 @@ EXTRA_OEMAKE="BUILDTAGS=''" do_compile() { export GOARCH="${TARGET_GOARCH}" - export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go" - # Setup vendor directory so that it can be used in GOPATH. - # - # Go looks in a src directory under any directory in GOPATH but riddler - # uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink. - # - # We also need to link in the ipallocator directory as that is not under - # a src directory. - ln -sfn . "${S}/src/import/vendor/src" - mkdir -p "${S}/src/import/vendor/src/github.com/jessfraz/riddler" - ln -sfn "${S}/src/import/parse" "${S}/src/import/vendor/src/github.com/jessfraz/riddler/parse" - export GOPATH="${S}/src/import/vendor" + export GOROOT="${STAGING_LIBDIR}/go" + export GOPATH="${S}/src/import/vendor:${WORKDIR}/git/" # Pass the needed cflags/ldflags so that cgo # can find the needed headers files and libraries export CGO_ENABLED="1" export CFLAGS="" export LDFLAGS="" - export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" - export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_CFLAGS="${TARGET_CFLAGS}" + export CGO_LDFLAGS="${TARGET_LDFLAGS}" export GO111MODULE=off + export GOBUILDFLAGS="-trimpath" - cd ${S}/src/import + cd ${S} oe_runmake static } do_install() { install -d ${D}/${sbindir} - install ${S}/src/import/riddler ${D}/${sbindir}/riddler + install ${S}/riddler ${D}/${sbindir}/riddler } diff --git a/recipes-containers/runc/files/0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch b/recipes-containers/runc/files/0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch index 163501ae..9e5a8313 100644 --- a/recipes-containers/runc/files/0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch +++ b/recipes-containers/runc/files/0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch @@ -1,10 +1,14 @@ -From d2c47a973f354ffd505bb4e809c59e57b543726d Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Tue, 6 Aug 2019 19:01:45 +0800 +From 0fe50d2ca4517f5e3070585040f35ace413acd44 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Tue, 24 Aug 2021 11:38:23 -0400 Subject: [PATCH] Makefile: respect GOBUILDFLAGS for runc and remove recvtty from static +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +[bva: refreshed for release 1.0.2] +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) @@ -13,20 +17,12 @@ Index: git/src/import/Makefile =================================================================== --- git.orig/src/import/Makefile +++ git/src/import/Makefile -@@ -21,7 +21,7 @@ - endif +@@ -24,7 +24,7 @@ + GO_BUILDMODE := "-buildmode=pie" endif endif --GO_BUILD := $(GO) build -trimpath $(GO_BUILDMODE) $(EXTRA_FLAGS) -tags "$(BUILDTAGS)" \ -+GO_BUILD := $(GO) build $(GOBUILDFLAGS) -trimpath $(GO_BUILDMODE) $(EXTRA_FLAGS) -tags "$(BUILDTAGS)" \ - -ldflags "-X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)" - GO_BUILD_STATIC := CGO_ENABLED=1 $(GO) build -trimpath $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo osusergo" \ - -ldflags "-w -extldflags -static -X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)" -@@ -38,7 +38,6 @@ - - static: - $(GO_BUILD_STATIC) -o runc . -- $(GO_BUILD_STATIC) -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty +-GO_BUILD := $(GO) build -trimpath $(GO_BUILDMODE) \ ++GO_BUILD := $(GO) build $(GOBUILDFLAGS) -trimpath $(GO_BUILDMODE) \ + $(EXTRA_FLAGS) -tags "$(BUILDTAGS)" \ + -ldflags "$(LDFLAGS_COMMON) $(EXTRA_LDFLAGS)" - release: - script/release.sh -r release/$(VERSION) -v $(VERSION) diff --git a/recipes-containers/runc/runc-docker/0001-runc-Add-console-socket-dev-null.patch b/recipes-containers/runc/runc-docker/0001-runc-Add-console-socket-dev-null.patch index bcf4c103..cb0ddc37 100644 --- a/recipes-containers/runc/runc-docker/0001-runc-Add-console-socket-dev-null.patch +++ b/recipes-containers/runc/runc-docker/0001-runc-Add-console-socket-dev-null.patch @@ -7,6 +7,8 @@ This allows for setting up a detached session where you do not want to set the terminal to false in the config.json. More or less this is a runtime override. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Jason Wessel <jason.wessel@windriver.com> --- utils_linux.go | 5 +++++ diff --git a/recipes-containers/runc/runc-docker/0001-runc-docker-SIGUSR1-daemonize.patch b/recipes-containers/runc/runc-docker/0001-runc-docker-SIGUSR1-daemonize.patch index 98b02044..d3d1134b 100644 --- a/recipes-containers/runc/runc-docker/0001-runc-docker-SIGUSR1-daemonize.patch +++ b/recipes-containers/runc/runc-docker/0001-runc-docker-SIGUSR1-daemonize.patch @@ -23,6 +23,8 @@ is set. because it was blocking until runc performed everything it was required to perform. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Jason Wessel <jason.wessel@windriver.com> --- signals.go | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++---- @@ -56,11 +58,11 @@ Index: git/src/import/signals.go @@ -67,12 +66,61 @@ if h.notifySocket != nil { if detach { - h.notifySocket.run(pid1) + _ = h.notifySocket.run(pid1) - return 0, nil } - h.notifySocket.run(os.Getpid()) - go h.notifySocket.run(0) + _ = h.notifySocket.run(os.Getpid()) + go func() { _ = h.notifySocket.run(0) }() } + if (detach) { @@ -120,7 +122,7 @@ Index: git/src/import/utils_linux.go =================================================================== --- git.orig/src/import/utils_linux.go +++ git/src/import/utils_linux.go -@@ -349,7 +349,7 @@ +@@ -345,7 +345,7 @@ if err != nil { r.terminate(process) } diff --git a/recipes-containers/runc/runc-docker_git.bb b/recipes-containers/runc/runc-docker_git.bb index ff142d00..8d078e85 100644 --- a/recipes-containers/runc/runc-docker_git.bb +++ b/recipes-containers/runc/runc-docker_git.bb @@ -2,13 +2,13 @@ include runc.inc # Note: this rev is before the required protocol field, update when all components # have been updated to match. -SRCREV_runc-docker = "249bca0a1316129dcd5bd38b5d75572274181cb5" -SRC_URI = "git://github.com/opencontainers/runc;nobranch=1;name=runc-docker \ +SRCREV_runc-docker = "a9833ff391a71b30069a6c3f816db113379a4346" +SRC_URI = "git://github.com/opencontainers/runc;branch=release-1.1;name=runc-docker;protocol=https \ file://0001-runc-Add-console-socket-dev-null.patch \ file://0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch \ file://0001-runc-docker-SIGUSR1-daemonize.patch \ " -RUNC_VERSION = "1.0.0-rc93" +RUNC_VERSION = "1.1.12" CVE_PRODUCT = "runc" diff --git a/recipes-containers/runc/runc-opencontainers_git.bb b/recipes-containers/runc/runc-opencontainers_git.bb index 51ba7c9b..188b8440 100644 --- a/recipes-containers/runc/runc-opencontainers_git.bb +++ b/recipes-containers/runc/runc-opencontainers_git.bb @@ -1,17 +1,12 @@ include runc.inc -SRCREV = "fce58ab2d5c488bc573d02712db476a6daa9a60c" +SRCREV = "a9833ff391a71b30069a6c3f816db113379a4346" SRC_URI = " \ - git://github.com/opencontainers/runc;branch=master \ + git://github.com/opencontainers/runc;branch=release-1.1;protocol=https \ file://0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch \ " -RUNC_VERSION = "1.0.0-rc93" +RUNC_VERSION = "1.1.12" CVE_PRODUCT = "runc" -# use BFD when ld-is-gold is used to work around: -# http://errors.yoctoproject.org/Errors/Details/580099/ -# CGO_ENABLED=1 x86_64-oe-linux-go build -trimpath -tags "seccomp seccomp netgo osusergo" -ldflags "-w -extldflags -static -X main.gitCommit="fce58ab2d5c488bc573d02712db476a6daa9a60c-dirty" -X main.version=1.0.0-rc93+dev " -o runc . -# TOPDIR/tmp-glibc/work/core2-64-oe-linux/runc-opencontainers/1.0.0-rc93+gitAUTOINC+fce58ab2d5-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/11.0.1/ld: internal error in format_file_lineno, at ../../gold/dwarf_reader.cc:2278 -# collect2: error: ld returned 1 exit status -LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}" diff --git a/recipes-containers/runc/runc.inc b/recipes-containers/runc/runc.inc index eb8aa022..c8e74273 100644 --- a/recipes-containers/runc/runc.inc +++ b/recipes-containers/runc/runc.inc @@ -26,7 +26,7 @@ PACKAGECONFIG ??= "static \ PROVIDES += "virtual/runc" -RPROVIDES_${PN} = "virtual/runc" +RPROVIDES:${PN} = "virtual-runc" GO_IMPORT = "import" diff --git a/recipes-containers/singularity/singularity/0001-Use-python3.patch b/recipes-containers/singularity/singularity/0001-Use-python3.patch index dbfe06e4..5af21719 100644 --- a/recipes-containers/singularity/singularity/0001-Use-python3.patch +++ b/recipes-containers/singularity/singularity/0001-Use-python3.patch @@ -8,6 +8,8 @@ Subject: [PATCH] Use python3 | configure: error: Please install python before installing. | WARNING: exit code 1 from a shell command. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- configure.ac | 6 +++--- diff --git a/recipes-containers/singularity/singularity/0001-configure.ac-drop-2nd-AM_INIT_AUTOMAKE.patch b/recipes-containers/singularity/singularity/0001-configure.ac-drop-2nd-AM_INIT_AUTOMAKE.patch new file mode 100644 index 00000000..55ee83e4 --- /dev/null +++ b/recipes-containers/singularity/singularity/0001-configure.ac-drop-2nd-AM_INIT_AUTOMAKE.patch @@ -0,0 +1,36 @@ +From 13ee3e016490e74868b64e3a07dcccf9feafebdf Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Tue, 30 Nov 2021 05:59:06 -0800 +Subject: [PATCH] configure.ac: drop 2nd AM_INIT_AUTOMAKE + +* automake-1.16.5 introduced in oe-core: + https://git.openembedded.org/openembedded-core/commit/?id=851167b3a41b1728407d331c1666827fb730daa1 + doesn't like this after: + http://git.savannah.gnu.org/cgit/automake.git/commit/?id=f4a3a70f69e1dbccb6578f39ef47835098a04624 + + and do_configure fails with: + configure.ac:38: error: AM_INIT_AUTOMAKE expanded multiple times + + There is no point in upstreaming this, because singularity-2.3.1 is very old and + whole autotools support is removed in version 3 (currently 3.8.5) with: + https://github.com/hpcng/singularity/commit/a06e3d13a822080d7a9bc55085ee1bb32026a96e + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + configure.ac | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 8ffa5ab32..a5a35c43a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,7 +35,6 @@ AC_GNU_SOURCE + AC_PROG_INSTALL + AC_PROG_LIBTOOL + AC_PROG_CC +-AM_INIT_AUTOMAKE + AM_PROG_CC_C_O + AC_ENABLE_SHARED + AC_PROG_LIBTOOL(libtool) diff --git a/recipes-containers/singularity/singularity_git.bb b/recipes-containers/singularity/singularity_git.bb index 103270dd..72171b39 100644 --- a/recipes-containers/singularity/singularity_git.bb +++ b/recipes-containers/singularity/singularity_git.bb @@ -1,19 +1,20 @@ # Skip QA check for library symbolic links (core issue is a packaging problem within # Singularity build / config: read up on the dev-so test for more info) -INSANE_SKIP_${PN} += "dev-so" +INSANE_SKIP:${PN} += "dev-so" -RDEPENDS_${PN} += "glibc python3 ca-certificates openssl bash e2fsprogs-mke2fs" +RDEPENDS:${PN} += "python3 ca-certificates openssl bash e2fsprogs-mke2fs" -LICENSE = "BSD" +LICENSE = "BSD-3-Clause | Apache-2.0" LIC_FILES_CHKSUM = "file://COPYRIGHT.md;md5=be78c34e483dd7d8439358b1e024b294 \ file://LICENSE-LBNL.md;md5=45a007b527e1a9507aa7fa869f8d7ede \ file://LICENSE.md;md5=df4326b473db6424033f1d98a5645e30 \ file://debian/copyright;md5=ed267cf386d9b75ab1f27f407e935b10" -SRC_URI = "git://github.com/singularityware/singularity.git;protocol=https \ +SRC_URI = "git://github.com/singularityware/singularity.git;protocol=https;branch=master \ file://0001-Use-python3.patch \ + file://0001-configure.ac-drop-2nd-AM_INIT_AUTOMAKE.patch \ " -PV = "2.3.1+git${SRCPV}" +PV = "2.3.1+git" SRCREV = "e214d4ebf0a1274b1c63b095fd55ae61c7e92947" S = "${WORKDIR}/git" @@ -21,7 +22,7 @@ S = "${WORKDIR}/git" inherit python3native autotools-brokensep EXTRA_OECONF = "--prefix=/usr/local" -pkg_postinst_${PN}() { +pkg_postinst:${PN}() { # python3 expects CA certificates to be installed in a different place to where # they are actually installed. These lines link the two locations. rm -r $D${libdir}/ssl/certs diff --git a/recipes-containers/skopeo/files/0001-makefile-add-GOBUILDFLAGS-to-go-build-call.patch b/recipes-containers/skopeo/files/0001-makefile-add-GOBUILDFLAGS-to-go-build-call.patch new file mode 100644 index 00000000..5d313e73 --- /dev/null +++ b/recipes-containers/skopeo/files/0001-makefile-add-GOBUILDFLAGS-to-go-build-call.patch @@ -0,0 +1,28 @@ +From 7037cb27718fe23541885684fdacec9c52ee0e30 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Tue, 13 Sep 2022 11:55:45 -0400 +Subject: [PATCH] makefile: add GOBUILDFLAGS to go build call + +We may need to specify things like -trimpath, so add $(GOBUILDFLAGS) +to allow them to be passed from the recipe to the Makefile. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + src/import/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: git/src/import/Makefile +=================================================================== +--- git.orig/Makefile ++++ git/Makefile +@@ -126,7 +126,7 @@ + # Build w/o using containers + .PHONY: bin/skopeo + bin/skopeo: +- $(GO) build ${GO_DYN_FLAGS} ${SKOPEO_LDFLAGS} -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o $@ ./cmd/skopeo ++ $(GO) build $(GOBUILDFLAGS) ${GO_DYN_FLAGS} ${SKOPEO_LDFLAGS} -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o $@ ./cmd/skopeo + bin/skopeo.%: + GOOS=$(word 2,$(subst ., ,$@)) GOARCH=$(word 3,$(subst ., ,$@)) $(GO) build ${SKOPEO_LDFLAGS} -tags "containers_image_openpgp $(BUILDTAGS)" -o $@ ./cmd/skopeo + local-cross: bin/skopeo.darwin.amd64 bin/skopeo.linux.arm bin/skopeo.linux.arm64 bin/skopeo.windows.386.exe bin/skopeo.windows.amd64.exe diff --git a/recipes-containers/skopeo/files/storage.conf b/recipes-containers/skopeo/files/storage.conf deleted file mode 100644 index 818cfe8f..00000000 --- a/recipes-containers/skopeo/files/storage.conf +++ /dev/null @@ -1,133 +0,0 @@ -# This file is is the configuration file for all tools -# that use the containers/storage library. -# See man 5 containers-storage.conf for more information -# The "container storage" table contains all of the server options. -[storage] - -# Default Storage Driver -driver = "overlay" - -# Temporary storage location -runroot = "/var/run/containers/storage" - -# Primary Read/Write location of container storage -graphroot = "/var/lib/containers/storage" - -[storage.options] -# Storage options to be passed to underlying storage drivers - -# AdditionalImageStores is used to pass paths to additional Read/Only image stores -# Must be comma separated list. -additionalimagestores = [ -] - -# Size is used to set a maximum size of the container image. Only supported by -# certain container storage drivers. -size = "" - -# Path to an helper program to use for mounting the file system instead of mounting it -# directly. -#mount_program = "/usr/bin/fuse-overlayfs" - -# OverrideKernelCheck tells the driver to ignore kernel checks based on kernel version -override_kernel_check = "true" - -# mountopt specifies comma separated list of extra mount options -mountopt = "nodev" - -# Remap-UIDs/GIDs is the mapping from UIDs/GIDs as they should appear inside of -# a container, to UIDs/GIDs as they should appear outside of the container, and -# the length of the range of UIDs/GIDs. Additional mapped sets can be listed -# and will be heeded by libraries, but there are limits to the number of -# mappings which the kernel will allow when you later attempt to run a -# container. -# -# remap-uids = 0:1668442479:65536 -# remap-gids = 0:1668442479:65536 - -# Remap-User/Group is a name which can be used to look up one or more UID/GID -# ranges in the /etc/subuid or /etc/subgid file. Mappings are set up starting -# with an in-container ID of 0 and the a host-level ID taken from the lowest -# range that matches the specified name, and using the length of that range. -# Additional ranges are then assigned, using the ranges which specify the -# lowest host-level IDs first, to the lowest not-yet-mapped container-level ID, -# until all of the entries have been used for maps. -# -# remap-user = "storage" -# remap-group = "storage" - -[storage.options.thinpool] -# Storage Options for thinpool - -# autoextend_percent determines the amount by which pool needs to be -# grown. This is specified in terms of % of pool size. So a value of 20 means -# that when threshold is hit, pool will be grown by 20% of existing -# pool size. -# autoextend_percent = "20" - -# autoextend_threshold determines the pool extension threshold in terms -# of percentage of pool size. For example, if threshold is 60, that means when -# pool is 60% full, threshold has been hit. -# autoextend_threshold = "80" - -# basesize specifies the size to use when creating the base device, which -# limits the size of images and containers. -# basesize = "10G" - -# blocksize specifies a custom blocksize to use for the thin pool. -# blocksize="64k" - -# directlvm_device specifies a custom block storage device to use for the -# thin pool. Required if you setup devicemapper. -# directlvm_device = "" - -# directlvm_device_force wipes device even if device already has a filesystem. -# directlvm_device_force = "True" - -# fs specifies the filesystem type to use for the base device. -# fs="xfs" - -# log_level sets the log level of devicemapper. -# 0: LogLevelSuppress 0 (Default) -# 2: LogLevelFatal -# 3: LogLevelErr -# 4: LogLevelWarn -# 5: LogLevelNotice -# 6: LogLevelInfo -# 7: LogLevelDebug -# log_level = "7" - -# min_free_space specifies the min free space percent in a thin pool require for -# new device creation to succeed. Valid values are from 0% - 99%. -# Value 0% disables -# min_free_space = "10%" - -# mkfsarg specifies extra mkfs arguments to be used when creating the base. -# device. -# mkfsarg = "" - -# use_deferred_removal marks devicemapper block device for deferred removal. -# If the thinpool is in use when the driver attempts to remove it, the driver -# tells the kernel to remove it as soon as possible. Note this does not free -# up the disk space, use deferred deletion to fully remove the thinpool. -# use_deferred_removal = "True" - -# use_deferred_deletion marks thinpool device for deferred deletion. -# If the device is busy when the driver attempts to delete it, the driver -# will attempt to delete device every 30 seconds until successful. -# If the program using the driver exits, the driver will continue attempting -# to cleanup the next time the driver is used. Deferred deletion permanently -# deletes the device and all data stored in device will be lost. -# use_deferred_deletion = "True" - -# xfs_nospace_max_retries specifies the maximum number of retries XFS should -# attempt to complete IO when ENOSPC (no space) error is returned by -# underlying storage device. -# xfs_nospace_max_retries = "0" - -# If specified, use OSTree to deduplicate files with the overlay backend -ostree_repo = "" - -# Set to skip a PRIVATE bind mount on the storage home directory. Only supported by -# certain container storage drivers -skip_mount_home = "false" diff --git a/recipes-containers/skopeo/skopeo_git.bb b/recipes-containers/skopeo/skopeo_git.bb index 05baefb3..5083b658 100644 --- a/recipes-containers/skopeo/skopeo_git.bb +++ b/recipes-containers/skopeo/skopeo_git.bb @@ -1,39 +1,46 @@ HOMEPAGE = "https://github.com/containers/skopeo" SUMMARY = "Work with remote images registries - retrieving information, images, signing content" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=7e611105d3e369954840a6668c438584" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7e611105d3e369954840a6668c438584" DEPENDS = " \ gpgme \ - multipath-tools \ + libdevmapper \ + lvm2 \ btrfs-tools \ glib-2.0 \ - ostree \ " inherit go -RDEPENDS_${PN} = " \ +COMPATIBLE_HOST = "^(?!mips).*" + +RDEPENDS:${PN} = " \ gpgme \ libgpg-error \ libassuan \ " SRC_URI = " \ - git://github.com/containers/skopeo;branch=release-1.2 \ - file://storage.conf \ - file://registries.conf \ + git://github.com/containers/skopeo;branch=release-1.14;protocol=https;destsuffix=git/src/github.com/containers/skopeo \ + file://0001-makefile-add-GOBUILDFLAGS-to-go-build-call.patch \ " -SRCREV = "e7880c4a8991966f16e367f085d42375ad70197e" -PV = "v1.2.3-dev+git${SRCPV}" +SRCREV = "1c2ab995059dd011aad74e2c37305d636ebd2675" +PV = "v1.14.2+git" GO_IMPORT = "import" -S = "${WORKDIR}/git" +S = "${WORKDIR}/git/src/github.com/containers/skopeo" inherit goarch inherit pkgconfig +inherit container-host + +# https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-10214 +# https://github.com/containers/image/issues/654 +CVE_STATUS[CVE-2019-10214] = "fixed-version: This CVE was fixed in the container image go library skopeo is using." + # This disables seccomp and apparmor, which are on by default in the # go package. EXTRA_OEMAKE="BUILDTAGS=''" @@ -41,27 +48,20 @@ EXTRA_OEMAKE="BUILDTAGS=''" do_compile() { export GOARCH="${TARGET_GOARCH}" - # Setup vendor directory so that it can be used in GOPATH. - # - # Go looks in a src directory under any directory in GOPATH but riddler - # uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink. - # - # We also need to link in the ipallocator directory as that is not under - # a src directory. - ln -sfn . "${S}/src/import/vendor/src" - mkdir -p "${S}/src/import/vendor/src/github.com/projectatomic/skopeo" - ln -sfn "${S}/src/import/skopeo" "${S}/src/import/vendor/src/github.com/projectatomic/skopeo" - ln -sfn "${S}/src/import/version" "${S}/src/import/vendor/src/github.com/projectatomic/skopeo/version" - export GOPATH="${S}/src/import/vendor" + export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${WORKDIR}/git/" + cd ${S} # Pass the needed cflags/ldflags so that cgo # can find the needed headers files and libraries export CGO_ENABLED="1" export CFLAGS="" export LDFLAGS="" - export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" - export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" - cd ${S}/src/import + export CGO_CFLAGS="${TARGET_CFLAGS}" + export CGO_LDFLAGS="${TARGET_LDFLAGS}" + + export GO111MODULE=off + export GOBUILDFLAGS="-trimpath" + export EXTRA_LDFLAGS="-s -w" oe_runmake bin/skopeo } @@ -70,11 +70,22 @@ do_install() { install -d ${D}/${sbindir} install -d ${D}/${sysconfdir}/containers - install ${S}/src/import/bin/skopeo ${D}/${sbindir}/ - install ${S}/src/import/default-policy.json ${D}/${sysconfdir}/containers/policy.json + install ${S}/bin/skopeo ${D}/${sbindir}/ +} - install ${WORKDIR}/storage.conf ${D}/${sysconfdir}/containers/storage.conf - install ${WORKDIR}/registries.conf ${D}/${sysconfdir}/containers/registries.conf +do_install:append:class-native() { + create_cmdline_wrapper ${D}/${sbindir}/skopeo \ + --policy ${sysconfdir}/containers/policy.json + + create_wrapper ${D}/${sbindir}/skopeo.real \ + LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} +} + +do_install:append:class-nativesdk() { + create_cmdline_wrapper ${D}/${sbindir}/skopeo \ + --policy ${sysconfdir}/containers/policy.json } -INSANE_SKIP_${PN} += "ldflags" +INSANE_SKIP:${PN} += "ldflags already-stripped" + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-containers/sloci-image/sloci-image/0001-sloci-image-fix-variant-quoting.patch b/recipes-containers/sloci-image/sloci-image/0001-sloci-image-fix-variant-quoting.patch index 5cb35830..85aa6205 100644 --- a/recipes-containers/sloci-image/sloci-image/0001-sloci-image-fix-variant-quoting.patch +++ b/recipes-containers/sloci-image/sloci-image/0001-sloci-image-fix-variant-quoting.patch @@ -11,6 +11,8 @@ needing to figure out the quote escaping. No changes in the output, except a properly quoted "variant" when a variant is defined. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- sloci-image | 3 ++- diff --git a/recipes-containers/sloci-image/sloci-image-native_git.bb b/recipes-containers/sloci-image/sloci-image_git.bb index a68c6d9a..4bbf06e2 100644 --- a/recipes-containers/sloci-image/sloci-image-native_git.bb +++ b/recipes-containers/sloci-image/sloci-image_git.bb @@ -1,7 +1,7 @@ SUMMARY = "A simple CLI tool for packing rootfs into a single-layer OCI image" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=948cd8e59069fad992b0469af9ad7966" -SRC_URI = "git://github.com/jirutka/sloci-image.git \ +SRC_URI = "git://github.com/jirutka/sloci-image.git;branch=master;protocol=https \ file://0001-sloci-image-fix-variant-quoting.patch \ " @@ -9,9 +9,7 @@ SRC_URI = "git://github.com/jirutka/sloci-image.git \ DEPENDS = "" SRCREV = "4015e49763e5a738026a5bbfcf32b38b5a4fa650" -PV = "v0.1.0+git${SRCPV}" - -inherit native +PV = "v0.1.0+git" S = "${WORKDIR}/git" @@ -25,3 +23,5 @@ do_install() { } CLEANBROKEN = "1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-containers/tini/tini/0001-tini.c-a-function-declaration-without-a-prototype-is.patch b/recipes-containers/tini/tini/0001-tini.c-a-function-declaration-without-a-prototype-is.patch new file mode 100644 index 00000000..8834f175 --- /dev/null +++ b/recipes-containers/tini/tini/0001-tini.c-a-function-declaration-without-a-prototype-is.patch @@ -0,0 +1,74 @@ +From 66d0b5fd94fafe1e15bf21a1b73618ca23de078f Mon Sep 17 00:00:00 2001 +From: Jose Quaresma <jose.quaresma@foundries.io> +Date: Fri, 23 Sep 2022 16:31:33 +0000 +Subject: [PATCH] tini.c: a function declaration without a prototype is + deprecated in all versions of C + +| /srv/oe/build/tmp-lmp/work/corei7-64-lmp-linux/tini/0.19.0-r0/git/src/tini.c:150:18: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] +| int isolate_child() { +| ^ +| void +| /srv/oe/build/tmp-lmp/work/corei7-64-lmp-linux/tini/0.19.0-r0/git/src/tini.c:395:14: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] +| int parse_env() { +| ^ +| void +| /srv/oe/build/tmp-lmp/work/corei7-64-lmp-linux/tini/0.19.0-r0/git/src/tini.c:416:24: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] +| int register_subreaper () { +| ^ +| void +| /srv/oe/build/tmp-lmp/work/corei7-64-lmp-linux/tini/0.19.0-r0/git/src/tini.c:434:19: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] +| void reaper_check () { +| ^ +| void +| 4 errors generated. + +Upstream-Status: Submitted [https://github.com/krallin/tini/pull/198] + +Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> +--- + src/tini.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/tini.c b/src/tini.c +index 2c873f9..7914d3a 100644 +--- a/src/tini.c ++++ b/src/tini.c +@@ -147,7 +147,7 @@ int restore_signals(const signal_configuration_t* const sigconf_ptr) { + return 0; + } + +-int isolate_child() { ++int isolate_child(void) { + // Put the child into a new process group. + if (setpgid(0, 0) < 0) { + PRINT_FATAL("setpgid failed: %s", strerror(errno)); +@@ -392,7 +392,7 @@ int parse_args(const int argc, char* const argv[], char* (**child_args_ptr_ptr)[ + return 0; + } + +-int parse_env() { ++int parse_env(void) { + #if HAS_SUBREAPER + if (getenv(SUBREAPER_ENV_VAR) != NULL) { + subreaper++; +@@ -413,7 +413,7 @@ int parse_env() { + + + #if HAS_SUBREAPER +-int register_subreaper () { ++int register_subreaper (void) { + if (subreaper > 0) { + if (prctl(PR_SET_CHILD_SUBREAPER, 1)) { + if (errno == EINVAL) { +@@ -431,7 +431,7 @@ int register_subreaper () { + #endif + + +-void reaper_check () { ++void reaper_check (void) { + /* Check that we can properly reap zombies */ + #if HAS_SUBREAPER + int bit = 0; +-- +2.34.1 + diff --git a/recipes-containers/tini/tini_0.19.0.bb b/recipes-containers/tini/tini_0.19.0.bb index 62e285df..fd90f620 100644 --- a/recipes-containers/tini/tini_0.19.0.bb +++ b/recipes-containers/tini/tini_0.19.0.bb @@ -6,8 +6,9 @@ it to exit all the while reaping zombies and performing signal forwarding. " SRCREV = "b9f42a0e7bb46efea0c9e3d8610c96ab53b467f8" SRC_URI = " \ - git://github.com/krallin/tini.git \ + git://github.com/krallin/tini.git;branch=master;protocol=https \ file://0001-Do-not-strip-the-output-binary-allow-yocto-to-do-thi.patch \ + file://0001-tini.c-a-function-declaration-without-a-prototype-is.patch \ " LICENSE = "MIT" @@ -18,7 +19,7 @@ S = "${WORKDIR}/git" BBCLASSEXTEND = "native" # tini links with -static, so no PIE for us -SECURITY_CFLAGS_pn-${PN} = "${SECURITY_NO_PIE_CFLAGS}" +SECURITY_CFLAGS:pn-${PN} = "${SECURITY_NO_PIE_CFLAGS}" inherit cmake @@ -29,4 +30,4 @@ do_install() { # Tini is the currently the provider for docker-init PROVIDES += "docker-init" -RPROVIDES_${PN} = "docker-init" +RPROVIDES:${PN} = "docker-init" diff --git a/recipes-containers/umoci/umoci_git.bb b/recipes-containers/umoci/umoci_git.bb index 5273a70e..2ed0af7d 100644 --- a/recipes-containers/umoci/umoci_git.bb +++ b/recipes-containers/umoci/umoci_git.bb @@ -3,48 +3,83 @@ SUMMARY = "umoci modifies Open Container images" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" -RDEPENDS_${PN} = "skopeo" -RDEPENDS_${PN}_class-native = "" +RDEPENDS:${PN} = "skopeo" +RDEPENDS:${PN}:class-native = "" -SRCREV_umoci = "758044fc26ad65eb900143e90d1e22c2d6e4484d" -SRC_URI = "git://github.com/opencontainers/umoci.git;branch=master;name=umoci;destsuffix=github.com/opencontainers/umoci \ +SRCREV_umoci = "33ec00665c66321f1b1f34ca7e6f370ac35c1233" +SRC_URI = "git://github.com/opencontainers/umoci.git;branch=main;name=umoci;destsuffix=github.com/opencontainers/umoci;protocol=https \ " -PV = "v0.4.7-dev+git${SRCPV}" +PV = "v0.4.7+git" S = "${WORKDIR}/github.com/opencontainers/umoci" GO_IMPORT = "github.com/opencontainers/umoci" inherit goarch inherit go +COMPATIBLE_HOST = "^(?!mips).*" + # This disables seccomp and apparmor, which are on by default in the # go package. EXTRA_OEMAKE="BUILDTAGS=''" + +do_compile:class-native () { + export GOARCH="${BUILD_GOARCH}" + + # Pass the needed cflags/ldflags so that cgo can find the needed headers files and libraries + export CGO_ENABLED="1" + export CFLAGS="${BUILD_CFLAGS}" + export LDFLAGS="${BUILD_LDFLAGS}" + export CGO_CFLAGS="${BUILD_CFLAGS}" + + # as of go 1.15.5, there are some flags the CGO doesn't like. Rather than + # clearing them all, we sed away the ones we don't want. + # export CGO_LDFLAGS="$(echo ${BUILD_LDFLAGS} | sed 's/-Wl,-O1//g' | sed 's/-Wl,--dynamic-linker.*?( \|$\)//g')" + export CC="${BUILD_CC}" + export LD="${BUILD_LD}" + + export GOPATH="${WORKDIR}/git/" + export GO111MODULE=off + + export STATIC_BUILD_FLAGS="-trimpath" + + cd ${S} + + # why static ? patchelf will be run on dynamic binaries and it breaks + # the executable (coredump) + # https://forum.snapcraft.io/t/patchelf-broke-my-binary/4928 + # https://github.com/NixOS/patchelf/issues/146 + oe_runmake umoci.static + + # so the common install can find our binary + cp umoci.static umoci +} + do_compile() { - export GOARCH="${TARGET_GOARCH}" - export GOPATH="${WORKDIR}/git/" + export GOARCH="${TARGET_GOARCH}" + export GOPATH="${WORKDIR}/git/" - # Pass the needed cflags/ldflags so that cgo - # can find the needed headers files and libraries - export CGO_ENABLED="1" - export CFLAGS="" - export LDFLAGS="" - export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" - export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + # Pass the needed cflags/ldflags so that cgo + # can find the needed headers files and libraries + export CGO_ENABLED="1" + export CFLAGS="" + export LDFLAGS="" + export CGO_CFLAGS="${TARGET_CFLAGS}" + export CGO_LDFLAGS="${TARGET_LDFLAGS}" - export GO111MODULE=off + export GO111MODULE=off - cd ${S} + export BUILD_FLAGS="-trimpath" + cd ${S} - oe_runmake umoci + oe_runmake umoci } do_install() { - install -d ${D}/${sbindir} - install ${S}/umoci ${D}/${sbindir} + install -d ${D}/${sbindir} + install ${S}/umoci ${D}/${sbindir} } -INSANE_SKIP_${PN} += "ldflags already-stripped" - -BBCLASSEXTEND = "native" +INSANE_SKIP:${PN} += "ldflags already-stripped" +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-core/bind/bind_virtualization.inc b/recipes-core/bind/bind_virtualization.inc index b8f0b3ff..a6e39049 100644 --- a/recipes-core/bind/bind_virtualization.inc +++ b/recipes-core/bind/bind_virtualization.inc @@ -1,4 +1,4 @@ -# Tell named not to bother listening on the IP address that lxc handles itself. -do_install_append() { - sed -i -e 's,^\( *options *{\)$,\1\n\t// lxc would take care of this address itself\n\tlisten-on { ! 10.0.3.1; any;};\n,' ${D}${sysconfdir}/bind/named.conf.options +# Tell named not to bother listening on the IP address that lxc and libvirtd handles itself. +do_install:append() { + sed -i -e 's,^\( *options *{\)$,\1\n\t// lxc and libvirtd would take care of this address itself\n\tlisten-on { ! 10.0.3.1; ! 192.168.122.1; any;};\n,' ${D}${sysconfdir}/bind/named.conf.options } diff --git a/recipes-core/busybox/busybox-initrd_1.33.0.bb b/recipes-core/busybox/busybox-initrd.bb index 5ce5fa52..513ed135 100644 --- a/recipes-core/busybox/busybox-initrd_1.33.0.bb +++ b/recipes-core/busybox/busybox-initrd.bb @@ -1,4 +1,18 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/busybox-initrd:${COREBASE}/meta/recipes-core/busybox/busybox:${COREBASE}/meta/recipes-core/busybox/files:" +FILESEXTRAPATHS:prepend := "${THISDIR}/busybox-initrd:${COREBASE}/meta/recipes-core/busybox/busybox:${COREBASE}/meta/recipes-core/busybox/files:" + +def get_busybox_pv(d): + import re + corebase = d.getVar('COREBASE') + bb_dir = os.path.join(corebase, 'meta', 'recipes-core', 'busybox') + if os.path.isdir(bb_dir): + re_bb_name = re.compile(r"busybox_([0-9.]*)\.bb") + for bb_file in os.listdir(bb_dir): + result = re_bb_name.match(bb_file) + if result: + return result.group(1) + bb.fatal("Cannot find busybox recipe in %s" % bb_dir) + +PV := "${@get_busybox_pv(d)}" require recipes-core/busybox/busybox_${PV}.bb @@ -18,4 +32,4 @@ SECURITY_STRINGFORMAT = "" SYSROOT_DIRS += "/bin" BUSYBOX_SPLIT_SUID = "0" -FILES_${PN} += "${sysconfdir}/init.d/*" +FILES:${PN} += "${sysconfdir}/init.d/*" diff --git a/recipes-core/busybox/busybox_virtualization.inc b/recipes-core/busybox/busybox_virtualization.inc index 15f19308..652f389d 100644 --- a/recipes-core/busybox/busybox_virtualization.inc +++ b/recipes-core/busybox/busybox_virtualization.inc @@ -1,4 +1,4 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/busybox:" +FILESEXTRAPATHS:prepend := "${THISDIR}/busybox:" SRC_URI += " \ file://lspci.cfg \ diff --git a/recipes-core/busybox/busybox_vmsep.inc b/recipes-core/busybox/busybox_vmsep.inc index d4b1e6cc..566cd6d5 100644 --- a/recipes-core/busybox/busybox_vmsep.inc +++ b/recipes-core/busybox/busybox_vmsep.inc @@ -1,4 +1,4 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/busybox:" +FILESEXTRAPATHS:prepend := "${THISDIR}/busybox:" SRC_URI += " \ file://static.cfg \ " diff --git a/recipes-core/initscripts/initscripts_virtualization.inc b/recipes-core/initscripts/initscripts_virtualization.inc index 0600ab2a..db9c5535 100644 --- a/recipes-core/initscripts/initscripts_virtualization.inc +++ b/recipes-core/initscripts/initscripts_virtualization.inc @@ -1,4 +1,4 @@ -do_install_append() { +do_install:append() { echo >> ${D}${sysconfdir}/init.d/functions echo success \(\) \{ >> ${D}${sysconfdir}/init.d/functions diff --git a/recipes-core/kata-containers/kata-agent_git.bb b/recipes-core/kata-containers/kata-agent_git.bb index 3632ee52..de28235c 100644 --- a/recipes-core/kata-containers/kata-agent_git.bb +++ b/recipes-core/kata-containers/kata-agent_git.bb @@ -5,10 +5,12 @@ LIC_FILES_CHKSUM = "file://src/github.com/kata-containers/agent/LICENSE;md5=86d3 GO_IMPORT = "github.com/kata-containers/agent" SRCREV = "e03f7d7453fabffb17e1540f28666c26178d3cbf" -SRC_URI = "git://${GO_IMPORT}.git \ +SRC_URI = "git://${GO_IMPORT}.git;branch=master;protocol=https \ " -RDEPENDS_${PN}-dev_append = "bash" +RDEPENDS:${PN}-dev:append = "bash" + +SKIP_RECIPE[kata-agent] ?= "kata containers are currently broken, patches accepted" S = "${WORKDIR}/git" @@ -36,4 +38,4 @@ do_install() { deltask compile_ptest_base -FILES_${PN} += "${systemd_unitdir}/*"
\ No newline at end of file +FILES:${PN} += "${systemd_unitdir}/*" diff --git a/recipes-core/kata-containers/kata-proxy_git.bb b/recipes-core/kata-containers/kata-proxy_git.bb index 8de0bfcf..d835e4d2 100644 --- a/recipes-core/kata-containers/kata-proxy_git.bb +++ b/recipes-core/kata-containers/kata-proxy_git.bb @@ -5,10 +5,13 @@ LIC_FILES_CHKSUM = "file://src/github.com/kata-containers/proxy/LICENSE;md5=86d3 GO_IMPORT = "github.com/kata-containers/proxy" SRCREV = "1148847739f9a9f47b92e34e4f309dc109d4dba9" -SRC_URI = "git://${GO_IMPORT}.git \ +SRC_URI = "git://${GO_IMPORT}.git;branch=master;protocol=https \ " -RDEPENDS_${PN}-dev_append = "bash" + +SKIP_RECIPE[kata-proxy] ?= "kata containers are currently broken, patches accepted" + +RDEPENDS:${PN}-dev:append = "bash" S = "${WORKDIR}/git" diff --git a/recipes-core/kata-containers/kata-runtime/0001-makefile-allow-SKIP_GO_VERSION_CHECK-to-be-overriden.patch b/recipes-core/kata-containers/kata-runtime/0001-makefile-allow-SKIP_GO_VERSION_CHECK-to-be-overriden.patch index b92abeb3..dde63478 100644 --- a/recipes-core/kata-containers/kata-runtime/0001-makefile-allow-SKIP_GO_VERSION_CHECK-to-be-overriden.patch +++ b/recipes-core/kata-containers/kata-runtime/0001-makefile-allow-SKIP_GO_VERSION_CHECK-to-be-overriden.patch @@ -3,6 +3,8 @@ From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Wed, 7 Oct 2020 23:29:52 -0400 Subject: [PATCH] makefile: allow SKIP_GO_VERSION_CHECK to be overriden +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- Makefile | 2 +- diff --git a/recipes-core/kata-containers/kata-runtime_git.bb b/recipes-core/kata-containers/kata-runtime_git.bb index 403d552e..c0d7c4cb 100644 --- a/recipes-core/kata-containers/kata-runtime_git.bb +++ b/recipes-core/kata-containers/kata-runtime_git.bb @@ -5,20 +5,22 @@ LIC_FILES_CHKSUM = "file://src/github.com/kata-containers/runtime/LICENSE;md5=86 GO_IMPORT = "github.com/kata-containers/runtime" SRCREV = "04c77eb20e9bd603cab5c711bcbe7c69db58b040" -SRC_URI = "git://${GO_IMPORT}.git \ +SRC_URI = "git://${GO_IMPORT}.git;branch=master;protocol=https \ file://0001-makefile-allow-SKIP_GO_VERSION_CHECK-to-be-overriden.patch \ " -RDEPENDS_${PN}-dev_append = "bash" +RDEPENDS:${PN}-dev:append = "bash" CONTAINER_KERNEL ?= "" CONTAINER_INITRD ?= "" -RDEPENDS_${PN} = " \ +RDEPENDS:${PN} = " \ qemu \ ${CONTAINER_KERNEL} \ ${CONTAINER_INITRD} \ " DEPENDS += "yq-native" +SKIP_RECIPE[kata-runtime] ?= "kata containers are currently broken, patches accepted" + S = "${WORKDIR}/git" inherit go @@ -55,6 +57,6 @@ do_install() { # fork/exec /usr/libexec/kata-containers/kata-proxy: no such file or directory } -FILES_${PN} += "${datadir}/defaults/kata-containers/*" +FILES:${PN} += "${datadir}/defaults/kata-containers/*" deltask compile_ptest_base diff --git a/recipes-core/kata-containers/kata-shim_git.bb b/recipes-core/kata-containers/kata-shim_git.bb index fb55a8e7..8a7cb78a 100644 --- a/recipes-core/kata-containers/kata-shim_git.bb +++ b/recipes-core/kata-containers/kata-shim_git.bb @@ -5,10 +5,12 @@ LIC_FILES_CHKSUM = "file://src/github.com/kata-containers/shim/LICENSE;md5=86d3f GO_IMPORT = "github.com/kata-containers/shim" SRCREV = "bcc35aeca3ef6fa0976005c9e93525906aefed2f" -SRC_URI = "git://${GO_IMPORT}.git \ +SRC_URI = "git://${GO_IMPORT}.git;branch=master;protocol=https \ " -RDEPENDS_${PN}-dev_append = "bash" +SKIP_RECIPE[kata-shim] ?= "kata containers are currently broken, patches accepted" + +RDEPENDS:${PN}-dev:append = "bash" S = "${WORKDIR}/git" diff --git a/recipes-core/libxcrypt/libxcrypt_%.bbappend b/recipes-core/libxcrypt/libxcrypt_%.bbappend index 0b4fbb3d..55e453d9 100644 --- a/recipes-core/libxcrypt/libxcrypt_%.bbappend +++ b/recipes-core/libxcrypt/libxcrypt_%.bbappend @@ -1,4 +1,4 @@ # if vmsep is in distro features, we need a static libxycryp, so we can build # a static busybox. The end result of this is: -# EXTRA_OECONF_remove = "--disable-static" -EXTRA_OECONF_remove = "${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', '--disable-static', '', d)}" +# EXTRA_OECONF:remove = "--disable-static" +EXTRA_OECONF:remove = "${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', '--disable-static', '', d)}" diff --git a/recipes-core/packagegroups/packagegroup-container.bb b/recipes-core/packagegroups/packagegroup-container.bb index d425ac58..4b1ad009 100644 --- a/recipes-core/packagegroups/packagegroup-container.bb +++ b/recipes-core/packagegroups/packagegroup-container.bb @@ -4,43 +4,46 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda inherit packagegroup +COMPATIBLE_HOST = "^(?!(mips|riscv)).*" + PACKAGES = "\ packagegroup-container \ packagegroup-lxc \ packagegroup-docker \ packagegroup-oci \ - packagegroup-podman \ + ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp ipv6', \ + 'packagegroup-podman', '', d)} \ packagegroup-containerd \ " # everything and the kitchen sink, used for building/installing # many things at once. -RDEPENDS_${PN} = " \ +RDEPENDS:${PN} = " \ packagegroup-lxc \ packagegroup-docker \ packagegroup-oci \ " -RDEPENDS_packagegroup-lxc = " \ +RDEPENDS:packagegroup-lxc = " \ lxc \ " -RDEPENDS_packagegroup-docker = " \ +RDEPENDS:packagegroup-docker = " \ docker \ " -RDEPENDS_packagegroup-podman = " \ +RDEPENDS:packagegroup-podman = " \ podman \ " -RDEPENDS_packagegroup-oci = " \ - virtual/runc \ +RDEPENDS:packagegroup-oci = " \ + virtual-runc \ oci-systemd-hook \ oci-runtime-tools \ oci-image-tools \ " -RDEPENDS_packagegroup-containerd = " \ - virtual/containerd \ +RDEPENDS:packagegroup-containerd = " \ + virtual-containerd \ " diff --git a/recipes-core/packagegroups/packagegroup-kubernetes.bb b/recipes-core/packagegroups/packagegroup-kubernetes.bb index 237e72e8..d518fc15 100644 --- a/recipes-core/packagegroups/packagegroup-kubernetes.bb +++ b/recipes-core/packagegroups/packagegroup-kubernetes.bb @@ -4,6 +4,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda inherit packagegroup +COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux" + # k3s has this restriction inherit features_check REQUIRED_DISTRO_FEATURES ?= "seccomp" @@ -18,26 +20,29 @@ PACKAGES = "\ KUBERNETES_CRI ?= "containerd" -RDEPENDS_packagegroup-kubernetes-base = " \ +RDEPENDS:packagegroup-kubernetes-base = " \ packagegroup-${KUBERNETES_CRI} \ packagegroup-oci \ " -RDEPENDS_packagegroup-k8s-host = " \ +RDEPENDS:packagegroup-k8s-host = " \ packagegroup-kubernetes-base \ + kubernetes \ " -RDEPENDS_packagegroup-k8s-node = " \ +RDEPENDS:packagegroup-k8s-node = " \ packagegroup-kubernetes-base \ + kubeadm \ + kubernetes-misc \ " -RDEPENDS_packagegroup-k3s-host = " \ +RDEPENDS:packagegroup-k3s-host = " \ packagegroup-kubernetes-base \ k3s-server \ k3s-cni \ " -RDEPENDS_packagegroup-k3s-node = " \ +RDEPENDS:packagegroup-k3s-node = " \ packagegroup-kubernetes-base \ k3s-agent \ k3s-cni \ diff --git a/recipes-core/runv/runv_git.bb b/recipes-core/runv/runv_git.bb index ef94f096..73cd81a6 100644 --- a/recipes-core/runv/runv_git.bb +++ b/recipes-core/runv/runv_git.bb @@ -4,7 +4,7 @@ DESCRIPTION = "Hypervisor-based Runtime for OCI" SRCREV_runv = "b360a686abc6c6e896382990ef1b93ef07c7a677" SRC_URI = "\ - git://github.com/hyperhq/runv.git;nobranch=1;name=runv \ + git://github.com/hyperhq/runv.git;nobranch=1;name=runv;protocol=https \ " LICENSE = "Apache-2.0" @@ -19,10 +19,16 @@ inherit goarch inherit pkgconfig inherit autotools-brokensep +# accord with qemu +COMPATIBLE_HOST:mipsarchn32 = "null" +COMPATIBLE_HOST:mipsarchn64 = "null" +COMPATIBLE_HOST:riscv32 = "null" +COMPATIBLE_HOST:powerpc = "null" + PACKAGECONFIG[xen] = "--with-xen,--without-xen," AUTOTOOLS_SCRIPT_PATH = "${S}/src/import/" -RDEPENDS_${PN} += " qemu hyperstart" +RDEPENDS:${PN} += " qemu hyperstart" do_compile() { export GOARCH="${TARGET_GOARCH}" @@ -76,6 +82,6 @@ do_install() { deltask compile_ptest_base -FILES_${PN} += "/usr/local/bin/*" +FILES:${PN} += "/usr/local/bin/*" -INSANE_SKIP_${PN} += "ldflags already-stripped" +INSANE_SKIP:${PN} += "ldflags already-stripped" diff --git a/recipes-core/runx/runx/0001-make-initrd-allow-externally-provided-busybox.patch b/recipes-core/runx/runx/0001-make-initrd-allow-externally-provided-busybox.patch index 3c7e97c2..3eaa4bf4 100644 --- a/recipes-core/runx/runx/0001-make-initrd-allow-externally-provided-busybox.patch +++ b/recipes-core/runx/runx/0001-make-initrd-allow-externally-provided-busybox.patch @@ -3,6 +3,8 @@ From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Fri, 26 Mar 2021 10:55:49 -0400 Subject: [PATCH] make-initrd: allow externally provided busybox +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- initrd/make-initrd | 24 ++++++++++++++++++++---- diff --git a/recipes-core/runx/runx/0001-make-kernel-bump-to-v5.4.104-for-gcc10-fixes.patch b/recipes-core/runx/runx/0001-make-kernel-bump-to-v5.4.104-for-gcc10-fixes.patch index 98c9bcfd..c6f4443e 100644 --- a/recipes-core/runx/runx/0001-make-kernel-bump-to-v5.4.104-for-gcc10-fixes.patch +++ b/recipes-core/runx/runx/0001-make-kernel-bump-to-v5.4.104-for-gcc10-fixes.patch @@ -3,6 +3,8 @@ From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Fri, 26 Mar 2021 10:15:24 -0400 Subject: [PATCH] make-kernel: bump to v5.4.104 for gcc10+ fixes +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- kernel/make-kernel | 2 +- diff --git a/recipes-core/runx/runx/0001-make-kernel-cross-compilation-tweaks.patch b/recipes-core/runx/runx/0001-make-kernel-cross-compilation-tweaks.patch index 2821b61b..798f616a 100644 --- a/recipes-core/runx/runx/0001-make-kernel-cross-compilation-tweaks.patch +++ b/recipes-core/runx/runx/0001-make-kernel-cross-compilation-tweaks.patch @@ -3,6 +3,8 @@ From: Bruce Ashfield <bruce.ashfield@xilinx.com> Date: Mon, 16 Dec 2019 20:42:04 -0800 Subject: [PATCH] make-kernel: cross-compilation tweaks +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com> --- kernel/make-kernel | 41 +++++++++++++++++++++++++++++++++-------- diff --git a/recipes-core/runx/runx_git.bb b/recipes-core/runx/runx_git.bb index 89783a0e..831360ba 100644 --- a/recipes-core/runx/runx_git.bb +++ b/recipes-core/runx/runx_git.bb @@ -8,7 +8,7 @@ KERNEL_SRC_VER="linux-5.4" KERNEL_URL_VER="v5.x" SRC_URI = "\ - git://github.com/lf-edge/runx;nobranch=1;name=runx \ + git://github.com/lf-edge/runx;nobranch=1;name=runx;protocol=https \ https://www.kernel.org/pub/linux/kernel/${KERNEL_URL_VER}/${KERNEL_SRC_VER}.tar.xz;destsuffix=git/kernel/build \ file://0001-make-kernel-cross-compilation-tweaks.patch \ file://0001-make-kernel-bump-to-v5.4.104-for-gcc10-fixes.patch \ @@ -41,9 +41,9 @@ DEPENDS += "openssl-native coreutils-native util-linux-native xz-native bc-nativ DEPENDS += "elfutils-native" DEPENDS += "qemu-native bison-native" -RDEPENDS_${PN} += " jq bash" -RDEPENDS_${PN} += " xen-tools-xl go-build socat daemonize" -RDEPENDS_${PN} += " qemu-system-i386 ca-certificates qemu qemu-keymaps" +RDEPENDS:${PN} += " jq bash" +RDEPENDS:${PN} += " xen-tools-xl go-build socat daemonize" +RDEPENDS:${PN} += " qemu-system-i386 ca-certificates qemu qemu-keymaps" RUNX_USE_INTERNAL_BUSYBOX ?= "" @@ -120,7 +120,7 @@ do_install() { deltask compile_ptest_base -FILES_${PN} += "${bindir}/* ${datadir}/runX/*" +FILES:${PN} += "${bindir}/* ${datadir}/runX/*" INHIBIT_PACKAGE_STRIP = "1" -INSANE_SKIP_${PN} += "ldflags already-stripped" +INSANE_SKIP:${PN} += "ldflags already-stripped" diff --git a/recipes-core/sysvinit/sysvinit-inittab_virtualization.inc b/recipes-core/sysvinit/sysvinit-inittab_virtualization.inc index 9e796efd..bf52da0e 100644 --- a/recipes-core/sysvinit/sysvinit-inittab_virtualization.inc +++ b/recipes-core/sysvinit/sysvinit-inittab_virtualization.inc @@ -1,9 +1,9 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI += "file://getty-wrapper" -do_install_append() { +do_install:append() { install -d ${D}${base_sbindir} install -m 0755 ${WORKDIR}/getty-wrapper ${D}${base_sbindir}/getty-wrapper } -FILES_${PN} += "${base_sbindir}/getty-wrapper" +FILES:${PN} += "${base_sbindir}/getty-wrapper" diff --git a/recipes-core/sysvinit/sysvinit-inittab_xen.inc b/recipes-core/sysvinit/sysvinit-inittab_xen.inc index de0af20b..724f47dc 100644 --- a/recipes-core/sysvinit/sysvinit-inittab_xen.inc +++ b/recipes-core/sysvinit/sysvinit-inittab_xen.inc @@ -1,4 +1,10 @@ -do_install_append() { - echo "" >> ${D}${sysconfdir}/inittab - echo "X0:12345:respawn:${base_sbindir}/getty-wrapper 115200 hvc0" >> ${D}${sysconfdir}/inittab + + +do_install:append() { + # if SERIAL_CONSOLES contains hvc0, it is already added in inittab so do + # not add it twice + if echo "${SERIAL_CONSOLES}" | grep -vq "hvc0"; then + echo "" >> ${D}${sysconfdir}/inittab + echo "X0:12345:respawn:${base_sbindir}/getty-wrapper 115200 hvc0" >> ${D}${sysconfdir}/inittab + fi } diff --git a/recipes-demo/helloworld-flask/helloworld-flask/flask-app b/recipes-demo/helloworld-flask/helloworld-flask/flask-app new file mode 100755 index 00000000..15ecde93 --- /dev/null +++ b/recipes-demo/helloworld-flask/helloworld-flask/flask-app @@ -0,0 +1,21 @@ +#!/usr/bin/python3 + +# Example flask application for containerization +# +# Copyright (C) 2021 Bruce Ashfield <bruce.ashfield@gmail.com> +# License: MIT (see COPYING.MIT at the root of the repository for terms) + +from flask import Flask + +app = Flask(__name__) + +@app.route('/yocto/', methods=['GET', 'POST']) +def welcome(): + return "Hello from Yocto!" + +@app.route('/oe/', methods=['GET', 'POST']) +def welcometooe(): + return "Hello from OpenEmbedded!" + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=9000) diff --git a/recipes-demo/helloworld-flask/helloworld-flask/flask-app-service.yaml b/recipes-demo/helloworld-flask/helloworld-flask/flask-app-service.yaml new file mode 100644 index 00000000..f2c8bbe2 --- /dev/null +++ b/recipes-demo/helloworld-flask/helloworld-flask/flask-app-service.yaml @@ -0,0 +1,32 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: @NAME@ +spec: + selector: + matchLabels: + app: @APPNAME@ + replicas: 1 + template: + metadata: + labels: + app: @APPNAME@ + spec: + containers: + - name: @CONTAINERNAME@ + image: @CONTAINERIMAGE@ + ports: + - containerPort: @CONTAINERPORT@ +--- +apiVersion: v1 +kind: Service +metadata: + name: yocto-flask-service +spec: + ports: + - port: @EXTERNALPORT@ + targetPort: @CONTAINERPORT@ + name: http + selector: + app: @APPNAME@ + diff --git a/recipes-demo/helloworld-flask/helloworld-flask/flask-app.yaml b/recipes-demo/helloworld-flask/helloworld-flask/flask-app.yaml new file mode 100644 index 00000000..85c0362e --- /dev/null +++ b/recipes-demo/helloworld-flask/helloworld-flask/flask-app.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Pod +metadata: + name: @NAME@ +spec: + containers: + - name: @CONTAINERNAME@ + image: @CONTAINERIMAGE@ + ports: + - containerPort: @CONTAINERPORT@ + + diff --git a/recipes-demo/helloworld-flask/helloworld-flask_0.1.bb b/recipes-demo/helloworld-flask/helloworld-flask_0.1.bb new file mode 100644 index 00000000..896e45fd --- /dev/null +++ b/recipes-demo/helloworld-flask/helloworld-flask_0.1.bb @@ -0,0 +1,44 @@ +DESCRIPTION = "Demo flask application" +HOMEPAGE = "https://yoctoproject.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://flask-app \ + file://flask-app.yaml \ + file://flask-app-service.yaml" + +DEPLOY_TYPE ?= "pod" + +NAME ?= "demo" +APPNAME ?= "yocto-app" +CONTAINERNAME ?= "yocto-container" +CONTAINERIMAGE ?= "zeddii/app-container:latest" +CONTAINERPORT ?= "9000" +EXTERNALPORT ?= "10000" + +do_install() { + + for tgt in flask-app.yaml flask-app-service.yaml; do + sed -i 's%\@NAME\@%${NAME}%g' ${WORKDIR}/$tgt + sed -i 's%\@APPNAME\@%${APPNAME}%g' ${WORKDIR}/$tgt + sed -i 's%\@CONTAINERNAME\@%${CONTAINERNAME}%g' ${WORKDIR}/$tgt + sed -i 's%\@CONTAINERIMAGE\@%${CONTAINERIMAGE}%g' ${WORKDIR}/$tgt + sed -i 's%\@CONTAINERPORT\@%${CONTAINERPORT}%g' ${WORKDIR}/$tgt + sed -i 's%\@EXTERNALPORT\@%${EXTERNALPORT}%g' ${WORKDIR}/$tgt + done + + install -d ${D}${bindir}/ + install -m 755 ${WORKDIR}/flask-app ${D}${bindir}/ + + install -d ${D}${sysconfdir}/deploy + install -m 644 ${WORKDIR}/flask-app.yaml ${D}${sysconfdir}/ + install -m 644 ${WORKDIR}/flask-app-service.yaml ${D}${sysconfdir}/ +} + +RDEPENDS:${PN} += "python3-core python3-flask" + +PACKAGES:prepend = "${PN}-deploy " +FILES:${PN}-deploy = "${sysconfdir}/*" + +# this rdepends should be conditional on a debug PACKAGECONFIG +# RDEPENDS:${PN} += "busybox" diff --git a/recipes-demo/images/app-container-curl.bb b/recipes-demo/images/app-container-curl.bb new file mode 100644 index 00000000..51451300 --- /dev/null +++ b/recipes-demo/images/app-container-curl.bb @@ -0,0 +1,46 @@ +SUMMARY = "Curl Application container image" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +IMAGE_FSTYPES = "container oci" +inherit image +inherit image-oci + +IMAGE_FEATURES = "" +IMAGE_LINGUAS = "" +NO_RECOMMENDATIONS = "1" + +IMAGE_INSTALL = " \ + base-files \ + base-passwd \ + netbase \ + ${CONTAINER_SHELL} \ +" + +# If the following is configured in local.conf (or the distro): +# PACKAGE_EXTRA_ARCHS:append = " container-dummy-provides" +# +# it has been explicitly # indicated that we don't want or need a shell, so we'll +# add the dummy provides. +# +# This is required, since there are postinstall scripts in base-files and base-passwd +# that reference /bin/sh and we'll get a rootfs error if there's no shell or no dummy +# provider. +CONTAINER_SHELL ?= "${@bb.utils.contains('PACKAGE_EXTRA_ARCHS', 'container-dummy-provides', 'container-dummy-provides', 'busybox', d)}" + +# Allow build with or without a specific kernel +IMAGE_CONTAINER_NO_DUMMY = "1" + +# Workaround /var/volatile for now +ROOTFS_POSTPROCESS_COMMAND += "rootfs_fixup_var_volatile ; " +rootfs_fixup_var_volatile () { + install -m 1777 -d ${IMAGE_ROOTFS}/${localstatedir}/volatile/tmp + install -m 755 -d ${IMAGE_ROOTFS}/${localstatedir}/volatile/log +} + +OCI_IMAGE_ENTRYPOINT = "curl" +OCI_IMAGE_TAG = "easy" +OCI_IMAGE_ENTRYPOINT_ARGS = "http://localhost:80" +CONTAINER_SHELL = "busybox" + +IMAGE_INSTALL:append = "curl" diff --git a/recipes-demo/images/app-container.bb b/recipes-demo/images/app-container.bb new file mode 100644 index 00000000..22d2ab9f --- /dev/null +++ b/recipes-demo/images/app-container.bb @@ -0,0 +1,46 @@ +SUMMARY = "Basic Application container image" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +#include container-base.bb + +OCI_IMAGE_ENTRYPOINT = "/usr/bin/flask-app" +CONTAINER_SHELL = "busybox" + +IMAGE_INSTALL:append = "helloworld-flask" + +IMAGE_FSTYPES = "container oci" +inherit image +inherit image-oci + +IMAGE_FEATURES = "" +IMAGE_LINGUAS = "" +NO_RECOMMENDATIONS = "1" + +IMAGE_INSTALL = " \ + base-files \ + base-passwd \ + netbase \ + ${CONTAINER_SHELL} \ +" + +# If the following is configured in local.conf (or the distro): +# PACKAGE_EXTRA_ARCHS:append = " container-dummy-provides" +# +# it has been explicitly # indicated that we don't want or need a shell, so we'll +# add the dummy provides. +# +# This is required, since there are postinstall scripts in base-files and base-passwd +# that reference /bin/sh and we'll get a rootfs error if there's no shell or no dummy +# provider. +CONTAINER_SHELL ?= "${@bb.utils.contains('PACKAGE_EXTRA_ARCHS', 'container-dummy-provides', 'container-dummy-provides', 'busybox', d)}" + +# Allow build with or without a specific kernel +IMAGE_CONTAINER_NO_DUMMY = "1" + +# Workaround /var/volatile for now +ROOTFS_POSTPROCESS_COMMAND += "rootfs_fixup_var_volatile ; " +rootfs_fixup_var_volatile () { + install -m 1777 -d ${IMAGE_ROOTFS}/${localstatedir}/volatile/tmp + install -m 755 -d ${IMAGE_ROOTFS}/${localstatedir}/volatile/log +} diff --git a/recipes-devtools/go/compose-file_git.bb b/recipes-devtools/go/compose-file_git.bb index bcf8c3d2..7fedc407 100644 --- a/recipes-devtools/go/compose-file_git.bb +++ b/recipes-devtools/go/compose-file_git.bb @@ -7,10 +7,10 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=9cd86830b557232ce55e2a6b4 SRCNAME = "compose-file" PKG_NAME = "github.com/aanand/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME};branch=master;protocol=https" SRCREV = "a3e58764f50597b6217fec07e9bff7225c4a1719" -PV = "3.0+git${SRCPV}" +PV = "3.0+git" S = "${WORKDIR}/git" @@ -36,6 +36,6 @@ go_compose_file_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" -CLEANBROKEN = "1"
\ No newline at end of file +CLEANBROKEN = "1" diff --git a/recipes-devtools/go/go-build/0001-build-use-instead-of-go.patch b/recipes-devtools/go/go-build/0001-build-use-instead-of-go.patch index 873d7ab4..eb634f3d 100644 --- a/recipes-devtools/go/go-build/0001-build-use-instead-of-go.patch +++ b/recipes-devtools/go/go-build/0001-build-use-instead-of-go.patch @@ -1,11 +1,13 @@ From 4db28c98481056c41097f808335c37e8517fe485 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield <bruce.ashfield@gmail.com> Date: Fri, 7 Aug 2020 23:39:18 -0400 -Subject: [PATCH] build: use instead of 'go' +Subject: [PATCH] build: use ${GO} instead of 'go' While we can get away with 'go' if the host/target arch match, the new go-binary toolchain blows up in a cross compile situation. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- gobuild/Makefile | 4 ++-- @@ -24,7 +26,7 @@ Index: git/src/import/gobuild/Makefile ${BIN}: ${GODEPPATHS} $(filter %/$@.go, ${MAIN}) - GOPATH=${GOPATH} ${ARCH} go build $(filter %/$@.go, ${MAIN}) -+ GOPATH=${GOPATH} ${ARCH} ${GO} build $(filter %/$@.go, ${MAIN}) ++ GOPATH=${GOPATH} ${ARCH} ${GO} build -trimpath $(filter %/$@.go, ${MAIN}) clean: rm -f ${BIN} diff --git a/recipes-devtools/go/go-build_git.bb b/recipes-devtools/go/go-build_git.bb index 64a1c95b..75ea40a8 100644 --- a/recipes-devtools/go/go-build_git.bb +++ b/recipes-devtools/go/go-build_git.bb @@ -3,9 +3,12 @@ SUMMARY = "console for runx" DESCRIPTION = "Xen Runtime for OCI" SRCREV_runx = "f24efd33fb18469e9cfe4d1bfe8e2c90ec8c4e93" +SRCREV_runc = "1e7bb5b773162b57333d57f612fd72e3f8612d94" +SRCREV_FORMAT = "runx_runc" SRC_URI = "\ - git://github.com/lf-edge/runx;nobranch=1;name=runx \ + git://github.com/lf-edge/runx;nobranch=1;name=runx;protocol=https \ + git://github.com/opencontainers/runc;branch=release-1.1;name=runc;protocol=https;destsuffix=git/src/import/gobuild/go/src/github.com/opencontainers/runc \ file://0001-build-use-instead-of-go.patch \ " SRC_URI[md5sum] = "0d701ac1e2a67d47ce7127432df2c32b" @@ -26,7 +29,7 @@ inherit pkgconfig GO_IMPORT = "import" inherit go -RDEPENDS_${PN}-dev = "bash" +RDEPENDS:${PN}-dev = "bash" do_compile() { @@ -55,4 +58,4 @@ do_install() { install -m 755 ${B}/src/import/gobuild/serial_fd_handler ${D}${datadir}/runX/ } -FILES_${PN} += "${datadir}/runX/*" +FILES:${PN} += "${datadir}/runX/*" diff --git a/recipes-devtools/go/go-capability_git.bb b/recipes-devtools/go/go-capability_git.bb index 8524af62..c2562474 100644 --- a/recipes-devtools/go/go-capability_git.bb +++ b/recipes-devtools/go/go-capability_git.bb @@ -7,10 +7,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a7304f5073e7be4ba7bffabbf9f2bbca" SRCNAME = "gocapability" PKG_NAME = "github.com/syndtr/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=master;protocol=https" SRCREV = "2c00daeb6c3b45114c80ac44119e7b8801fdd852" -PV = "0.0+git${SRCPV}" +PV = "0.0+git" + +inherit meta-virt-depreciated-warning S = "${WORKDIR}/git" @@ -26,4 +28,4 @@ go_capability_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-cli_git.bb b/recipes-devtools/go/go-cli_git.bb index 434594c9..8a4992bd 100644 --- a/recipes-devtools/go/go-cli_git.bb +++ b/recipes-devtools/go/go-cli_git.bb @@ -7,13 +7,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ed9b539ed65d73926f30ff1f1587dc44" SRCNAME = "cli" PKG_NAME = "github.com/codegangsta/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=master;protocol=https" SRCREV = "27ecc97192df1bf053a22b04463f2b51b8b8373e" -PV = "1.1.0+git${SRCPV}" +PV = "1.1.0+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -26,4 +28,4 @@ go_cli_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-connections_git.bb b/recipes-devtools/go/go-connections_git.bb index 5d071b0a..33bb83bf 100644 --- a/recipes-devtools/go/go-connections_git.bb +++ b/recipes-devtools/go/go-connections_git.bb @@ -7,13 +7,15 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=04424bc6f5a5be60691b9824d SRCNAME = "go-connections" PKG_NAME = "github.com/docker/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME};branch=master;protocol=https" SRCREV = "4ccf312bf1d35e5dbda654e57a9be4c3f3cd0366" -PV = "0.2.1+git${SRCPV}" +PV = "0.2.1+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + # NO-OP the do compile rule because this recipe is source only. do_compile() { } @@ -36,4 +38,4 @@ go_connections_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-context_git.bb b/recipes-devtools/go/go-context_git.bb index 15f6a8dd..02f57875 100644 --- a/recipes-devtools/go/go-context_git.bb +++ b/recipes-devtools/go/go-context_git.bb @@ -2,17 +2,23 @@ DESCRIPTION = "A golang registry for global request variables." HOMEPAGE = "https://github.com/gorilla/context" SECTION = "devel/go" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c50f6bd9c1e15ed0bad3bea18e3c1b7f" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c30eee78985cf2584cded5f89ba3d787" SRCNAME = "context" PKG_NAME = "github.com/gorilla/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=main;protocol=https" -SRCREV = "14f550f51af52180c2eefed15e5fd18d63c0a64a" +SRCREV = "1cbd4c16de64273a6e63fc710b0d89bfad72cd32" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + +do_compile() { + true +} + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -25,4 +31,6 @@ go_context_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" + +CLEANBROKEN = "1" diff --git a/recipes-devtools/go/go-dbus_git.bb b/recipes-devtools/go/go-dbus_git.bb index 23908619..bc8691c4 100644 --- a/recipes-devtools/go/go-dbus_git.bb +++ b/recipes-devtools/go/go-dbus_git.bb @@ -7,13 +7,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=09042bd5c6c96a2b9e45ddf1bc517eed" SRCNAME = "dbus" PKG_NAME = "github.com/godbus/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=master;protocol=https" SRCREV = "5f6efc7ef2759c81b7ba876593971bfce311eab3" -PV = "4.0.0+git${SRCPV}" +PV = "4.0.0+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -26,4 +28,4 @@ go_dbus_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-distribution_git.bb b/recipes-devtools/go/go-distribution_git.bb index 9e3f2093..598df964 100644 --- a/recipes-devtools/go/go-distribution_git.bb +++ b/recipes-devtools/go/go-distribution_git.bb @@ -7,13 +7,15 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=d2794c0df5b907fdace235a61 SRCNAME = "distribution" PKG_NAME = "github.com/docker/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;branch=docker/1.13;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME}.git;branch=docker/1.13;destsuffix=git/src/${PKG_NAME};protocol=https" SRCREV = "28602af35aceda2f8d571bad7ca37a54cf0250bc" -PV = "2.6.0+git${SRCPV}" +PV = "2.6.0+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + # NO-OP the do compile rule because this recipe is source only. do_compile() { } @@ -36,4 +38,4 @@ go_distribution_digeset_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-fsnotify_git.bb b/recipes-devtools/go/go-fsnotify_git.bb index 0826aa7f..b934ae9a 100644 --- a/recipes-devtools/go/go-fsnotify_git.bb +++ b/recipes-devtools/go/go-fsnotify_git.bb @@ -2,18 +2,20 @@ DESCRIPTION = "A golang registry for global request variables." HOMEPAGE = "https://github.com/go-fsnotify/fsnotify" SECTION = "devel/go" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c38914c9a7ab03bb2b96d4baaee10769" +LIC_FILES_CHKSUM = "file://LICENSE;md5=68f2948d3c4943313d07e084a362486c" SRCNAME = "fsnotify" PKG_NAME = "github.com/fsnotify/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=main;protocol=https" -SRCREV = "836bfd95fecc0f1511dd66bdbf2b5b61ab8b00b6" -PV = "1.2.11+git${SRCPV}" +SRCREV = "af855d7e6014ec848882bb2ed7d40d536872d275" +PV = "v1.5.1+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -26,4 +28,4 @@ go_fsnotify_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-libtrust_git.bb b/recipes-devtools/go/go-libtrust_git.bb index 55659464..17199856 100644 --- a/recipes-devtools/go/go-libtrust_git.bb +++ b/recipes-devtools/go/go-libtrust_git.bb @@ -7,13 +7,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=435b266b3899aa8a959f17d41c56def8" SRCNAME = "libtrust" PKG_NAME = "github.com/docker/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=master;protocol=https" SRCREV = "9cbd2a1374f46905c68a4eb3694a130610adc62a" -PV = "0.0+git${SRCPV}" +PV = "0.0+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -26,4 +28,4 @@ go_libtrust_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-logrus_git.bb b/recipes-devtools/go/go-logrus_git.bb index aa89033e..1826b893 100644 --- a/recipes-devtools/go/go-logrus_git.bb +++ b/recipes-devtools/go/go-logrus_git.bb @@ -6,14 +6,16 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8dadfef729c08ec4e631c4f6fc5d43a0" SRCNAME = "logrus" -PKG_NAME = "github.com/Sirupsen/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +PKG_NAME = "github.com/sirupsen/${SRCNAME}" +SRC_URI = "git://${PKG_NAME};branch=master;protocol=https" SRCREV = "d26492970760ca5d33129d2d799e34be5c4782eb" -PV = "0.11.0+git${SRCPV}" +PV = "0.11.0+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -26,4 +28,4 @@ go_logrus_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-md2man_git.bb b/recipes-devtools/go/go-md2man_git.bb index a1fcbe9b..1d96bb1b 100644 --- a/recipes-devtools/go/go-md2man_git.bb +++ b/recipes-devtools/go/go-md2man_git.bb @@ -9,15 +9,15 @@ BBCLASSEXTEND = "native" GO_IMPORT = "github.com/cpuguy83/go-md2man" #GO_INSTALL = "${GO_IMPORT}/bin/go-md2man" -SRC_URI = "git://${GO_IMPORT}.git" +SRC_URI = "git://${GO_IMPORT}.git;branch=master;protocol=https" SRCREV = "f79a8a8ca69da163eee19ab442bedad7a35bba5a" -PV = "1.0.10+git${SRCPV}" +PV = "1.0.10+git" S = "${WORKDIR}/git" inherit go -do_compile_prepend() { +do_compile:prepend() { export GO111MODULE=off } diff --git a/recipes-devtools/go/go-metalinter_git.bb b/recipes-devtools/go/go-metalinter_git.bb index 668b431a..def3d063 100644 --- a/recipes-devtools/go/go-metalinter_git.bb +++ b/recipes-devtools/go/go-metalinter_git.bb @@ -9,10 +9,10 @@ BBCLASSEXTEND = "native" SRCNAME = "gometalinter" PKG_NAME = "github.com/alecthomas/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=master;protocol=https" SRCREV = "e8d801238da6f0dfd14078d68f9b53fa50a7eeb5" -PV = "0.0+git${SRCPV}" +PV = "0.0+git" S = "${WORKDIR}/git" @@ -21,4 +21,4 @@ do_install() { cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-mux_git.bb b/recipes-devtools/go/go-mux_git.bb index 7a2025a0..0958617a 100644 --- a/recipes-devtools/go/go-mux_git.bb +++ b/recipes-devtools/go/go-mux_git.bb @@ -2,17 +2,22 @@ DESCRIPTION = "A powerful URL router and dispatcher for golang." HOMEPAGE = "https://github.com/gorilla/mux" SECTION = "devel/go" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c50f6bd9c1e15ed0bad3bea18e3c1b7f" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c30eee78985cf2584cded5f89ba3d787" SRCNAME = "mux" PKG_NAME = "github.com/gorilla/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=main;protocol=https" -SRCREV = "136d54f81f00414c45c3c68dd47e98cc97519c5e" +SRCREV = "85123bf20e069b156415b871dea10517f6a8938a" + +inherit meta-virt-depreciated-warning S = "${WORKDIR}/git" +do_configure[noexec] = "1" +do_compile[noexec] = "1" + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -25,4 +30,4 @@ go_mux_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-patricia_git.bb b/recipes-devtools/go/go-patricia_git.bb index 8c1e10d9..c05da591 100644 --- a/recipes-devtools/go/go-patricia_git.bb +++ b/recipes-devtools/go/go-patricia_git.bb @@ -7,13 +7,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=9949b99212edd6b1e24ce702376c3baf" SRCNAME = "go-patricia" PKG_NAME = "github.com/tchap/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=master;protocol=https" SRCREV = "666120de432aea38ab06bd5c818f04f4129882c9" -PV = "2.2.6+git${SRCPV}" +PV = "2.2.6+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -26,4 +28,4 @@ go_patricia_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-pty_git.bb b/recipes-devtools/go/go-pty_git.bb index 02cef69e..d6aa95f6 100644 --- a/recipes-devtools/go/go-pty_git.bb +++ b/recipes-devtools/go/go-pty_git.bb @@ -7,12 +7,14 @@ LIC_FILES_CHKSUM = "file://License;md5=93958070863d769117fa33b129020050" SRCNAME = "pty" PKG_NAME = "github.com/creack/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=master;protocol=https" SRCREV = "05017fcccf23c823bfdea560dcc958a136e54fb7" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -25,4 +27,4 @@ go_pty_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/go-systemd_git.bb b/recipes-devtools/go/go-systemd_git.bb index 0f89c0f8..e7e97b9e 100644 --- a/recipes-devtools/go/go-systemd_git.bb +++ b/recipes-devtools/go/go-systemd_git.bb @@ -7,15 +7,17 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5" SRCNAME = "systemd" PKG_NAME = "github.com/coreos/go-${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git" +SRC_URI = "git://${PKG_NAME}.git;branch=main;protocol=https" SRCREV = "b4a58d95188dd092ae20072bac14cece0e67c388" -PV = "4+git${SRCPV}" +PV = "4+git" -RDEPENDS_${PN} += "bash" +RDEPENDS:${PN} += "bash" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + do_install() { install -d ${D}${prefix}/local/go/src/${PKG_NAME} cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/ @@ -28,4 +30,4 @@ go_systemd_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/go/grpc-go_git.bb b/recipes-devtools/go/grpc-go_git.bb index 48c42499..7989c02f 100644 --- a/recipes-devtools/go/grpc-go_git.bb +++ b/recipes-devtools/go/grpc-go_git.bb @@ -1,16 +1,16 @@ DESCRIPTION = "The Go language implementation of gRPC. HTTP/2 based RPC" HOMEPAGE = "https://github.com/grpc/grpc-go" SECTION = "devel/go" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=a4bad33881612090c6035d8393175996" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SRCNAME = "grpc-go" PKG_NAME = "google.golang.org/grpc" -SRC_URI = "git://github.com/grpc/${SRCNAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://github.com/grpc/${SRCNAME}.git;destsuffix=git/src/${PKG_NAME};branch=v1.59.x;protocol=https" -SRCREV = "777daa17ff9b5daef1cfdf915088a2ada3332bf0" -PV = "1.4.0+git${SRCPV}" +SRCREV = "7765221f4bf6104973db7946d56936cf838cad46" +PV = "1.59.0+git" S = "${WORKDIR}/git" @@ -36,6 +36,10 @@ go_grpc_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += " \ +FILES:${PN} += " \ ${prefix}/local/go/src/${PKG_NAME}/* \ " + +# some CVEs are reported with "cpe:2.3:a:grpc:grpc:*:*:*:*:*:go:*:*" +# it's better to have false positives than false negatives +CVE_PRODUCT += "grpc" diff --git a/recipes-devtools/go/notary_git.bb b/recipes-devtools/go/notary_git.bb index 9cfb46ea..ace7174d 100644 --- a/recipes-devtools/go/notary_git.bb +++ b/recipes-devtools/go/notary_git.bb @@ -7,13 +7,15 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=3596b980bb036e0875174ed15 SRCNAME = "notary" PKG_NAME = "github.com/docker/${SRCNAME}" -SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}" +SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME};branch=master;protocol=https" SRCREV = "d6e1431feb32348e0650bf7551ac5cffd01d857b" -PV = "0.6.1+git${SRCPV}" +PV = "0.6.1+git" S = "${WORKDIR}/git" +inherit meta-virt-depreciated-warning + # NO-OP the do compile rule because this recipe is source only. do_compile() { } @@ -36,4 +38,4 @@ go_notary_sysroot_preprocess () { cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME}) } -FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" +FILES:${PN} += "${prefix}/local/go/src/${PKG_NAME}/*" diff --git a/recipes-devtools/python/python3-boto3_1.17.51.bb b/recipes-devtools/python/python3-boto3_1.17.51.bb index 980b6cd2..9c94a34d 100644 --- a/recipes-devtools/python/python3-boto3_1.17.51.bb +++ b/recipes-devtools/python/python3-boto3_1.17.51.bb @@ -13,4 +13,4 @@ SRC_URI[sha256sum] = "c45e7d3aef8965ae1b42c9855c31ded19fbb38cfad0a34cc37dc880ded inherit pypi setuptools3 -RDEPENDS_${PN} += "python3-botocore python3-urllib3 python3-unixadmin" +RDEPENDS:${PN} += "python3-botocore python3-urllib3 python3-unixadmin" diff --git a/recipes-devtools/python/python3-botocore/0001-Fix-rejecting-URLs-with-unsafe-characters-in-is_vali.patch b/recipes-devtools/python/python3-botocore/0001-Fix-rejecting-URLs-with-unsafe-characters-in-is_vali.patch new file mode 100644 index 00000000..95b30a08 --- /dev/null +++ b/recipes-devtools/python/python3-botocore/0001-Fix-rejecting-URLs-with-unsafe-characters-in-is_vali.patch @@ -0,0 +1,61 @@ +From 370cdf7d708c92bf21a42f15392f7be330cf8f80 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Fri, 7 May 2021 19:54:16 +0200 +Subject: [PATCH] Fix rejecting URLs with unsafe characters in + is_valid_endpoint_url() (#2381) + +Detect unsafe characters in is_valid_endpoint_url() +and is_valid_ipv6_endpoint_url() early, in order to fix rejecting +invalid URLs with Python 3.9.5+ and other versions carrying bpo-43882 +fix. In these versions, urlsplit() silently strips LF, CR and HT +characters while splitting the URL, effectively disarming the validator +in botocore. + +The solution is based on a similar fix in Django. + +Fixes #2377 + +Upstream-Status: Backport + +--- + botocore/utils.py | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/botocore/utils.py b/botocore/utils.py +index 378972248..d35dd64bb 100644 +--- a/botocore/utils.py ++++ b/botocore/utils.py +@@ -173,6 +173,10 @@ ZONE_ID_PAT = "(?:%25|%)(?:[" + UNRESERVED_PAT + "]|%[a-fA-F0-9]{2})+" + IPV6_ADDRZ_PAT = r"\[" + IPV6_PAT + r"(?:" + ZONE_ID_PAT + r")?\]" + IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT + "$") + ++# These are the characters that are stripped by post-bpo-43882 urlparse(). ++UNSAFE_URL_CHARS = frozenset('\t\r\n') ++ ++ + def ensure_boolean(val): + """Ensures a boolean value if a string or boolean is provided + +@@ -977,6 +981,8 @@ class ArgumentGenerator(object): + + + def is_valid_ipv6_endpoint_url(endpoint_url): ++ if UNSAFE_URL_CHARS.intersection(endpoint_url): ++ return False + netloc = urlparse(endpoint_url).netloc + return IPV6_ADDRZ_RE.match(netloc) is not None + +@@ -990,6 +996,10 @@ def is_valid_endpoint_url(endpoint_url): + :return: True if the endpoint url is valid. False otherwise. + + """ ++ # post-bpo-43882 urlsplit() strips unsafe characters from URL, causing ++ # it to pass hostname validation below. Detect them early to fix that. ++ if UNSAFE_URL_CHARS.intersection(endpoint_url): ++ return False + parts = urlsplit(endpoint_url) + hostname = parts.hostname + if hostname is None: +-- +2.25.1 + diff --git a/recipes-devtools/python/python3-botocore_1.20.51.bb b/recipes-devtools/python/python3-botocore_1.20.51.bb index 93e4eab1..f71db1fc 100644 --- a/recipes-devtools/python/python3-botocore_1.20.51.bb +++ b/recipes-devtools/python/python3-botocore_1.20.51.bb @@ -7,4 +7,6 @@ SRC_URI[sha256sum] = "c853d6c2321e2f2328282c7d49d7b1a06201826ba0e7049c6975ab5f22 inherit pypi setuptools3 -RDEPENDS_${PN} += "python3-jmespath python3-dateutil python3-logging" +RDEPENDS:${PN} += "python3-jmespath python3-dateutil python3-logging" + +SRC_URI += "file://0001-Fix-rejecting-URLs-with-unsafe-characters-in-is_vali.patch" diff --git a/recipes-devtools/python/python3-bugsnag_4.0.2.bb b/recipes-devtools/python/python3-bugsnag_4.1.0.bb index 96550bb1..595cc8c7 100644 --- a/recipes-devtools/python/python3-bugsnag_4.0.2.bb +++ b/recipes-devtools/python/python3-bugsnag_4.1.0.bb @@ -10,7 +10,7 @@ SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" -SRC_URI[sha256sum] = "7a49dacf055a8c6dda4ce714acd91fabe9546f1ad826276918a26603a8b5489a" +SRC_URI[sha256sum] = "dcbd59cd9edea26cc92efb6518aed83a2f356f81bfd5acc730bfe202fb27c1c1" inherit pypi setuptools3 diff --git a/recipes-devtools/python/python3-cached-property_1.5.2.bb b/recipes-devtools/python/python3-cached-property_1.5.2.bb index d7905f8d..1f99115b 100644 --- a/recipes-devtools/python/python3-cached-property_1.5.2.bb +++ b/recipes-devtools/python/python3-cached-property_1.5.2.bb @@ -1,5 +1,7 @@ SUMMARY = "A decorator for caching properties in classes." -HOMEPAGE = "https://github.com/pydanny/cached-property" +DESCRIPTION = "Makes caching of time or computational expensive properties quick and easy." +HOMEPAGE = "https://pypi.org/project/cached-property/" +SECTION = "devel/python" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=db7ff60c4e14f58534201242803d8abc" diff --git a/recipes-devtools/python/python3-colorama_0.4.4.bb b/recipes-devtools/python/python3-colorama_0.4.4.bb deleted file mode 100644 index 94468eee..00000000 --- a/recipes-devtools/python/python3-colorama_0.4.4.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "Cross-platform colored terminal text." -HOMEPAGE = "https://github.com/tartley/colorama" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "57b22f2597f63df051b69906fbf310cc" -SRC_URI[sha256sum] = "5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b" diff --git a/recipes-devtools/python/python3-colorama_0.4.6.bb b/recipes-devtools/python/python3-colorama_0.4.6.bb new file mode 100644 index 00000000..0f364c42 --- /dev/null +++ b/recipes-devtools/python/python3-colorama_0.4.6.bb @@ -0,0 +1,14 @@ +SUMMARY = "Cross-platform colored terminal text." +HOMEPAGE = "https://github.com/tartley/colorama" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" + +DEPENDS += " \ + python3-hatchling-native \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-devtools/python/python3-docker_5.0.0.bb b/recipes-devtools/python/python3-docker_5.0.0.bb deleted file mode 100644 index 6b6e844b..00000000 --- a/recipes-devtools/python/python3-docker_5.0.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A Python library for the Docker Engine API." -HOMEPAGE = "https://github.com/docker/docker-py" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34f3846f940453127309b920eeb89660" - -SRC_URI[md5sum] = "9cc5156a2ff6458a8f52114b9bbc0d7e" -SRC_URI[sha256sum] = "3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5" - -DEPENDS += "${PYTHON_PN}-pip-native" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-docker-pycreds \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-websocket-client \ -" - -inherit pypi setuptools3 diff --git a/recipes-devtools/python/python3-docker_7.0.0.bb b/recipes-devtools/python/python3-docker_7.0.0.bb new file mode 100644 index 00000000..39567c04 --- /dev/null +++ b/recipes-devtools/python/python3-docker_7.0.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "A Python library for the Docker Engine API." +HOMEPAGE = "https://github.com/docker/docker-py" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=34f3846f940453127309b920eeb89660" + +SRC_URI[md5sum] = "b08eeccf6a5efd11c316c08207edfeef" +SRC_URI[sha256sum] = "323736fb92cd9418fc5e7133bc953e11a9da04f4483f828b527db553f1e7e5a3" + +DEPENDS += "python3-pip-native" +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} += " \ + python3-misc \ + python3-six \ + python3-docker-pycreds \ + python3-requests \ + python3-websocket-client \ + python3-packaging \ +" +inherit pypi python_setuptools_build_meta diff --git a/recipes-devtools/python/python3-dockerpty_0.4.1.bb b/recipes-devtools/python/python3-dockerpty_0.4.1.bb index cde2d128..e4aa0321 100644 --- a/recipes-devtools/python/python3-dockerpty_0.4.1.bb +++ b/recipes-devtools/python/python3-dockerpty_0.4.1.bb @@ -8,9 +8,9 @@ inherit pypi setuptools3 SRC_URI[md5sum] = "028bacb34536f3ee6a2ccd668c27e8e4" SRC_URI[sha256sum] = "69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce" -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-fcntl \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-terminal \ +RDEPENDS:${PN} += "\ + python3-fcntl \ + python3-io \ + python3-six \ + python3-terminal \ " diff --git a/recipes-devtools/python/python3-fastentrypoints_0.12.bb b/recipes-devtools/python/python3-fastentrypoints_0.12.bb index 53bed187..390a5080 100644 --- a/recipes-devtools/python/python3-fastentrypoints_0.12.bb +++ b/recipes-devtools/python/python3-fastentrypoints_0.12.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://README.rst;md5=f212a0cb34eb678477972d2011fb365a" inherit pypi setuptools3 -RDEPENDS_${PN} += "${PYTHON_PN}-setuptools ${PYTHON_PN}-pickle" +RDEPENDS:${PN} += "python3-setuptools python3-pickle" SRC_URI[md5sum] = "390ad9a9229164a06156a5b1f0ef1b22" SRC_URI[sha256sum] = "ff284f1469bd65400599807d2c6284d5b251398e6e28811f5f77fd262292410b" diff --git a/recipes-devtools/python/python3-flask-cors_3.0.10.bb b/recipes-devtools/python/python3-flask-cors-virt_3.0.10.bb index 2b2e2ce6..2b2e2ce6 100644 --- a/recipes-devtools/python/python3-flask-cors_3.0.10.bb +++ b/recipes-devtools/python/python3-flask-cors-virt_3.0.10.bb diff --git a/recipes-devtools/python/python3-nacl_1.3.0.bb b/recipes-devtools/python/python3-nacl_1.3.0.bb deleted file mode 100644 index d0a99aef..00000000 --- a/recipes-devtools/python/python3-nacl_1.3.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Python binding to the Networking and Cryptography (NaCl) library" -HOMEPAGE = "https://github.com/pyca/pynacl" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8cc789b082b3d97e1ccc5261f8594d3f" - -PYPI_PACKAGE = "PyNaCl" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "3f3b1272287bc2de8efd8a5fa18bf728" -SRC_URI[sha256sum] = "0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c" - -DEPENDS += "\ - libsodium \ - python3-cffi-native \ - python3-pip-native \ -" - -RDEPENDS_${PN}_class-target += " \ - python3-cffi \ - python3-pycparser \ -" - -export SODIUM_INSTALL = "system" - -BBCLASSEXTEND = "native" diff --git a/recipes-devtools/python/python3-newrelic/0001-setup.py-tweak-setuptools_scm-version-dependency.patch b/recipes-devtools/python/python3-newrelic/0001-setup.py-tweak-setuptools_scm-version-dependency.patch index 7ec705bc..75fb6558 100644 --- a/recipes-devtools/python/python3-newrelic/0001-setup.py-tweak-setuptools_scm-version-dependency.patch +++ b/recipes-devtools/python/python3-newrelic/0001-setup.py-tweak-setuptools_scm-version-dependency.patch @@ -9,6 +9,8 @@ not trivial or something we want to do. So we tweak the version to accept what we have in oe-core. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- setup.py | 2 +- diff --git a/recipes-devtools/python/python3-newrelic_6.2.0.156.bb b/recipes-devtools/python/python3-newrelic_6.2.0.156.bb index d3bbd9e4..62371f60 100644 --- a/recipes-devtools/python/python3-newrelic_6.2.0.156.bb +++ b/recipes-devtools/python/python3-newrelic_6.2.0.156.bb @@ -16,7 +16,7 @@ DEPENDS += "python3-setuptools-scm-native" SRC_URI += "file://0001-setup.py-tweak-setuptools_scm-version-dependency.patch" -FILES_${PN}-dbg += "\ +FILES:${PN}-dbg += "\ ${PYTHON_SITEPACKAGES_DIR}/newrelic-${PV}/newrelic/*/.debug \ ${PYTHON_SITEPACKAGES_DIR}/newrelic-${PV}/newrelic/packages/*/.debug/ \ " diff --git a/recipes-devtools/python/python3-sphinx_3.5.4.bb b/recipes-devtools/python/python3-sphinx-420.bb index 3f541c7a..67ecf416 100644 --- a/recipes-devtools/python/python3-sphinx_3.5.4.bb +++ b/recipes-devtools/python/python3-sphinx-420.bb @@ -1,11 +1,15 @@ DESCRIPTION = "Python documentation generator" HOMEPAGE = "http://sphinx-doc.org/" SECTION = "devel/python" -LICENSE = "BSD" +LICENSE = "BSD-2-Clause & BSD-3-Clause & MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=82cc7d23060a75a07b820eaaf75abecf" PYPI_PACKAGE = "Sphinx" -SRC_URI[sha256sum] = "19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1" +PV = "4.2.0" + +RCONFLICTS:${PN} = "python3-sphinx" + +SRC_URI[sha256sum] = "94078db9184491e15bce0a56d9186e0aec95f16ac20b12d00e06d4e36f1058a6" inherit setuptools3 pypi diff --git a/recipes-devtools/python/python3-udica_git.bb b/recipes-devtools/python/python3-udica_git.bb new file mode 100644 index 00000000..1d239cba --- /dev/null +++ b/recipes-devtools/python/python3-udica_git.bb @@ -0,0 +1,22 @@ +SUMMARY = "A tool for generating SELinux security policies for containers" +HOMEPAGE = "https://github.com/containers/udica" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI = "git://github.com/containers/udica;protocol=https;branch=main" + +SRCREV = "4a64ff7c1b8116a1894e72eee2a19706e970001f" +PV = "0.2.7+git" + +S = "${WORKDIR}/git" + +SRC_URI[md5sum] = "9cc5156a2ff6458a8f52114b9bbc0d7e" +SRC_URI[sha256sum] = "3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5" + +SKIP_RECIPE[python3-udica] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'selinux', '', 'Depends on libselinux from meta-selinux which is not included', d)}" + +RDEPENDS:${PN} += " \ + selinux-python \ + " + +inherit setuptools3 diff --git a/recipes-devtools/python/python3-webob_1.8.7.bb b/recipes-devtools/python/python3-webob_1.8.7.bb index a51f8ddf..d23ddfd2 100644 --- a/recipes-devtools/python/python3-webob_1.8.7.bb +++ b/recipes-devtools/python/python3-webob_1.8.7.bb @@ -10,7 +10,7 @@ SRC_URI[sha256sum] = "b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dce inherit setuptools3 pypi -RDEPENDS_${PN} += " \ +RDEPENDS:${PN} += " \ python3-sphinx \ " diff --git a/recipes-devtools/python/python3_3.%.bbappend b/recipes-devtools/python/python3_3.%.bbappend deleted file mode 100644 index 617caccb..00000000 --- a/recipes-devtools/python/python3_3.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)} diff --git a/recipes-devtools/python/python3_virtualization.inc b/recipes-devtools/python/python3_virtualization.inc deleted file mode 100644 index 55301c7e..00000000 --- a/recipes-devtools/python/python3_virtualization.inc +++ /dev/null @@ -1,8 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -DEPENDS += " ncurses" - -do_compile_prepend() { - export LIBRARY_PATH=${STAGING_DIR_TARGET}/lib -} - diff --git a/recipes-devtools/qemu/qemu-package-split.inc b/recipes-devtools/qemu/qemu-package-split.inc index 2dec440b..7671d84e 100644 --- a/recipes-devtools/qemu/qemu-package-split.inc +++ b/recipes-devtools/qemu/qemu-package-split.inc @@ -1,4 +1,10 @@ -PACKAGES_prepend_class-target = "${PN}-x86_64 \ +# we have our own package splitting for qemu, inhbit the oe-core +# split by overriding the split function +python split_qemu_packages () { + print( "meta-virtualization: vmsplit: inhibiting core qemu package split" ) +} + +PACKAGES:prepend:class-target = "${PN}-x86_64 \ ${PN}-aarch64 \ ${PN}-arm \ ${PN}-i386 \ @@ -9,38 +15,57 @@ PACKAGES_prepend_class-target = "${PN}-x86_64 \ ${PN}-firmware \ " -FILES_${PN}-x86_64_class-target = "${bindir}/qemu-system-x86_64 ${bindir}/qemu-x86_64" -RDEPENDS_${PN}-x86_64_append_class_target = "${PN}" -INSANE_SKIP_${PN}-x86_64_class-target = "file-rdeps" +FILES:${PN}-x86_64:class-target = "${bindir}/qemu-system-x86_64 ${bindir}/qemu-x86_64" +RDEPENDS:${PN}-x86_64:append:class-target = " ${PN}" +RPROVIDES:${PN}-x86_64:append:class-target = " ${PN}-system-x86_64" +RPROVIDES:${PN}-x86_64:append:class-target = " ${PN}-user-x86_64" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-x86_64" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-x86_64" +INSANE_SKIP:${PN}-x86_64:class-target = "file-rdeps" -FILES_${PN}-i386_class-target = "${bindir}/qemu-i386" -RDEPENDS_${PN}-i386_append_class-target = "${PN}" -INSANE_SKIP_${PN}-i386_class-target = "file-rdeps" +FILES:${PN}-i386:class-target = "${bindir}/qemu-i386" +RDEPENDS:${PN}-i386:append:class-target = " ${PN}" +RPROVIDES:${PN}-i386:append:class-target = " ${PN}-user-i386" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-i386" +INSANE_SKIP:${PN}-i386:class-target = "file-rdeps" -FILES_${PN}-system-i386_class-target = "${bindir}/qemu-system-i386" -RDEPENDS_${PN}-system-i386_append_class-target = "${PN}" -INSANE_SKIP_${PN}-system-i386_class-target = "file-rdeps" +FILES:${PN}-system-i386:class-target = "${bindir}/qemu-system-i386" +RDEPENDS:${PN}-system-i386:append:class-target = " ${PN}" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-system-i386" +INSANE_SKIP:${PN}-system-i386:class-target = "file-rdeps" -FILES_${PN}-aarch64_class-target = "${bindir}/qemu-system-aarch64 ${bindir}/qemu-aarch64" -RDEPENDS_${PN}-aarch64_append_class-target = "${PN}" -INSANE_SKIP_${PN}-aarch64_class-target = "file-rdeps" +FILES:${PN}-aarch64:class-target = "${bindir}/qemu-system-aarch64 ${bindir}/qemu-aarch64" +RDEPENDS:${PN}-aarch64:append:class-target = " ${PN}" +RPROVIDES:${PN}-aarch64:append:class-target = " ${PN}-system-aarch64" +RPROVIDES:${PN}-aarch64:append:class-target = " ${PN}-user-aarch64" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-aarch64" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-aarch64" +INSANE_SKIP:${PN}-aarch64:class-target = "file-rdeps" -FILES_${PN}-arm_class-target = "${bindir}/qemu-system-arm ${bindir}/qemu-arm" -RDEPENDS_${PN}-arm_append_class-target = "${PN}" -INSANE_SKIP_${PN}-arm_class-target = "file-rdeps" +FILES:${PN}-arm:class-target = "${bindir}/qemu-system-arm ${bindir}/qemu-arm" +RDEPENDS:${PN}-arm:append:class-target = " ${PN}" +RPROVIDES:${PN}-arm:append:class-target = " ${PN}-system-arm" +RPROVIDES:${PN}-arm:append:class-target = " ${PN}-user-arm" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-arm" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-arm" +INSANE_SKIP:${PN}-arm:class-target = "file-rdeps" -FILES_${PN}-microblaze_class-target = "${bindir}/qemu-system-microblaze* ${bindir}/qemu-microblaze*" -RDEPENDS_${PN}-microblaze_append_class-target = "${PN}" -INSANE_SKIP_${PN}-arm_class-target = "file-rdeps" +FILES:${PN}-microblaze:class-target = "${bindir}/qemu-system-microblaze* ${bindir}/qemu-microblaze*" +RDEPENDS:${PN}-microblaze:append:class-target = " ${PN}" +RPROVIDES:${PN}-microblaze:append:class-target = " ${PN}-system-microblaze" +RPROVIDES:${PN}-microblaze:append:class-target = " ${PN}-user-microblaze" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-microblaze" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-microblaze" +INSANE_SKIP:${PN}-arm:class-target = "file-rdeps" -FILES_${PN}-support_class-target = "${bindir}/* ${libexecdir}/*" -RDEPENDS_${PN}-support_class-target = "${PN} bash" +FILES:${PN}-support:class-target = "${bindir}/* ${libexecdir}/*" +RDEPENDS:${PN}-support:class-target = "${PN} bash" -FILES_${PN}-firmware_class-target = "${datadir}/${PN}/*.bin ${datadir}/${PN}/*.rom ${datadir}/${PN}/*.img ${datadir}/${PN}/openbios* ${datadir}/${PN}/*.dtb ${datadir}/${PN}/u-boot*" -RDEPENDS_${PN}-firmware_class-target = "${PN}" -INSANE_SKIP_${PN}-firmware_class-target = "arch" +FILES:${PN}-firmware:class-target = "${datadir}/${PN}/*.bin ${datadir}/${PN}/*.rom ${datadir}/${PN}/*.img ${datadir}/${PN}/openbios* ${datadir}/${PN}/*.dtb ${datadir}/${PN}/u-boot*" +RDEPENDS:${PN}-firmware:class-target = "${PN}" +INSANE_SKIP:${PN}-firmware:class-target = "arch" -FILES_${PN}-keymaps_class-target = "${datadir}/${PN}/keymaps/*" -RDEPENDS_${PN}-keymaps_class-target = "${PN}" +FILES:${PN}-keymaps:class-target = "${datadir}/${PN}/keymaps/*" +RDEPENDS:${PN}-keymaps:class-target = "${PN}" -PACKAGECONFIG_append = " virtfs" +PACKAGECONFIG:append = " virtfs" diff --git a/recipes-devtools/yq/files/run-ptest b/recipes-devtools/yq/files/run-ptest new file mode 100755 index 00000000..3a6876b3 --- /dev/null +++ b/recipes-devtools/yq/files/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh + +cd tests +for i in `ls *.sh`; do + if [ ./$i ] ; then + echo "PASS: $i" + else + echo "FAIL: $i" + fi +done diff --git a/recipes-devtools/yq/yq_git.bb b/recipes-devtools/yq/yq_git.bb index a89c8338..45f2f970 100644 --- a/recipes-devtools/yq/yq_git.bb +++ b/recipes-devtools/yq/yq_git.bb @@ -2,35 +2,55 @@ SUMMARY = "a lightweight and portable command-line YAML processor " HOMEPAGE = "https://github.com/mikefarah/yq" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=090d381b4b3eb93194e8cbff4aaae2de" +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=e40a0dcd62f8269b9bff37fe9aa7dcc2" -SRCREV_yq = "e0f5cb3c5958e57c7f250a7030e92c768c1b2b19" +SRCREV_yq = "dd6cf3df146f3e2c0f8c765a6ef9e35780ad8cc1" SRCREV_color = "daf2830f2741ebb735b21709a520c5f37d642d85" -SRCREV_lexer = "81f720df2c51e9f1e1d387b17a0af386ed2b257d" -SRCREV_debug = "fa7b53cdfc9105c70f134574002f406232921437" -SRCREV_errors = "614d223910a179a466c1767a985424175c39b465" -SRCREV_cobra = "b97b5ead31f7d34f764ac8666e40c214bb8e06dc" -SRCREV_pflag = "6971c29c4a22981adeaee7f4b437c0cffe08c031" +SRCREV_lexer = "6cdefc42e112ac71cbe316e1eed264ea62f58e25" +SRCREV_cobra = "b43be995ebb4bee335a787bd44498b91aef7619c" +SRCREV_pflag = "2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab" SRCREV_logging = "b2cb9fa56473e98db8caba80237377e83fe44db5" -SRCREV_yaml = "eeeca48fe7764f320e4870d231902bf9c1be2c08" - -SRC_URI = "git://${GO_IMPORT};name=yq \ - git://github.com/fatih/color;name=color;destsuffix=build/vendor/src/github.com/fatih/color \ - git://github.com/goccy/go-yaml;name=lexer;destsuffix=build/vendor/src/github.com/goccy/go-yaml/ \ - git://github.com/kylelemons/godebug;name=debug;destsuffix=build/vendor/src/github.com/kylelemons/godebug/ \ - git://github.com/pkg/errors;name=errors;destsuffix=build/vendor/src/github.com/pkg/errors/ \ - git://github.com/spf13/cobra;name=cobra;destsuffix=build/vendor/src/github.com/spf13/cobra \ - git://github.com/spf13/pflag;name=pflag;destsuffix=build/vendor/src/github.com/spf13/pflag \ - git://github.com/op/go-logging.git;name=logging;destsuffix=build/vendor/src/gopkg.in/op/go-logging.v1 \ - git://github.com/go-yaml/yaml.git;name=yaml;branch=v3;destsuffix=build/vendor/src/gopkg.in/yaml.v3 \ +SRCREV_yaml = "f6f7691b1fdeb513f56608cd2c32c51f8194bf51" +SRCREV_xerrors="65e65417b02f28de84b55f16b46a1e789149973a" +SRCREV_envsubst = "16035fe3571ad42c7796bf554f978bb2df64231b" +SRCREV_participle = "49f4822ed012d9818c80ca4fcdeb7e2d55c04806" +SRCREV_utfbom = "6ae8f945ca96f30defc7e8ab12ec5d10cf86ded4" +SRCREV_orderedmap = "1e43e194ff533a346bab5f9b66b738256f199c8a" +SRCREV_go-json = "5efc7d07eeeba186df630d9ab4ac78c761938c27" +SRCREV_copier = "d132b069fe1a77d09e4c260852b389a730bbe9ba" +SRCREV_properties = "c9a06e8f8f0164e4e16c0d5c4793cbed4ac90264" +SRCREV_net = "f3363e06e74cdc304618bf31d898b78590103527" +SRCREV_text = "434eadcdbc3b0256971992e8c70027278364c72c" +SRCREV_diff = "20ebb0f2a09e612109b224b32f79370409108bcc" + +SRCREV_FORMAT = "yq_color" +SRC_URI = "git://${GO_IMPORT};name=yq;branch=master;protocol=https \ + git://github.com/fatih/color;name=color;destsuffix=build/vendor/src/github.com/fatih/color;branch=main;protocol=https \ + git://github.com/goccy/go-yaml;name=lexer;destsuffix=build/vendor/src/github.com/goccy/go-yaml/;branch=master;protocol=https \ + git://github.com/spf13/cobra;name=cobra;nobranch=1;destsuffix=build/vendor/src/github.com/spf13/cobra;branch=main;protocol=https \ + git://github.com/spf13/pflag;name=pflag;destsuffix=build/vendor/src/github.com/spf13/pflag;branch=master;protocol=https \ + git://github.com/op/go-logging.git;name=logging;destsuffix=build/vendor/src/gopkg.in/op/go-logging.v1;branch=master;protocol=https \ + git://github.com/go-yaml/yaml.git;name=yaml;branch=v3;destsuffix=build/vendor/src/gopkg.in/yaml.v3;protocol=https \ + git://github.com/golang/xerrors;name=xerrors;protocol=https;nobranch=1;destsuffix=build/vendor/src/golang.org/x/xerrors \ + git://github.com/a8m/envsubst;name=envsubst;destsuffix=build/vendor/src/github.com/a8m/envsubst;branch=master;protocol=https \ + git://github.com/alecthomas/participle;name=participle;destsuffix=build/vendor/src/github.com/alecthomas/participle;branch=master;protocol=https \ + git://github.com/dimchansky/utfbom;name=utfbom;destsuffix=build/vendor/src/github.com/dimchansky/utfbom;branch=master;protocol=https \ + git://github.com/elliotchance/orderedmap;name=orderedmap;destsuffix=build/vendor/src/github.com/elliotchance/orderedmap;branch=master;protocol=https \ + git://github.com/goccy/go-json;name=go-json;destsuffix=build/vendor/src/github.com/goccy/go-json;branch=master;protocol=https \ + git://github.com/jinzhu/copier;name=copier;destsuffix=build/vendor/src/github.com/jinzhu/copier;branch=master;protocol=https \ + git://github.com/magiconair/properties;name=properties;destsuffix=build/vendor/src/github.com/magiconair/properties;branch=main;protocol=https \ + git://github.com/golang/net;name=net;destsuffix=build/vendor/src/golang.org/x/net;branch=master;protocol=https \ + git://github.com/golang/text;name=text;destsuffix=build/vendor/src/golang.org/x/text;branch=master;protocol=https \ + git://github.com/pkg/diff;name=diff;destsuffix=build/vendor/src/github.com/pkg/diff;branch=main;protocol=https \ + file://run-ptest \ " -PV = "1.13.1+git${SRCREV_yq}" +PV = "4.30.8+git${SRCREV_yq}" GO_IMPORT = "github.com/mikefarah/yq" -inherit go +inherit go ptest -do_compile_prepend() { +do_compile:prepend() { # arrange for some of the golang built ins to be found ( cd ${WORKDIR}/build/src/ @@ -42,12 +62,23 @@ do_compile_prepend() { export GO111MODULE=off } - -do_install_append() { +do_install:append() { # these bring in dependencies for the -dev package on bash, and we don't # need them .. so we remove them to avoid needing that rdepends - rm -rf ${D}/${prefix}/lib/go/src/${GO_IMPORT}/debian/rules - rm -rf ${D}/${prefix}/lib/go/src/${GO_IMPORT}/scripts + rm -rf ${D}/${libdir}/go/src/${GO_IMPORT}/debian/rules + rm -rf ${D}/${libdir}/go/src/${GO_IMPORT}/scripts + rm -rf ${D}/${libdir}/go/src/${GO_IMPORT}/acceptance_tests } +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -r ${S}/src/github.com/mikefarah/yq/scripts/* ${D}${PTEST_PATH}/tests + cp -r ${S}/src/github.com/mikefarah/yq/acceptance_tests/* ${D}${PTEST_PATH}/tests + cp -r ${S}/src/github.com/mikefarah/yq/examples ${D}${PTEST_PATH}/tests +} + +RDEPENDS:${PN}-ptest += " \ + bash \ +" + BBCLASSEXTEND = "native" diff --git a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch b/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch deleted file mode 100644 index ffcbc583..00000000 --- a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 502be73be3c3645094525aa552f5e53d8782a004 Mon Sep 17 00:00:00 2001 -From: Sakib Sajal <sakib.sajal@windriver.com> -Date: Fri, 28 Aug 2020 19:36:19 -0400 -Subject: [PATCH] add missing include for atomic<bool> - -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> ---- - src/tools/rbd/action/Bench.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/tools/rbd/action/Bench.cc b/src/tools/rbd/action/Bench.cc -index aa6edbc1..90c551c1 100644 ---- a/src/tools/rbd/action/Bench.cc -+++ b/src/tools/rbd/action/Bench.cc -@@ -9,6 +9,7 @@ - #include "common/ceph_mutex.h" - #include "include/types.h" - #include "global/signal_handler.h" -+#include <atomic> - #include <iostream> - #include <boost/accumulators/accumulators.hpp> - #include <boost/accumulators/statistics/stats.hpp> --- -2.27.0 - diff --git a/recipes-extended/ceph/ceph/0001-avoid-to_string-error.patch b/recipes-extended/ceph/ceph/0001-avoid-to_string-error.patch new file mode 100644 index 00000000..0b4fc984 --- /dev/null +++ b/recipes-extended/ceph/ceph/0001-avoid-to_string-error.patch @@ -0,0 +1,73 @@ +From f807220d13adc0656c30d3207d11c70360b88d06 Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Wed, 13 Mar 2024 03:14:55 -0700 +Subject: [PATCH] avoid to_string error + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + src/rgw/rgw_asio_client.cc | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +diff --git a/src/rgw/rgw_asio_client.cc b/src/rgw/rgw_asio_client.cc +index a0ec0bf5c..17880eda5 100644 +--- a/src/rgw/rgw_asio_client.cc ++++ b/src/rgw/rgw_asio_client.cc +@@ -3,6 +3,7 @@ + + #include <boost/algorithm/string/predicate.hpp> + #include <boost/asio/write.hpp> ++#include <string_view> + + #include "rgw_asio_client.h" + #include "rgw_perf_counters.h" +@@ -39,11 +40,11 @@ int ClientIO::init_env(CephContext *cct) + const auto& value = header->value(); + + if (field == beast::http::field::content_length) { +- env.set("CONTENT_LENGTH", value.to_string()); ++ env.set("CONTENT_LENGTH", std::string(value)); + continue; + } + if (field == beast::http::field::content_type) { +- env.set("CONTENT_TYPE", value.to_string()); ++ env.set("CONTENT_TYPE", std::string(value)); + continue; + } + +@@ -62,26 +63,26 @@ int ClientIO::init_env(CephContext *cct) + } + *dest = '\0'; + +- env.set(buf, value.to_string()); ++ env.set(buf, std::string(value)); + } + + int major = request.version() / 10; + int minor = request.version() % 10; + env.set("HTTP_VERSION", std::to_string(major) + '.' + std::to_string(minor)); + +- env.set("REQUEST_METHOD", request.method_string().to_string()); ++ env.set("REQUEST_METHOD", std::string(request.method_string())); + + // split uri from query + auto uri = request.target(); + auto pos = uri.find('?'); + if (pos != uri.npos) { + auto query = uri.substr(pos + 1); +- env.set("QUERY_STRING", query.to_string()); ++ env.set("QUERY_STRING", std::string(query)); + uri = uri.substr(0, pos); + } +- env.set("SCRIPT_URI", uri.to_string()); ++ env.set("SCRIPT_URI", std::string(uri)); + +- env.set("REQUEST_URI", request.target().to_string()); ++ env.set("REQUEST_URI", std::string(request.target())); + + char port_buf[16]; + snprintf(port_buf, sizeof(port_buf), "%d", local_endpoint.port()); +-- +2.42.0 + diff --git a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch deleted file mode 100644 index 4d54549f..00000000 --- a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch +++ /dev/null @@ -1,184 +0,0 @@ -From 4712fe18405ffea31405308357a8e7fca358bcce Mon Sep 17 00:00:00 2001 -From: Dengke Du <dengke.du@windriver.com> -Date: Mon, 11 Mar 2019 09:14:09 +0800 -Subject: [PATCH] ceph: fix build errors for cross compile - -1. set the cross compile sysroot to find the rocksdb library -2. correct the install path for library in Distutils.cmake - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Dengke Du <dengke.du@windriver.com> - -Adjust context for v14.2.3 - -Signed-off-by: He Zhe <zhe.he@windriver.com> -Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> ---- - cmake/modules/Distutils.cmake | 25 +++++-------------------- - cmake/modules/FindRocksDB.cmake | 4 ++-- - src/compressor/zstd/CMakeLists.txt | 2 +- - src/pybind/cephfs/setup.py | 8 -------- - src/pybind/rados/setup.py | 8 -------- - src/pybind/rbd/setup.py | 8 -------- - src/pybind/rgw/setup.py | 8 -------- - 7 files changed, 8 insertions(+), 55 deletions(-) - -diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake -index 5fe929499d..802eb37e32 100644 ---- a/cmake/modules/Distutils.cmake -+++ b/cmake/modules/Distutils.cmake -@@ -18,17 +18,8 @@ function(distutils_install_module name) - cmake_parse_arguments(DU "" "INSTALL_SCRIPT" "" ${ARGN}) - install(CODE " - set(options --prefix=${CMAKE_INSTALL_PREFIX}) -- if(DEFINED ENV{DESTDIR}) -- if(EXISTS /etc/debian_version) -- list(APPEND options --install-layout=deb) -- endif() -- list(APPEND options -- --root=\$ENV{DESTDIR} -- --single-version-externally-managed) -- if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\") -- list(APPEND options --install-script=${DU_INSTALL_SCRIPT}) -- endif() -- endif() -+ list(APPEND options --root=${CMAKE_DESTDIR}) -+ list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR}) - execute_process( - COMMAND ${Python3_EXECUTABLE} - setup.py install \${options} -@@ -50,7 +41,7 @@ function(distutils_add_cython_module target name src) - # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache gcc" - # CMake's implicit conversion between strings and lists is wonderful, isn't it? - string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS}) -- list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w) -+ list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w --sysroot=${CMAKE_SYSROOT}) - # This little bit of magic wipes out __Pyx_check_single_interpreter() - # Note: this is reproduced in distutils_install_cython_module - list(APPEND cflags -D'void0=dead_function\(void\)') -@@ -108,14 +99,8 @@ function(distutils_install_cython_module name) - set(ENV{CEPH_LIBDIR} \"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\") - - set(options --prefix=${CMAKE_INSTALL_PREFIX}) -- if(DEFINED ENV{DESTDIR}) -- if(EXISTS /etc/debian_version) -- list(APPEND options --install-layout=deb) -- endif() -- list(APPEND options --root=\$ENV{DESTDIR}) -- else() -- list(APPEND options --root=/) -- endif() -+ list(APPEND options --root=${CMAKE_DESTDIR}) -+ list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR}) - execute_process( - COMMAND - ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py -diff --git a/cmake/modules/FindRocksDB.cmake b/cmake/modules/FindRocksDB.cmake -index c5dd3dfaf6..be38597af2 100644 ---- a/cmake/modules/FindRocksDB.cmake -+++ b/cmake/modules/FindRocksDB.cmake -@@ -9,9 +9,9 @@ - # ROCKSDB_VERSION_MINOR - # ROCKSDB_VERSION_PATCH - --find_path(ROCKSDB_INCLUDE_DIR rocksdb/db.h) -+find_path(ROCKSDB_INCLUDE_DIR rocksdb/db.h ${CMAKE_SYSROOT}) - --find_library(ROCKSDB_LIBRARIES rocksdb) -+find_library(ROCKSDB_LIBRARIES rocksdb ${CMAKE_SYSROOT}) - - if(ROCKSDB_INCLUDE_DIR AND EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h") - foreach(ver "MAJOR" "MINOR" "PATCH") -diff --git a/src/compressor/zstd/CMakeLists.txt b/src/compressor/zstd/CMakeLists.txt -index a5ebdaf538..a234068150 100644 ---- a/src/compressor/zstd/CMakeLists.txt -+++ b/src/compressor/zstd/CMakeLists.txt -@@ -9,7 +9,7 @@ ExternalProject_Add(zstd_ext - CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_C_FLAGS=${ZSTD_C_FLAGS} -- -DCMAKE_AR=${CMAKE_AR} -+ -DCMAKE_SYSROOT=${CMAKE_SYSROOT} - -DCMAKE_POSITION_INDEPENDENT_CODE=${ENABLE_SHARED} - -G${CMAKE_GENERATOR} - BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd -diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py -index 19ae6c329a..c9a25ccfff 100755 ---- a/src/pybind/cephfs/setup.py -+++ b/src/pybind/cephfs/setup.py -@@ -135,14 +135,6 @@ def check_sanity(): - finally: - shutil.rmtree(tmp_dir) - -- --if 'BUILD_DOC' in os.environ.keys(): -- pass --elif check_sanity(): -- pass --else: -- sys.exit(1) -- - cmdclass = {} - try: - from Cython.Build import cythonize -diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py -index e2c5696404..4e99d26721 100755 ---- a/src/pybind/rados/setup.py -+++ b/src/pybind/rados/setup.py -@@ -134,14 +134,6 @@ def check_sanity(): - finally: - shutil.rmtree(tmp_dir) - -- --if 'BUILD_DOC' in os.environ.keys(): -- pass --elif check_sanity(): -- pass --else: -- sys.exit(1) -- - cmdclass = {} - try: - from Cython.Build import cythonize -diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py -index 634484f140..f5bbbdab4f 100755 ---- a/src/pybind/rbd/setup.py -+++ b/src/pybind/rbd/setup.py -@@ -133,14 +133,6 @@ def check_sanity(): - finally: - shutil.rmtree(tmp_dir) - -- --if 'BUILD_DOC' in os.environ.keys(): -- pass --elif check_sanity(): -- pass --else: -- sys.exit(1) -- - cmdclass = {} - try: - from Cython.Build import cythonize -diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py -index eb1591a460..b9f2428cf9 100755 ---- a/src/pybind/rgw/setup.py -+++ b/src/pybind/rgw/setup.py -@@ -134,14 +134,6 @@ def check_sanity(): - finally: - shutil.rmtree(tmp_dir) - -- --if 'BUILD_DOC' in os.environ.keys(): -- pass --elif check_sanity(): -- pass --else: -- sys.exit(1) -- - cmdclass = {} - try: - from Cython.Build import cythonize --- -2.20.1 - diff --git a/recipes-extended/ceph/ceph/0001-cephadm-build.py-avoid-using-python3-from-sysroot-wh.patch b/recipes-extended/ceph/ceph/0001-cephadm-build.py-avoid-using-python3-from-sysroot-wh.patch new file mode 100644 index 00000000..a353a2f7 --- /dev/null +++ b/recipes-extended/ceph/ceph/0001-cephadm-build.py-avoid-using-python3-from-sysroot-wh.patch @@ -0,0 +1,43 @@ +From b9867e6b744b77d97d22333eca3ab3d23d47e2e2 Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Thu, 14 Mar 2024 00:19:19 -0700 +Subject: [PATCH] cephadm/build.py: avoid using python3 from sysroot when + creating zipapp archive + +ceph has the assumption that the python used during build +is the python used at target, but this is not true for +cross compilation. We'll need to use the target python3 here, +otherwise, the cephadm zipapp cannot be executed. + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + src/cephadm/build.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/cephadm/build.py b/src/cephadm/build.py +index 4264b814f1e..a4483d6f79d 100755 +--- a/src/cephadm/build.py ++++ b/src/cephadm/build.py +@@ -93,7 +93,7 @@ def _compile(dest, tempdir): + zipapp.create_archive( + source=tempdir, + target=dest, +- interpreter=sys.executable, ++ interpreter='/usr/bin/python3', + compressed=True, + ) + log.info("Zipapp created with compression") +@@ -102,7 +102,7 @@ def _compile(dest, tempdir): + zipapp.create_archive( + source=tempdir, + target=dest, +- interpreter=sys.executable, ++ interpreter='/usr/bin/python3', + ) + log.info("Zipapp created without compression") + +-- +2.42.0 + diff --git a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch b/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch deleted file mode 100644 index d9116c4f..00000000 --- a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 1060f2e4362ebd6db23870d442dcd158d219ee92 Mon Sep 17 00:00:00 2001 -From: Yanfei Xu <yanfei.xu@windriver.com> -Date: Tue, 10 Nov 2020 17:17:30 +0800 -Subject: [PATCH] cmake: add support for python3.9 - -add support for python3.9. - -Upstream-Status: Pending - -Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> ---- - cmake/modules/FindPython/Support.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/modules/FindPython/Support.cmake b/cmake/modules/FindPython/Support.cmake -index 6584699b79..c05bbe3306 100644 ---- a/cmake/modules/FindPython/Support.cmake -+++ b/cmake/modules/FindPython/Support.cmake -@@ -17,7 +17,7 @@ if (NOT DEFINED _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR) - message (FATAL_ERROR "FindPython: INTERNAL ERROR") - endif() - if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 3) -- set(_${_PYTHON_PREFIX}_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) -+ set(_${_PYTHON_PREFIX}_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) - elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 2) - set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) - else() --- -2.18.2 - diff --git a/recipes-extended/ceph/ceph/0001-delete-install-layout-deb.patch b/recipes-extended/ceph/ceph/0001-delete-install-layout-deb.patch new file mode 100644 index 00000000..91eacfa9 --- /dev/null +++ b/recipes-extended/ceph/ceph/0001-delete-install-layout-deb.patch @@ -0,0 +1,37 @@ +From 903bb882a44eb5567f8b1fc7f7c4857c2f03579d Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Wed, 13 Mar 2024 03:41:47 -0700 +Subject: [PATCH] delete install-layout=deb + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + cmake/modules/Distutils.cmake | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake +index daaae4ba6..e606e3890 100644 +--- a/cmake/modules/Distutils.cmake ++++ b/cmake/modules/Distutils.cmake +@@ -30,9 +30,6 @@ function(distutils_install_module name) + install(CODE " + set(options --prefix=${CMAKE_INSTALL_PREFIX}) + if(DEFINED ENV{DESTDIR}) +- if(EXISTS /etc/debian_version) +- list(APPEND options --install-layout=deb) +- endif() + list(APPEND options + --root=\$ENV{DESTDIR} + --single-version-externally-managed) +@@ -136,9 +133,6 @@ function(distutils_install_cython_module name) + + set(options --prefix=${CMAKE_INSTALL_PREFIX}) + if(DEFINED ENV{DESTDIR}) +- if(EXISTS /etc/debian_version) +- list(APPEND options --install-layout=deb) +- endif() + list(APPEND options --root=\$ENV{DESTDIR}) + else() + list(APPEND options --root=/) +-- +2.42.0 + diff --git a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch index 310bfa47..24fd0409 100644 --- a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch +++ b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch @@ -15,12 +15,12 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> src/pybind/rgw/setup.py | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) -diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py -index c9a25ccf..972f936c 100755 ---- a/src/pybind/cephfs/setup.py -+++ b/src/pybind/cephfs/setup.py -@@ -63,9 +63,13 @@ def get_python_flags(libs): - distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), []) +Index: ceph-18.2.0/src/pybind/cephfs/setup.py +=================================================================== +--- ceph-18.2.0.orig/src/pybind/cephfs/setup.py ++++ ceph-18.2.0/src/pybind/cephfs/setup.py +@@ -63,9 +63,13 @@ + filter(lambda lib: lib.startswith('-l'), py_libs)] compiler = new_compiler() distutils.sysconfig.customize_compiler(compiler) + libpl = distutils.sysconfig.get_config_var('LIBPL') @@ -31,15 +31,15 @@ index c9a25ccf..972f936c 100755 include_dirs=[distutils.sysconfig.get_python_inc()], - library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'), + library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl], - libraries=libs + [lib.replace('-l', '') for lib in py_libs], + libraries=libs + py_libs, extra_compile_args=filter_unsupported_flags( compiler.compiler[0], -diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py -index 4e99d267..de24f766 100755 ---- a/src/pybind/rados/setup.py -+++ b/src/pybind/rados/setup.py -@@ -66,9 +66,13 @@ def get_python_flags(libs): - distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), []) +Index: ceph-18.2.0/src/pybind/rados/setup.py +=================================================================== +--- ceph-18.2.0.orig/src/pybind/rados/setup.py ++++ ceph-18.2.0/src/pybind/rados/setup.py +@@ -62,9 +62,13 @@ + filter(lambda lib: lib.startswith('-l'), py_libs)] compiler = new_compiler() distutils.sysconfig.customize_compiler(compiler) + libpl = distutils.sysconfig.get_config_var('LIBPL') @@ -50,15 +50,15 @@ index 4e99d267..de24f766 100755 include_dirs=[distutils.sysconfig.get_python_inc()], - library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'), + library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl], - libraries=libs + [lib.replace('-l', '') for lib in py_libs], + libraries=libs + py_libs, extra_compile_args=filter_unsupported_flags( compiler.compiler[0], -diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py -index f5bbbdab..a1f70e1d 100755 ---- a/src/pybind/rbd/setup.py -+++ b/src/pybind/rbd/setup.py -@@ -63,9 +63,13 @@ def get_python_flags(libs): - distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), []) +Index: ceph-18.2.0/src/pybind/rbd/setup.py +=================================================================== +--- ceph-18.2.0.orig/src/pybind/rbd/setup.py ++++ ceph-18.2.0/src/pybind/rbd/setup.py +@@ -63,9 +63,13 @@ + filter(lambda lib: lib.startswith('-l'), py_libs)] compiler = new_compiler() distutils.sysconfig.customize_compiler(compiler) + libpl = distutils.sysconfig.get_config_var('LIBPL') @@ -69,15 +69,15 @@ index f5bbbdab..a1f70e1d 100755 include_dirs=[distutils.sysconfig.get_python_inc()], - library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'), + library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl], - libraries=libs + [lib.replace('-l', '') for lib in py_libs], + libraries=libs + py_libs, extra_compile_args=filter_unsupported_flags( compiler.compiler[0], -diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py -index b9f2428c..f5119f73 100755 ---- a/src/pybind/rgw/setup.py -+++ b/src/pybind/rgw/setup.py -@@ -64,9 +64,13 @@ def get_python_flags(libs): - distutils.sysconfig.get_config_vars('LIBS', 'SYSLIBS')), []) +Index: ceph-18.2.0/src/pybind/rgw/setup.py +=================================================================== +--- ceph-18.2.0.orig/src/pybind/rgw/setup.py ++++ ceph-18.2.0/src/pybind/rgw/setup.py +@@ -64,9 +64,13 @@ + filter(lambda lib: lib.startswith('-l'), py_libs)] compiler = new_compiler() distutils.sysconfig.customize_compiler(compiler) + libpl = distutils.sysconfig.get_config_var('LIBPL') @@ -88,9 +88,6 @@ index b9f2428c..f5119f73 100755 include_dirs=[distutils.sysconfig.get_python_inc()], - library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', 'LIBPL'), + library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), libpl], - libraries=libs + [lib.replace('-l', '') for lib in py_libs], + libraries=libs + py_libs, extra_compile_args=filter_unsupported_flags( compiler.compiler[0], --- -2.21.0 - diff --git a/recipes-extended/ceph/ceph/0006-rocksdb-build-with-rocksdb-7.y.z.patch b/recipes-extended/ceph/ceph/0006-rocksdb-build-with-rocksdb-7.y.z.patch new file mode 100644 index 00000000..c7ca704f --- /dev/null +++ b/recipes-extended/ceph/ceph/0006-rocksdb-build-with-rocksdb-7.y.z.patch @@ -0,0 +1,109 @@ +From 06f23837c757ff7a8aa8db4e5965e25e9ca69f45 Mon Sep 17 00:00:00 2001 +From: "Kaleb S. KEITHLEY" <kkeithle@redhat.com> +Date: Mon, 23 May 2022 07:41:26 -0400 +Subject: [PATCH 6/6] rocksdb: build with rocksdb-7.y.z + +RocksDB 7, specifically 7.2.2 has landed in Fedora 37/rawhide. + +https://tracker.ceph.com/issues/55730 + +Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> +(cherry picked from commit eea10281e6f4078f261b05b6bd9c9c9aec129201) + +Upstream-Status: Backport [be3ca10e60ade9dbe7d3e5cb018f32c7cc97e2ed] + +Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> +--- + src/kv/RocksDBStore.cc | 7 ++----- + src/kv/rocksdb_cache/BinnedLRUCache.cc | 2 +- + src/kv/rocksdb_cache/BinnedLRUCache.h | 2 +- + src/kv/rocksdb_cache/ShardedCache.cc | 2 +- + src/kv/rocksdb_cache/ShardedCache.h | 4 ++-- + 5 files changed, 7 insertions(+), 10 deletions(-) + +diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc +index 328277e5..115d28fc 100644 +--- a/src/kv/RocksDBStore.cc ++++ b/src/kv/RocksDBStore.cc +@@ -728,19 +728,16 @@ int64_t RocksDBStore::estimate_prefix_size(const string& prefix, + { + auto cf = get_cf_handle(prefix); + uint64_t size = 0; +- uint8_t flags = +- //rocksdb::DB::INCLUDE_MEMTABLES | // do not include memtables... +- rocksdb::DB::INCLUDE_FILES; + if (cf) { + string start = key_prefix + string(1, '\x00'); + string limit = key_prefix + string("\xff\xff\xff\xff"); + rocksdb::Range r(start, limit); +- db->GetApproximateSizes(cf, &r, 1, &size, flags); ++ db->GetApproximateSizes(cf, &r, 1, &size); + } else { + string start = combine_strings(prefix , key_prefix); + string limit = combine_strings(prefix , key_prefix + "\xff\xff\xff\xff"); + rocksdb::Range r(start, limit); +- db->GetApproximateSizes(default_cf, &r, 1, &size, flags); ++ db->GetApproximateSizes(default_cf, &r, 1, &size); + } + return size; + } +diff --git a/src/kv/rocksdb_cache/BinnedLRUCache.cc b/src/kv/rocksdb_cache/BinnedLRUCache.cc +index 1e6ba7af..c4918355 100644 +--- a/src/kv/rocksdb_cache/BinnedLRUCache.cc ++++ b/src/kv/rocksdb_cache/BinnedLRUCache.cc +@@ -531,7 +531,7 @@ void BinnedLRUCache::DisownData() { + #endif // !__SANITIZE_ADDRESS__ + } + +-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) ++#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) + DeleterFn BinnedLRUCache::GetDeleter(Handle* handle) const + { + return reinterpret_cast<const BinnedLRUHandle*>(handle)->deleter; +diff --git a/src/kv/rocksdb_cache/BinnedLRUCache.h b/src/kv/rocksdb_cache/BinnedLRUCache.h +index ba0c2720..266667f0 100644 +--- a/src/kv/rocksdb_cache/BinnedLRUCache.h ++++ b/src/kv/rocksdb_cache/BinnedLRUCache.h +@@ -309,7 +309,7 @@ class BinnedLRUCache : public ShardedCache { + virtual size_t GetCharge(Handle* handle) const override; + virtual uint32_t GetHash(Handle* handle) const override; + virtual void DisownData() override; +-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) ++#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) + virtual DeleterFn GetDeleter(Handle* handle) const override; + #endif + // Retrieves number of elements in LRU, for unit test purpose only +diff --git a/src/kv/rocksdb_cache/ShardedCache.cc b/src/kv/rocksdb_cache/ShardedCache.cc +index 6cbd89ad..7d160f9c 100644 +--- a/src/kv/rocksdb_cache/ShardedCache.cc ++++ b/src/kv/rocksdb_cache/ShardedCache.cc +@@ -109,7 +109,7 @@ size_t ShardedCache::GetPinnedUsage() const { + return usage; + } + +-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) ++#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) + DeleterFn ShardedCache::GetDeleter(Handle* handle) const + { + uint32_t hash = GetHash(handle); +diff --git a/src/kv/rocksdb_cache/ShardedCache.h b/src/kv/rocksdb_cache/ShardedCache.h +index f98421a0..855912d7 100644 +--- a/src/kv/rocksdb_cache/ShardedCache.h ++++ b/src/kv/rocksdb_cache/ShardedCache.h +@@ -83,11 +83,11 @@ class ShardedCache : public rocksdb::Cache, public PriorityCache::PriCache { + virtual size_t GetUsage(rocksdb::Cache::Handle* handle) const override; + virtual size_t GetPinnedUsage() const override; + virtual size_t GetCharge(Handle* handle) const = 0; +-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) ++#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) + virtual DeleterFn GetDeleter(Handle* handle) const override; + #endif + virtual void DisownData() override = 0; +-#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22) ++#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22)) + virtual void ApplyToAllEntries( + const std::function<void(const rocksdb::Slice& key, void* value, size_t charge, + DeleterFn deleter)>& callback, +-- +2.33.0 + diff --git a/recipes-extended/ceph/ceph_15.2.9.bb b/recipes-extended/ceph/ceph_18.2.2.bb index 0d821f0b..e6c44188 100644 --- a/recipes-extended/ceph/ceph_15.2.9.bb +++ b/recipes-extended/ceph/ceph_18.2.2.bb @@ -1,35 +1,40 @@ SUMMARY = "User space components of the Ceph file system" -LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT" +LICENSE = "LGPL-2.1-only & GPL-2.0-only & Apache-2.0 & MIT" LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \ file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING;md5=4eb012c221c5fd4b760029a2981a6754 \ + file://COPYING;md5=5351120989d78252e65dc1a2a92e3617 \ " -inherit cmake python3native python3-dir systemd +inherit cmake pkgconfig python3native python3-dir systemd useradd # Disable python pybind support for ceph temporary, when corss compiling pybind, # pybind mix cmake and python setup environment, would case a lot of errors. SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \ - file://0001-ceph-fix-build-errors-for-cross-compile.patch \ file://0001-fix-host-library-paths-were-used.patch \ file://ceph.conf \ - file://0001-add-missing-include-for-atomic-bool.patch \ - file://0001-cmake-add-support-for-python3.9.patch \ + file://0001-avoid-to_string-error.patch \ + file://0001-delete-install-layout-deb.patch \ + file://0001-cephadm-build.py-avoid-using-python3-from-sysroot-wh.patch \ " -SRC_URI[md5sum] = "5a949b91199efe130bfe2e57f200eacd" -SRC_URI[sha256sum] = "ea7fa2be68b3570c5c3aa02774dca27de20b6f20a8498f65e5c4ef375a209ace" -SRC_URI[sha1sum] = "0503649d7c7d9268cb61b03bbe839106988f87d7" -SRC_URI[sha384sum] = "57208c126ea8e640c3979073fd64ce58606f17b4b7ed2e005b0792bdfd51b13391af325658d0f68f961f94175d93e891" -SRC_URI[sha512sum] = "1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff" +SRC_URI[sha256sum] = "e70bb5246b4a5d7aa78eb548677a05cc21d0d47945ba2937fddc7511134ffb57" -DEPENDS = "boost bzip2 curl expat gperf-native \ - keyutils libaio libibverbs lz4 \ - nspr nss \ +DEPENDS = "boost bzip2 curl cryptsetup expat gperf-native \ + keyutils libaio libibverbs lua lz4 \ + nspr nss ninja-native \ oath openldap openssl \ - python3 python3-cython-native rabbitmq-c rocksdb snappy udev \ - valgrind xfsprogs zlib \ + python3 python3-native python3-cython-native python3-pyyaml-native \ + rabbitmq-c rocksdb snappy thrift udev \ + valgrind xfsprogs zlib libgcc zstd re2 \ " -SYSTEMD_SERVICE_${PN} = " \ + + +OECMAKE_C_COMPILER = "${@oecmake_map_compiler('CC', d)[0]} --sysroot=${RECIPE_SYSROOT}" +OECMAKE_CXX_COMPILER = "${@oecmake_map_compiler('CXX', d)[0]} --sysroot=${RECIPE_SYSROOT}" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --user-group --home-dir /var/lib/ceph --shell /sbin/nologin ceph" + +SYSTEMD_SERVICE:${PN} = " \ ceph-radosgw@.service \ ceph-radosgw.target \ ceph-mon@.service \ @@ -38,6 +43,8 @@ SYSTEMD_SERVICE_${PN} = " \ ceph-mds.target \ ceph-osd@.service \ ceph-osd.target \ + cephfs-mirror@.service \ + cephfs-mirror.target \ ceph.target \ ceph-rbd-mirror@.service \ ceph-rbd-mirror.target \ @@ -49,52 +56,65 @@ SYSTEMD_SERVICE_${PN} = " \ ceph-immutable-object-cache@.service \ ceph-immutable-object-cache.target \ " -OECMAKE_GENERATOR = "Unix Makefiles" -EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \ +EXTRA_OECMAKE += "-DWITH_MANPAGE=OFF \ + -DWITH_JAEGER=OFF \ + -DWITH_SYSTEM_ZSTD=ON \ -DWITH_FUSE=OFF \ -DWITH_SPDK=OFF \ -DWITH_LEVELDB=OFF \ -DWITH_LTTNG=OFF \ -DWITH_BABELTRACE=OFF \ -DWITH_TESTS=OFF \ + -DWITH_RADOSGW_SELECT_PARQUET=OFF \ + -DWITH_RADOSGW_ARROW_FLIGHT=OFF \ -DWITH_MGR=OFF \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ -DWITH_SYSTEM_BOOST=ON \ -DWITH_SYSTEM_ROCKSDB=ON \ -DWITH_RDMA=OFF \ -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ - -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 \ - -DPython3_EXECUTABLE=${PYTHON} \ -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ -DWITH_REENTRANT_STRSIGNAL=ON \ -" - -export STAGING_DIR_HOST + -DWITH_PYTHON3=3.12 \ + -DPYTHON_DESIRED=3 \ + -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${WORKDIR}/toolchain.cmake \ + " -do_configure_prepend () { +do_configure:prepend () { echo "set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )" >> ${WORKDIR}/toolchain.cmake echo "set( CMAKE_DESTDIR \"${D}\" )" >> ${WORKDIR}/toolchain.cmake echo "set( PYTHON_SITEPACKAGES_DIR \"${PYTHON_SITEPACKAGES_DIR}\" )" >> ${WORKDIR}/toolchain.cmake + # echo "set( CMAKE_C_COMPILER_WORKS TRUE)" >> ${WORKDIR}/toolchain.cmake + # echo "set( CMAKE_CXX_COMPILER_FORCED TRUE)" >> ${WORKDIR}/toolchain.cmake + echo "set( CMAKE_C_COMPILER_FORCED TRUE )" >> ${WORKDIR}/toolchain.cmake } -do_install_append () { +do_compile:prepend() { + export BUILD_DOC=1 +} + +do_install:prepend() { + export BUILD_DOC=1 +} + +do_install:append () { sed -i -e 's:^#!/usr/bin/python$:&3:' \ -e 's:${WORKDIR}.*python3:${bindir}/python3:' \ ${D}${bindir}/ceph ${D}${bindir}/ceph-crash \ - ${D}${bindir}/ceph-volume ${D}${bindir}/ceph-volume-systemd + ${D}${bindir}/cephfs-top \ + ${D}${sbindir}/ceph-volume ${D}${sbindir}/ceph-volume-systemd find ${D} -name SOURCES.txt | xargs sed -i -e 's:${WORKDIR}::' install -d ${D}${sysconfdir}/ceph install -m 644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/ install -d ${D}${systemd_unitdir} - mv ${D}${libexecdir}/systemd/system ${D}${systemd_unitdir} mv ${D}${libexecdir}/ceph/ceph-osd-prestart.sh ${D}${libdir}/ceph mv ${D}${libexecdir}/ceph/ceph_common.sh ${D}${libdir}/ceph # WITH_FUSE is set to OFF, remove ceph-fuse related units rm ${D}${systemd_unitdir}/system/ceph-fuse.target ${D}${systemd_unitdir}/system/ceph-fuse@.service } -do_install_append_class-target () { +do_install:append:class-target () { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/tmpfiles.d echo "d /var/lib/ceph/crash/posted 0755 root root - -" > ${D}${sysconfdir}/tmpfiles.d/ceph-placeholder.conf @@ -106,40 +126,52 @@ do_install_append_class-target () { fi } -pkg_postinst_${PN}() { +pkg_postinst:${PN}() { if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then ${sysconfdir}/init.d/populate-volatile.sh update fi } -FILES_${PN} += "\ +FILES:${PN} += "\ ${libdir}/rados-classes/*.so.* \ ${libdir}/ceph/compressor/*.so \ ${libdir}/rados-classes/*.so \ ${libdir}/ceph/*.so \ + ${libdir}/libcephsqlite.so \ " -FILES_${PN} += " \ +FILES:${PN} += " \ /etc/tmpfiles.d/ceph-placeholder.conf \ /etc/default/volatiles/99_ceph-placeholder \ " -FILES_${PN}-python = "\ +FILES:${PN}-dev = " \ + ${includedir} \ + ${libdir}/libcephfs.so \ + ${libdir}/librados*.so \ + ${libdir}/librbd.so \ + ${libdir}/librgw.so \ +" + +FILES:${PN}-python = "\ ${PYTHON_SITEPACKAGES_DIR}/* \ " -RDEPENDS_${PN} += "\ +RDEPENDS:${PN} += "\ python3-core \ python3-misc \ python3-modules \ python3-prettytable \ ${PN}-python \ + gawk \ + bash \ " COMPATIBLE_HOST = "(x86_64).*" PACKAGES += " \ ${PN}-python \ " -INSANE_SKIP_${PN}-python += "ldflags" -INSANE_SKIP_${PN} += "dev-so" +INSANE_SKIP:${PN}-python += "ldflags buildpaths" +INSANE_SKIP:${PN} += "dev-so" +INSANE_SKIP:${PN}-dbg += "buildpaths" CCACHE_DISABLE = "1" CVE_PRODUCT = "ceph ceph_storage ceph_storage_mon ceph_storage_osd" diff --git a/recipes-extended/cloud-init/cloud-init/0001-setup.py-check-for-install-anywhere-in-args.patch b/recipes-extended/cloud-init/cloud-init/0001-setup.py-check-for-install-anywhere-in-args.patch index f61b82ce..e5b214fe 100644 --- a/recipes-extended/cloud-init/cloud-init/0001-setup.py-check-for-install-anywhere-in-args.patch +++ b/recipes-extended/cloud-init/cloud-init/0001-setup.py-check-for-install-anywhere-in-args.patch @@ -11,24 +11,23 @@ So rather than checking for install to be argv[1], we check for it anywhere in the arguments are trigger the template replacement to happen. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/setup.py b/setup.py -index cbacf48e..5f13d9eb 100755 ---- a/setup.py -+++ b/setup.py -@@ -87,7 +87,7 @@ def render_tmpl(template, mode=None): +Index: git/setup.py +=================================================================== +--- git.orig/setup.py ++++ git/setup.py +@@ -60,7 +60,7 @@ + that files are different outside of the debian directory.""" - # older versions of tox use bdist (xenial), and then install from there. # newer versions just use install. -- if not (sys.argv[1] == 'install' or sys.argv[1].startswith('bdist*')): +- if "install" not in sys.argv: + if not ('install' in sys.argv or sys.argv[1].startswith('bdist*')): return template tmpl_ext = ".tmpl" --- -2.25.1 - diff --git a/recipes-extended/cloud-init/cloud-init/0001-setup.py-respect-udevdir-variable.patch b/recipes-extended/cloud-init/cloud-init/0001-setup.py-respect-udevdir-variable.patch deleted file mode 100644 index 94ec98ac..00000000 --- a/recipes-extended/cloud-init/cloud-init/0001-setup.py-respect-udevdir-variable.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d7a6b8f765e9a08a8811331298e76ebd7a0c7076 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Sat, 7 Nov 2020 15:55:23 +0000 -Subject: [PATCH] setup.py respect udevdir variable - -* with usrmerge cloud-init triggers QA error: - ERROR: cloud-init-20.3-r0 do_package_qa: QA Issue: cloud-init package is not obeying usrmerge distro feature. /lib should be relocated to /usr. [usrmerge] - ERROR: cloud-init-20.3-r0 do_package_qa: QA run found fatal errors. Please consider fixing them. - because of: - /lib/udev/rules.d/66-azure-ephemeral.rules - -Upstream-Status: Pending - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - setup.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index cbacf48e..5e137a6d 100755 ---- a/setup.py -+++ b/setup.py -@@ -142,6 +142,7 @@ INITSYS_ROOTS = { - 'sysvinit_deb': 'etc/init.d', - 'sysvinit_openrc': 'etc/init.d', - 'sysvinit_suse': 'etc/init.d', -+ 'udevdir': pkg_config_read('udev', 'udevdir'), - 'systemd': pkg_config_read('systemd', 'systemdsystemunitdir'), - 'systemd.generators': pkg_config_read('systemd', - 'systemdsystemgeneratordir'), -@@ -264,7 +265,7 @@ if not platform.system().endswith('BSD'): - (ETC + '/NetworkManager/dispatcher.d/', - ['tools/hook-network-manager']), - (ETC + '/dhcp/dhclient-exit-hooks.d/', ['tools/hook-dhclient']), -- (LIB + '/udev/rules.d', [f for f in glob('udev/*.rules')]) -+ ('udevdir' + '/rules.d', [f for f in glob('udev/*.rules')]) - ]) - # Use a subclass for install that handles - # adding on the right init system configuration files --- -2.27.0 - diff --git a/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch b/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch index 869fb311..0b396781 100644 --- a/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch +++ b/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch @@ -3,6 +3,8 @@ From: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Thu, 6 Mar 2014 01:55:09 -0500 Subject: [PATCH] cloud-init: source local lsb functions +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> --- sysvinit/debian/cloud-config | 1 + diff --git a/recipes-extended/cloud-init/cloud-init_20.3.bb b/recipes-extended/cloud-init/cloud-init_git.bb index b9efb31f..6cb3d3b5 100644 --- a/recipes-extended/cloud-init/cloud-init_20.3.bb +++ b/recipes-extended/cloud-init/cloud-init_git.bb @@ -1,53 +1,64 @@ DESCRIPTION = "Init scripts for use on cloud images" HOMEPAGE = "https://github.com/canonical/cloud-init" SECTION = "devel/python" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c6dd79b6ec2130a3364f6fa9d6380408" +LICENSE = "GPL-3.0-only | Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c6dd79b6ec2130a3364f6fa9d6380408 \ + file://LICENSE-GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://LICENSE-Apache2.0;md5=3b83ef96387f14655fc854ddc3c6bd57 \ +" -SRCREV = "1431c8a1bddaabf85e1bbb32bf316a3aef20036e" -SRC_URI = "git://github.com/canonical/cloud-init \ +SRCREV = "e982c20875db3750c8dfc1915e7a4cee37376924" +SRC_URI = "git://github.com/canonical/cloud-init;branch=24.1.x;protocol=https \ file://cloud-init-source-local-lsb-functions.patch \ file://0001-setup.py-check-for-install-anywhere-in-args.patch \ - file://0001-setup.py-respect-udevdir-variable.patch \ " +PV = "v23.4.1+git" + S = "${WORKDIR}/git" -DISTUTILS_INSTALL_ARGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '--init-system=sysvinit_deb', '', d)}" -DISTUTILS_INSTALL_ARGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--init-system=systemd', '', d)}" +DISTUTILS_INSTALL_ARGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '--init-system=sysvinit_deb', '', d)}" +DISTUTILS_INSTALL_ARGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--init-system=systemd', '', d)}" -do_install_append() { +do_install:append() { ln -s ${libdir}/${BPN}/uncloud-init ${D}${sysconfdir}/cloud/uncloud-init ln -s ${libdir}/${BPN}/write-ssh-key-fingerprints ${D}${sysconfdir}/cloud/write-ssh-key-fingerprints + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -m 755 -d ${D}${sysconfdir}/init.d/ + install -m 755 ${S}/sysvinit/debian/* ${D}${sysconfdir}/init.d/ + fi + } inherit pkgconfig -inherit setuptools3 +inherit setuptools3_legacy inherit update-rc.d inherit systemd -# setup.py calls "pkg-config systemd --variable=systemdsystemunitdir" and needs to find our systemd +# setup.py calls "pkg-config systemd --variable=systemdsystemunitdir" and needs to find our dev manager DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'udev', '', d)}" inherit python3native PACKAGES += "${PN}-systemd" -FILES_${PN} += "${sysconfdir}/* \ - ${datadir}/*" +FILES:${PN} += "${sysconfdir}/* \ + ${datadir}/* \ + ${nonarch_libdir}/${BPN}/*" -FILES_${PN}-systemd += "${systemd_unitdir}/*" -RDEPENDS_${PN}-systemd += " ${PN}" +FILES:${PN}-systemd += "${systemd_unitdir}/*" +RDEPENDS:${PN}-systemd += " ${PN}" INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME_${BPN} = "cloud-init" +INITSCRIPT_NAME:${BPN} = "cloud-init" DEPENDS += "python3-pyyaml-native \ python3-requests-native \ python3-jinja2-native \ " -RDEPENDS_${PN} = "python3 \ +RDEPENDS:${PN} = "python3 \ python3-jinja2 \ python3-configobj \ python3-requests \ @@ -55,5 +66,8 @@ RDEPENDS_${PN} = "python3 \ python3-jsonschema \ python3-pyyaml \ python3-oauthlib \ + python3-netifaces \ + python3-charset-normalizer \ + bash \ " diff --git a/recipes-extended/dev86/dev86/0001-cpp-Makefile-respect-LDFLAGS-when-building-bcc-cpp.patch b/recipes-extended/dev86/dev86/0001-cpp-Makefile-respect-LDFLAGS-when-building-bcc-cpp.patch new file mode 100644 index 00000000..85f3aef8 --- /dev/null +++ b/recipes-extended/dev86/dev86/0001-cpp-Makefile-respect-LDFLAGS-when-building-bcc-cpp.patch @@ -0,0 +1,25 @@ +From 12f3a54801e15f3bdd5222ca1487f2fe36141c5d Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 14 May 2021 06:30:18 -0700 +Subject: [PATCH] cpp/Makefile: respect LDFLAGS when building bcc-cpp + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + cpp/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cpp/Makefile b/cpp/Makefile +index 0ea43cc..303b43c 100644 +--- a/cpp/Makefile ++++ b/cpp/Makefile +@@ -3,7 +3,7 @@ CFLAGS=-Wall -Wstrict-prototypes + all: bcc-cpp + + bcc-cpp: main.o cpp.o hash.o token1.o token2.o +- $(CC) $(CFLAGS) -o bcc-cpp main.o cpp.o hash.o token1.o token2.o ++ $(CC) $(CFLAGS) $(LDFLAGS) -o bcc-cpp main.o cpp.o hash.o token1.o token2.o + + clean realclean: + rm -f bcc-cpp main.o cpp.o hash.o token1.o token2.o tmp.h diff --git a/recipes-extended/dev86/dev86/0001-cpp-fix-race-writing-token.h-files.patch b/recipes-extended/dev86/dev86/0001-cpp-fix-race-writing-token.h-files.patch new file mode 100644 index 00000000..e009e01a --- /dev/null +++ b/recipes-extended/dev86/dev86/0001-cpp-fix-race-writing-token.h-files.patch @@ -0,0 +1,45 @@ +Upstream-Status: Submitted [https://github.com/jbruchon/dev86/pull/23] +Signed-off-by: Ross Burton <ross.burton@arm.com> + +From f507ee398ae20e4e97f01dfbd9a8709a90bc760f Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Fri, 29 Apr 2022 16:44:08 +0100 +Subject: [PATCH] cpp: fix race writing token.h files + +The rules for token1.h and token2.h both write to a temporary file tmp.h +before renaming to token1.h or token2.h. However, in a parallel build +these will execute at the same time and race. + + gperf -aptTc -N is_ctok -H hash1 token1.tok > tmp.h + gperf -aptTc -k1,3 -N is_ckey -H hash2 token2.tok > tmp.h + mv tmp.h token1.h + mv tmp.h token2.h + mv: cannot stat 'tmp.h': No such file or directory + +By using gperf --output-file, the race is avoided entirely. + +Upstream-Status: Inappropriate [embedded specific] + +--- + cpp/Makefile | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/cpp/Makefile b/cpp/Makefile +index 0ea43cc..743694f 100644 +--- a/cpp/Makefile ++++ b/cpp/Makefile +@@ -20,9 +20,7 @@ token1.o: token1.h + token2.o: token2.h + + token1.h: token1.tok +- gperf -aptTc -N is_ctok -H hash1 token1.tok > tmp.h +- mv tmp.h token1.h ++ gperf -aptTc -N is_ctok -H hash1 --output-file $@ $< + + token2.h: token2.tok +- gperf -aptTc -k1,3 -N is_ckey -H hash2 token2.tok > tmp.h +- mv tmp.h token2.h ++ gperf -aptTc -k1,3 -N is_ckey -H hash2 --output-file $@ $< +-- +2.25.1 + diff --git a/recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch b/recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch new file mode 100644 index 00000000..47c283b2 --- /dev/null +++ b/recipes-extended/dev86/dev86/0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch @@ -0,0 +1,30 @@ +From e908a3ad04bb40e425542b85fbb3a1eb5a38e194 Mon Sep 17 00:00:00 2001 +From: Tee-Kiah Chia <tkchia@users.noreply.github.com> +Date: Thu, 27 Feb 2020 00:52:05 +0800 +Subject: [PATCH] [cpp] update token1.tok to make new gperf happy; regen. + token1.h + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Pending [it was submitted in https://github.com/jbruchon/dev86/pull/19 +but then closed by author] + +Remove regenerated token1.h as we'll force it to regenerate in do_compile. + +--- + cpp/token1.h | 170 +++++++++++++++++++++++++++++++++---------------- + cpp/token1.tok | 2 +- + 2 files changed, 115 insertions(+), 57 deletions(-) + +diff --git a/cpp/token1.tok b/cpp/token1.tok +index cd668ce..a98926f 100644 +--- a/cpp/token1.tok ++++ b/cpp/token1.tok +@@ -7,7 +7,7 @@ struct token_trans { char * name; int token; }; + -=, TK_SUB_ASSIGN + *=, TK_MUL_ASSIGN + /=, TK_DIV_ASSIGN +-%=, TK_MOD_ASSIGN ++"%=", TK_MOD_ASSIGN + &=, TK_AND_ASSIGN + ^=, TK_XOR_ASSIGN + |=, TK_OR_ASSIGN diff --git a/recipes-extended/dev86/dev86/0004-regen-token2.h-token1.h-with-gperf-3.1.patch b/recipes-extended/dev86/dev86/0004-regen-token2.h-token1.h-with-gperf-3.1.patch new file mode 100644 index 00000000..4a5bb25e --- /dev/null +++ b/recipes-extended/dev86/dev86/0004-regen-token2.h-token1.h-with-gperf-3.1.patch @@ -0,0 +1,59 @@ +From ce2b9747d51df2a4c358a037950f0464f3f53fe8 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 14 May 2021 14:31:50 +0000 +Subject: [PATCH] regen token2.h, token1.h with gperf-3.1 + +* update cc.h, token1.c, token2.c to be compatible with + gperf-3.1 output + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +Remove regenerated token2.h as we'll force it to regenerate in do_compile. +--- + cpp/cc.h | 4 +- + cpp/token1.c | 2 +- + cpp/token1.h | 22 ++---- + cpp/token2.c | 2 +- + cpp/token2.h | 211 +++++++++++++++++++++++++++++++-------------------- + 5 files changed, 140 insertions(+), 101 deletions(-) + +diff --git a/cpp/cc.h b/cpp/cc.h +index 9c298e7..3724543 100644 +--- a/cpp/cc.h ++++ b/cpp/cc.h +@@ -25,8 +25,8 @@ extern int dialect; + extern int gettok P((void)); + + struct token_trans { char * name; int token; }; +-struct token_trans * is_ctok P((const char *str, unsigned int len)); +-struct token_trans * is_ckey P((const char *str, unsigned int len)); ++struct token_trans * is_ctok P((register const char *str, register size_t len)); ++struct token_trans * is_ckey P((register const char *str, register size_t len)); + + #define WORDSIZE 128 + #define TK_WSPACE 256 +diff --git a/cpp/token1.c b/cpp/token1.c +index f3aa420..cc47f3e 100644 +--- a/cpp/token1.c ++++ b/cpp/token1.c +@@ -6,6 +6,6 @@ + #ifdef __GNUC__ + __inline + #endif +-static unsigned int hash1 P((register const char *, register unsigned int)); ++static unsigned int hash1 P((register const char *, register size_t)); + + #include "token1.h" +diff --git a/cpp/token2.c b/cpp/token2.c +index b4d22b1..fbc790d 100644 +--- a/cpp/token2.c ++++ b/cpp/token2.c +@@ -6,6 +6,6 @@ + #ifdef __GNUC__ + __inline + #endif +-static unsigned int hash2 P((register const char *, register unsigned int)); ++static unsigned int hash2 P((register const char *, register size_t)); + + #include "token2.h" diff --git a/recipes-extended/dev86/dev86/cross.patch b/recipes-extended/dev86/dev86/cross.patch new file mode 100644 index 00000000..fd62c5dd --- /dev/null +++ b/recipes-extended/dev86/dev86/cross.patch @@ -0,0 +1,29 @@ +Build ifdef using BUILD_CC, not CC. + +Upstream-Status: Submitted [https://github.com/jbruchon/dev86/pull/22] +Signed-off-by: Ross Burton <ross.burton@arm.com> + +diff --git a/Makefile b/Makefile +index 8a61b65..99f41de 100644 +--- a/Makefile ++++ b/Makefile +@@ -22,6 +22,10 @@ CFLAGS= -O + IFDEFNAME= ifdef + WD=$(shell pwd) + ++BUILD_CC ?= $(CC) ++BUILD_CFLAGS ?= $(CFLAGS) ++BUILD_LDFLAGS ?= $(LDFLAGS) ++ + # Some makes take the last of a list as the default ... + all: make.fil + PATH="`pwd`/bin:$$PATH" $(MAKE) -f make.fil VERSION=$(VERSION) TOPDIR=`pwd` $@ +@@ -65,7 +69,7 @@ make.fil: $(IFDEFNAME) makefile.in + @rm -f tmp.mak tmp.sed + + $(IFDEFNAME): ifdef.c +- $(CC) $(IFDEFARCH) $(CFLAGS) $(IFDEFFLAGS) $(LDFLAGS) -o $(IFDEFNAME) ifdef.c ++ $(BUILD_CC) $(IFDEFARCH) $(BUILD_CFLAGS) $(IFDEFFLAGS) $(BUILD_LDFLAGS) -o $(IFDEFNAME) ifdef.c + + uninstall: + @echo 'Sorry, no go; it was just wrong.' diff --git a/recipes-extended/dev86/dev86_0.16.21.bb b/recipes-extended/dev86/dev86_0.16.21.bb deleted file mode 100644 index cf64a9d1..00000000 --- a/recipes-extended/dev86/dev86_0.16.21.bb +++ /dev/null @@ -1,36 +0,0 @@ -DESCRIPTION = "This is a cross development C compiler, assembler and linker environment for the production of 8086 executables (Optionally MSDOS COM)" -HOMEPAGE = "http://www.debath.co.uk/dev86/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" -SECTION = "console/tools" - -SRCREV = "c6f36cbafa979710b809f117562773dbd6825918" -SRC_URI = "git://github.com/lkundrak/${BPN}.git;protocol=https" - -S = "${WORKDIR}/git" - -BBCLASSEXTEND = "native" -EXTRA_OEMAKE = "VERSION=${PV} PREFIX=${prefix} DIST=${D} LDFLAGS='${LDFLAGS}'" - -do_compile() { - # ${S}/Makefile does respect LDFLAGS, but ${S}/cpp/Makefile doesn't when building bcc-cpp - sed -i 's#$(CC) $(CFLAGS) -o bcc-cpp#$(CC) $(CFLAGS) $(LDFLAGS) -o bcc-cpp#g' ${S}/cpp/Makefile - oe_runmake make.fil - oe_runmake -f make.fil bcc86 as86 ld86 - -} - -do_install() { - - if [ "${prefix}"=="" ] ; then - export prefix=/usr - fi - - oe_runmake install-bcc - ln -s ../lib/bcc/bcc-cpp ${D}${prefix}/bin/bcc-cpp - ln -s ../lib/bcc/bcc-cc1 ${D}${prefix}/bin/bcc-cc1 - -} -COMPATIBLE_HOST = "(i.86|x86_64).*-linux" -FILES_${PN} += "${libdir}/bcc" -INSANE_SKIP_${PN} = "already-stripped" diff --git a/recipes-extended/dev86/dev86_git.bb b/recipes-extended/dev86/dev86_git.bb new file mode 100644 index 00000000..a3d0fded --- /dev/null +++ b/recipes-extended/dev86/dev86_git.bb @@ -0,0 +1,43 @@ +DESCRIPTION = "This is a cross development C compiler, assembler and linker environment for the production of 8086 executables (Optionally MSDOS COM)" +HOMEPAGE = "http://www.debath.co.uk/dev86/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" +SECTION = "console/tools" + +BASE_PV="0.16.21" +PV = "${BASE_PV}+git" +SRCREV = "e254e0b19651d3b8a20225b40281c9974a95dec4" +SRC_URI = "git://github.com/jbruchon/${BPN}.git;protocol=https;branch=master \ + file://0001-cpp-Makefile-respect-LDFLAGS-when-building-bcc-cpp.patch \ + file://0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch \ + file://0004-regen-token2.h-token1.h-with-gperf-3.1.patch \ + file://cross.patch \ + file://0001-cpp-fix-race-writing-token.h-files.patch \ +" + +S = "${WORKDIR}/git" + +DEPENDS = "gperf-native" + +BBCLASSEXTEND = "native nativesdk" +EXTRA_OEMAKE = "VERSION=${BASE_PV} PREFIX=${prefix} DIST=${D} LDFLAGS='${LDFLAGS}' INEXE=''" + +do_compile() { + # always regenerate token1.h, token2.h for deterministic behavior + rm -f ${S}/cpp/token1.h ${S}/cpp/token2.h + oe_runmake make.fil + oe_runmake -f make.fil bcc86 as86 ld86 +} + +do_install() { + + if [ "${prefix}"=="" ] ; then + export prefix=/usr + fi + + oe_runmake install-bcc + ln -s ../lib/bcc/bcc-cpp ${D}${prefix}/bin/bcc-cpp + ln -s ../lib/bcc/bcc-cc1 ${D}${prefix}/bin/bcc-cc1 +} + +FILES:${PN} += "${libdir}/bcc" diff --git a/recipes-extended/diod/diod_1.0.24.bb b/recipes-extended/diod/diod_1.0.24.bb index a4a85284..6019fbfb 100644 --- a/recipes-extended/diod/diod_1.0.24.bb +++ b/recipes-extended/diod/diod_1.0.24.bb @@ -5,32 +5,30 @@ Although the kernel client supports several 9P variants, diod only supports \ 9P2000.L, and only in its feature-complete form, as it appeared in 2.6.38." SECTION = "console/network" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -PV = "1.0.24+git${SRCPV}" -SRCREV = "0ea3fe3d829b5085307cd27a512708d99ef48199" -SRC_URI = "git://github.com/chaos/diod.git;protocol=git \ +PV = "1.0.24+git" +SRCREV = "b4b5e8e00ed11b21d7fcf05a080dc054a8eac2d6" +SRC_URI = "git://github.com/chaos/diod.git;protocol=https;branch=master \ file://diod \ file://diod.conf \ - file://0001-build-allow-builds-to-work-with-separate-build-dir.patch \ - file://0002-auto.diod.in-remove-bashisms.patch \ - file://0001-diod-ops.c-add-header-file-for-makedev.patch \ - file://0001-drod-add-option-to-config-systemddir.patch \ - " + file://0001-build-Find-lua-with-pkg-config.patch \ + file://0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch \ + " DEPENDS = "libcap ncurses tcp-wrappers lua" -EXTRA_OECONF = "--with-systemddir=${systemd_unitdir}/system" +EXTRA_OEMAKE += "systemddir=${systemd_unitdir}/system" S = "${WORKDIR}/git" -inherit autotools systemd +inherit autotools pkgconfig systemd -do_install_append () { +do_install:append () { # install our init based on start-stop-daemon install -D -m 0755 ${WORKDIR}/diod ${D}${sysconfdir}/init.d/diod # install a real(not commented) configuration file for diod install -m 0644 ${WORKDIR}/diod.conf ${D}${sysconfdir}/diod.conf } -FILES_${PN} += "${systemd_unitdir}" +FILES:${PN} += "${systemd_unitdir}" diff --git a/recipes-extended/diod/files/0001-build-Find-lua-with-pkg-config.patch b/recipes-extended/diod/files/0001-build-Find-lua-with-pkg-config.patch new file mode 100644 index 00000000..9f61792a --- /dev/null +++ b/recipes-extended/diod/files/0001-build-Find-lua-with-pkg-config.patch @@ -0,0 +1,50 @@ +From 8124eec4e59222f1c3f3dc4d7e6706e13c33755c Mon Sep 17 00:00:00 2001 +From: Ola x Nilsson <olani@axis.com> +Date: Wed, 6 Mar 2024 18:40:16 +0100 +Subject: [PATCH] build: Find lua with pkg-config + +ax_lua.m4 does not support cross compilation. + +Upstream-Status: Inappropriate (Embedded specific) + +--- + configure.ac | 26 +++++++++++++++++++++++++- + 1 file changed, 25 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e8fcdb2..f3ebdc5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -121,7 +121,31 @@ AC_ARG_ENABLE([config], + [AS_HELP_STRING([--disable-config], [disable lua config file support])]) + + AS_IF([test "x$enable_config" != "xno"], [ +- AX_PROG_LUA([5.1],[5.5]) ++ dnl Use pkg_config to check for lua settings. This is not standard ++ dnl as lua typically does not distribute a pc file. The ++ dnl OpenEmbedded recipe adds one that can be used. Reuse/replicate ++ dnl as much of AX_PROG_LUA as possible so AX_LUA_HEADERS and ++ dnl AX_LUA_LIBS are still usable. ++ PKG_CHECK_EXISTS([lua], [ ++ AS_IF([ ++ $PKG_CONFIG --atleast-version=5.1 lua && $PKG_CONFIG --max-version=5.5 lua ++ ],[ ++ AC_ARG_VAR([LUA], [The LUA interpreter, e.g. /usr/bin/lua5.1]) ++ dnl should really check that the file exists ... ++ AC_SUBST([LUA], [${bindir}/lua]) ++ AC_CACHE_CHECK([for $LUA version], [ax_cv_lua_version], [ ++ ax_cv_lua_version=[`$PKG_CONFIG --modversion lua | $SED 's/^\([0-9]\+\.[0-9]\+\).*/\1/'`] ++ ]) ++ AS_IF([test "x$ax_cv_lua_version" = 'x'], ++ [AC_MSG_ERROR([invalid Lua version number])]) ++ AC_SUBST([LUA_VERSION], [$ax_cv_lua_version]) ++ AC_SUBST([LUA_SHORT_VERSION], [`echo "$LUA_VERSION" | $SED 's|\.||'`]) ++ ],[ ++ AC_MSG_ERROR([Incorrect lua version]) ++ ]) ++ ],[ ++ AX_PROG_LUA([5.1],[5.5]) ++ ]) + AX_LUA_HEADERS([],[ + AC_MSG_ERROR([Install lua headers or configure with --disable-config]) + ]) diff --git a/recipes-extended/diod/files/0001-build-allow-builds-to-work-with-separate-build-dir.patch b/recipes-extended/diod/files/0001-build-allow-builds-to-work-with-separate-build-dir.patch deleted file mode 100644 index f40e0eb5..00000000 --- a/recipes-extended/diod/files/0001-build-allow-builds-to-work-with-separate-build-dir.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 43403468298ef4167baa5d84de2ee2eaf7f4007a Mon Sep 17 00:00:00 2001 -From: Mark Asselstine <mark.asselstine@windriver.com> -Date: Fri, 9 Jan 2015 18:34:04 +0000 -Subject: [PATCH 1/2] build: allow builds to work with separate build dir - -Remove assumptions in include paths that assume the build -is happening in the source directories. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> ---- - diod/Makefile.am | 2 +- - libdiod/Makefile.am | 2 +- - liblsd/Makefile.am | 2 +- - libnpclient/Makefile.am | 2 +- - scripts/Makefile.am | 6 +++--- - tests/kern/dbench/Makefile.am | 4 ++-- - utils/Makefile.am | 2 +- - 7 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/diod/Makefile.am b/diod/Makefile.am -index 7644be7..fdaf130 100644 ---- a/diod/Makefile.am -+++ b/diod/Makefile.am -@@ -1,7 +1,7 @@ - AM_CFLAGS = @GCCWARN@ - - AM_CPPFLAGS = \ -- -I../libnpfs -I../liblsd -I../libdiod -+ -I$(srcdir)/../libnpfs -I$(srcdir)/../liblsd -I$(srcdir)/../libdiod - - sbin_PROGRAMS = diod - -diff --git a/libdiod/Makefile.am b/libdiod/Makefile.am -index 4810e14..6905cdd 100644 ---- a/libdiod/Makefile.am -+++ b/libdiod/Makefile.am -@@ -1,7 +1,7 @@ - AM_CFLAGS = @GCCWARN@ - - AM_CPPFLAGS = \ -- -I../libnpfs -I../libnpclient -I../liblsd -+ -I$(srcdir)/../libnpfs -I$(srcdir)/../libnpclient -I$(srcdir)/../liblsd - - noinst_LIBRARIES = libdiod.a - -diff --git a/liblsd/Makefile.am b/liblsd/Makefile.am -index c3e5658..7e18bf8 100644 ---- a/liblsd/Makefile.am -+++ b/liblsd/Makefile.am -@@ -1,6 +1,6 @@ - AM_CFLAGS = @GCCWARN@ - --AM_CPPFLAGS = -I../libdiod -+AM_CPPFLAGS = -I$(srcdir)/../libdiod - - noinst_LIBRARIES = liblsd.a - -diff --git a/libnpclient/Makefile.am b/libnpclient/Makefile.am -index 5305df9..cbaf266 100644 ---- a/libnpclient/Makefile.am -+++ b/libnpclient/Makefile.am -@@ -1,7 +1,7 @@ - AM_CFLAGS = @GCCWARN@ - - AM_CPPFLAGS = \ -- -I../libnpfs -+ -I$(srcdir)/../libnpfs - - noinst_LIBRARIES = libnpclient.a - -diff --git a/scripts/Makefile.am b/scripts/Makefile.am -index 51c24a3..2aba728 100644 ---- a/scripts/Makefile.am -+++ b/scripts/Makefile.am -@@ -1,9 +1,9 @@ --systemddir=$(sysconfdir)/systemd/system -+systemddir=/lib/systemd/system - - install-data-local: -- $(top_srcdir)/config/install-sh -m 755 $(srcdir)/auto.diod \ -+ $(top_srcdir)/config/install-sh -m 755 ./auto.diod \ - $(DESTDIR)$(sysconfdir)/auto.diod -- $(top_srcdir)/config/install-sh -m 755 $(srcdir)/diod.service \ -+ $(top_srcdir)/config/install-sh -m 644 ./diod.service \ - $(DESTDIR)$(systemddir)/diod.service - - uninstall-local: -diff --git a/tests/kern/dbench/Makefile.am b/tests/kern/dbench/Makefile.am -index e0cdefa..1704f9f 100644 ---- a/tests/kern/dbench/Makefile.am -+++ b/tests/kern/dbench/Makefile.am -@@ -2,7 +2,7 @@ AM_CFLAGS = -w - - # VERSION=4.00 - --AM_CPPFLAGS = -DDATADIR=\"$(X_DATADIR)\" -+AM_CPPFLAGS = -I. -DDATADIR=\"$(X_DATADIR)\" - - LDADD = $(LIBPOPT) - -@@ -25,6 +25,6 @@ BUILT_SOURCES = proto.h - CLEANFILES = proto.h - - proto.h: $(dbench_SOURCES) mkproto.pl -- perl mkproto.pl $(dbench_SOURCES) > proto.h -+ $(srcdir)/mkproto.pl $(patsubst %,$(srcdir),$(dbench_SOURCES)) > proto.h - - EXTRA_DIST = mkproto.pl -diff --git a/utils/Makefile.am b/utils/Makefile.am -index 169b6c4..91d571d 100644 ---- a/utils/Makefile.am -+++ b/utils/Makefile.am -@@ -1,7 +1,7 @@ - AM_CFLAGS = @GCCWARN@ - - AM_CPPFLAGS = \ -- -I../libnpfs -I../liblsd -I../libdiod -I../libnpclient -+ -I$(srcdir)/../libnpfs -I$(srcdir)/../liblsd -I$(srcdir)/../libdiod -I$(srcdir)/../libnpclient - - sbin_PROGRAMS = diodmount diodcat dtop diodload diodls diodshowmount dioddate - --- -2.11.0 - diff --git a/recipes-extended/diod/files/0001-diod-ops.c-add-header-file-for-makedev.patch b/recipes-extended/diod/files/0001-diod-ops.c-add-header-file-for-makedev.patch deleted file mode 100644 index e6f7ece2..00000000 --- a/recipes-extended/diod/files/0001-diod-ops.c-add-header-file-for-makedev.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f75836731d6051d85e6317eb4c12465bafb4973e Mon Sep 17 00:00:00 2001 -From: "Hongzhi.Song" <hongzhi.song@windriver.com> -Date: Fri, 31 Aug 2018 05:47:02 -0400 -Subject: [PATCH] diod/ops.c: add header file for makedev - -Error: -diod/ops.c:845: undefined reference to `makedev' - -Fixed: -Glibc removes sys/sysmacros.h which defines makedev from sys/types.h -since v2.28. [Commit ID: e16deca62e16f] - -And then glibc suggestions us to include <sys/sysmacros.h> directly if -code needs it. - -Upstream-Status: Submitted -[diod: -mail: v9fs-developer@lists.sourceforge.net -author: hongzhi.song@windriver.com] - -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com> ---- - diod/ops.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/diod/ops.c b/diod/ops.c -index c6c8291..469a502 100644 ---- a/diod/ops.c -+++ b/diod/ops.c -@@ -74,6 +74,7 @@ - #include <pthread.h> - #include <errno.h> - #include <sys/types.h> -+#include <sys/sysmacros.h> - - #ifdef __FreeBSD__ - #if !__BSD_VISIBLE --- -2.8.1 - diff --git a/recipes-extended/diod/files/0001-drod-add-option-to-config-systemddir.patch b/recipes-extended/diod/files/0001-drod-add-option-to-config-systemddir.patch deleted file mode 100644 index 8b70d8fa..00000000 --- a/recipes-extended/diod/files/0001-drod-add-option-to-config-systemddir.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 365159534b1981dfe291ecc05d2455f32652a166 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Mon, 26 Aug 2019 18:00:39 +0800 -Subject: [PATCH] drod: add option to config systemddir - -Upstream-Status: Pending - -Not need to send upstream, since upstream have refactor -related code, but not released. and this version release -4 years ago, not proper to just backport one or more -commits, this patch maybe could be dropped after upgrade. - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - configure.ac | 9 +++++++++ - scripts/Makefile.am | 2 +- - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 1cb8579..3e4a5ec 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -25,6 +25,15 @@ AC_DEFINE([_GNU_SOURCE], 1, - [Define _GNU_SOURCE so that we get all necessary prototypes]) - - ## -+#Add option to config systemddir -+## -+AC_ARG_WITH([systemddir], -+ [AS_HELP_STRING([--with-systemddir=DIR], [systemd dir])], -+ [systemddir=$withval], -+ [systemddir="/lib/systemd/system"]) -+AC_SUBST([systemddir], [$systemddir]) -+ -+## - # Checks for programs - ## - AC_PROG_CC -diff --git a/scripts/Makefile.am b/scripts/Makefile.am -index 2aba728..40822b7 100644 ---- a/scripts/Makefile.am -+++ b/scripts/Makefile.am -@@ -1,4 +1,4 @@ --systemddir=/lib/systemd/system -+systemddir=@systemddir@ - - install-data-local: - $(top_srcdir)/config/install-sh -m 755 ./auto.diod \ --- -2.7.4 - diff --git a/recipes-extended/diod/files/0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch b/recipes-extended/diod/files/0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch new file mode 100644 index 00000000..3c13c101 --- /dev/null +++ b/recipes-extended/diod/files/0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch @@ -0,0 +1,100 @@ +From 04b0c5a5cb9e32090b177ff7327ad3260783abe0 Mon Sep 17 00:00:00 2001 +From: Ola x Nilsson <olani@axis.com> +Date: Mon, 15 Apr 2024 17:31:44 +0200 +Subject: [PATCH] Handle various time_t sizes in printf and scanf + +The members of the timeval struct are both signed (defined by POSIX) +and typically both 64 bits on a system where time_t is 64 bits. This +is possible also on 32 bit systems where time_t is larger to handle +the 2038 problem. + +It's practically impossible to find a type and printf format that +works even on all glibc systems. Play it safe and always use printf +with intmax_t and explict int64_t variables for scanf. + +Upstream-Status: Submitted [https://github.com/chaos/diod/pull/100] +Signed-off-by: Ola x Nilsson <olani@axis.com> +--- + libnpfs/conn.c | 5 +++-- + libnpfs/ctl.c | 7 ++++--- + utils/dioddate.c | 8 +++++++- + 3 files changed, 14 insertions(+), 6 deletions(-) + +diff --git a/libnpfs/conn.c b/libnpfs/conn.c +index 6e85fff..c34c840 100644 +--- a/libnpfs/conn.c ++++ b/libnpfs/conn.c +@@ -16,6 +16,7 @@ + #include <stdio.h> + #include <string.h> + #include <stdint.h> ++#include <inttypes.h> + #include <stdarg.h> + #include <errno.h> + #include <pthread.h> +@@ -133,8 +134,8 @@ _debug_trace (Npsrv *srv, Npfcall *fc) + (void)gettimeofday(&b, NULL); + (void)gettimeofday(&a, NULL); + timersub(&a, &b, &c); +- np_logmsg(srv, "[%lu.%-3lu] %s", +- c.tv_sec, c.tv_usec/1000, s); ++ np_logmsg(srv, "[%"PRIdMAX".%-3"PRIdMAX"] %s", ++ (intmax_t)c.tv_sec, (intmax_t)c.tv_usec/1000, s); + } else + np_logmsg(srv, "%s", s); + } +diff --git a/libnpfs/ctl.c b/libnpfs/ctl.c +index f40cde4..317a22e 100644 +--- a/libnpfs/ctl.c ++++ b/libnpfs/ctl.c +@@ -16,6 +16,7 @@ + #include <stdio.h> + #include <string.h> + #include <stdint.h> ++#include <inttypes.h> + #include <stdarg.h> + #include <pthread.h> + #include <errno.h> +@@ -291,9 +292,9 @@ _ctl_get_date (char *name, void *a) + np_uerror (errno); + goto error; + } +- if (aspf (&s, &len, "%lu.%lu %d.%d\n", +- tv.tv_sec, tv.tv_usec, +- tz.tz_minuteswest, tz.tz_dsttime) < 0) { ++ if (aspf (&s, &len, "%"PRIdMAX".%"PRIdMAX" %d.%d\n", ++ (uintmax_t)tv.tv_sec, (uintmax_t)tv.tv_usec, ++ tz.tz_minuteswest, tz.tz_dsttime) < 0) { + np_uerror (ENOMEM); + goto error; + } +diff --git a/utils/dioddate.c b/utils/dioddate.c +index bde002f..f392792 100644 +--- a/utils/dioddate.c ++++ b/utils/dioddate.c +@@ -21,6 +21,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <stdint.h> ++#include <inttypes.h> + #include <stdarg.h> + #include <stdio.h> + #if HAVE_GETOPT_H +@@ -142,11 +143,16 @@ main (int argc, char *argv[]) + errn (np_rerror (), "error reading date"); + goto done; + } +- if (sscanf (buf, "%lu.%lu %d.%d", &tv.tv_sec, &tv.tv_usec, ++ ++ int64_t sec = 0, usec = 0; ++ if (sscanf (buf, "%"SCNd64".%"SCNd64" %d.%d", &sec, &usec, + &tz.tz_minuteswest, &tz.tz_dsttime) != 4) { + msg ("error scanning returned date: %s", buf); + goto done; + } ++ tv.tv_sec = sec; ++ tv.tv_usec = usec; ++ + if (Sopt) { + if (settimeofday (&tv, &tz) < 0) + err_exit ("settimeofday"); diff --git a/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch b/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch deleted file mode 100644 index 65d6ff6b..00000000 --- a/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 5a9e09dc5de833db11607530351cd87cecbfd17e Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> -Date: Thu, 22 Jun 2017 06:32:30 +0000 -Subject: [PATCH 2/2] auto.diod.in: remove bashisms - -Upstream-Status: Pending - -Signed-off-by: Roy Li <rongqing.li@windriver.com> ---- - scripts/auto.diod.in | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/scripts/auto.diod.in b/scripts/auto.diod.in -index f63e004..4d5fc3a 100755 ---- a/scripts/auto.diod.in -+++ b/scripts/auto.diod.in -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - # - # auto.diod - executable automounter map for diod file systems - # -@@ -41,15 +41,15 @@ dcatopts="${DIOD_TIMEOUT:+-t $DIOD_TIMEOUT}" - for server in $DIOD_SERVERS; do - $DIOD_DIODCAT -s $server $dcatopts exports | awk '{print $1}' |\ - while read path; do -- if [ "$path" == "/" ]; then -- if [ "$key" == "ROOT" ]; then -+ if [ "$path" = "/" ]; then -+ if [ "$key" = "ROOT" ]; then - echo "$prefix $server:$path" - exit 0 - fi -- elif [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//./g')" ] \ -- || [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//_/g')" ] \ -- || [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//-/g')" ] \ -- || [ "$key" == "$(basename $path)" ]; then -+ elif [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//./g')" ] \ -+ || [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//_/g')" ] \ -+ || [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//-/g')" ] \ -+ || [ "$key" = "$(basename $path)" ]; then - echo "$prefix $server:$path" - exit 0 - fi --- -2.11.0 - diff --git a/recipes-extended/fuse-overlayfs/fuse-overlayfs/0001-utils-Add-missing-include-on-limits.h.patch b/recipes-extended/fuse-overlayfs/fuse-overlayfs/0001-utils-Add-missing-include-on-limits.h.patch new file mode 100644 index 00000000..cd504ce5 --- /dev/null +++ b/recipes-extended/fuse-overlayfs/fuse-overlayfs/0001-utils-Add-missing-include-on-limits.h.patch @@ -0,0 +1,36 @@ +From b48e958aaecfdfc3bb48db082a548a09d6487181 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan <andrei.gherzan@huawei.com> +Date: Wed, 13 Jul 2022 12:05:07 +0200 +Subject: [PATCH] utils: Add missing include on limits.h + +This happens to not be an issue with glibc because it gets indirectly +included via dirent.h: + +.. /usr/include/dirent.h +[...] +..... /usr/include/linux/limits.h + +When using the musl libc implementation, that is not the case anymore +and the build fails. + +Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> +Upstream-Status: Submitted [https://github.com/containers/fuse-overlayfs/pull/362] +--- + utils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/utils.h b/utils.h +index 13a177e..6fbc328 100644 +--- a/utils.h ++++ b/utils.h +@@ -32,6 +32,7 @@ + # include <sys/types.h> + # include <fcntl.h> + # include "fuse-overlayfs.h" ++# include <limits.h> + + # define XATTR_OVERRIDE_STAT "user.fuseoverlayfs.override_stat" + # define XATTR_PRIVILEGED_OVERRIDE_STAT "security.fuseoverlayfs.override_stat" +-- +2.25.1 + diff --git a/recipes-extended/fuse-overlayfs/fuse-overlayfs_0.6.4.bb b/recipes-extended/fuse-overlayfs/fuse-overlayfs_1.9.bb index a8bbf0f5..31199928 100644 --- a/recipes-extended/fuse-overlayfs/fuse-overlayfs_0.6.4.bb +++ b/recipes-extended/fuse-overlayfs/fuse-overlayfs_1.9.bb @@ -2,11 +2,14 @@ SUMMARY = "FUSE implementation of overlayfs." DESCRIPTION = "An implementation of overlay+shiftfs in FUSE for rootless \ containers." -LICENSE = "GPLv3+" +LICENSE = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRCREV = "098d9ad79fdbb8538adde08628408aa32a8b4b17" -SRC_URI = "git://github.com/containers/fuse-overlayfs.git;nobranch=1" +SRCREV = "51592ea406f48faeccab288f65dcba6c4a67cd90" +SRC_URI = " \ + git://github.com/containers/fuse-overlayfs.git;nobranch=1;protocol=https \ + file://0001-utils-Add-missing-include-on-limits.h.patch \ +" DEPENDS = "fuse3" diff --git a/recipes-extended/hyperstart/hyperstart/0001-container.c-Fix-compiler-errors-that-gcc-8.1.0-repor.patch b/recipes-extended/hyperstart/hyperstart/0001-container.c-Fix-compiler-errors-that-gcc-8.1.0-repor.patch index 091ce3cf..d48e2647 100644 --- a/recipes-extended/hyperstart/hyperstart/0001-container.c-Fix-compiler-errors-that-gcc-8.1.0-repor.patch +++ b/recipes-extended/hyperstart/hyperstart/0001-container.c-Fix-compiler-errors-that-gcc-8.1.0-repor.patch @@ -46,6 +46,8 @@ container.c:176:4: note: 'sprintf' output 9 or more bytes (assuming 520) into a sprintf(volume, "/%s/_data/%s", path, filevolume); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Jason Wessel <jason.wessel@windriver.com> --- diff --git a/recipes-extended/hyperstart/hyperstart_git.bb b/recipes-extended/hyperstart/hyperstart_git.bb index 1126aa1b..e156cdae 100644 --- a/recipes-extended/hyperstart/hyperstart_git.bb +++ b/recipes-extended/hyperstart/hyperstart_git.bb @@ -1,16 +1,16 @@ SUMMARY = "The tiny Init service for HyperContainer" DESCRIPTION = "The init Task for HyperContainer" -LICENSE = "Apache-2" +LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" inherit autotools-brokensep -SRC_URI = "git://github.com/hyperhq/hyperstart.git" +SRC_URI = "git://github.com/hyperhq/hyperstart.git;branch=master;protocol=https" SRC_URI += "file://0001-container.c-Fix-compiler-errors-that-gcc-8.1.0-repor.patch" SRCREV = "c0c07d218b482dd07f9068b52a6e7468ae4172ac" -PV = "v0.2+git${SRCPV}" +PV = "v0.2+git" S = "${WORKDIR}/git" @@ -23,4 +23,4 @@ do_install() { install -m644 ${S}/build/arch/x86_64/kernel ${D}/var/lib/hyper/ } -FILES_${PN} += "/var/lib/hyper" +FILES:${PN} += "/var/lib/hyper" diff --git a/recipes-extended/images/container-base.bb b/recipes-extended/images/container-base.bb index acce0411..c9dd32d1 100644 --- a/recipes-extended/images/container-base.bb +++ b/recipes-extended/images/container-base.bb @@ -22,7 +22,7 @@ IMAGE_INSTALL = " \ " # If the following is configured in local.conf (or the distro): -# PACKAGE_EXTRA_ARCHS_append = " container-dummy-provides" +# PACKAGE_EXTRA_ARCHS:append = " container-dummy-provides" # # it has been explicitly # indicated that we don't want or need a shell, so we'll # add the dummy provides. diff --git a/recipes-extended/images/kvm-image-minimal.bb b/recipes-extended/images/kvm-image-minimal.bb index b28cc309..c6358e17 100644 --- a/recipes-extended/images/kvm-image-minimal.bb +++ b/recipes-extended/images/kvm-image-minimal.bb @@ -11,6 +11,9 @@ IMAGE_INSTALL = " \ kernel-module-kvm-amd \ " +inherit features_check +REQUIRED_DISTRO_FEATURES ?= "kvm" + IMAGE_FEATURES += "ssh-server-openssh" IMAGE_LINGUAS = " " diff --git a/recipes-extended/images/xen-guest-image-minimal.bb b/recipes-extended/images/xen-guest-image-minimal.bb index 63c7510d..fced7639 100644 --- a/recipes-extended/images/xen-guest-image-minimal.bb +++ b/recipes-extended/images/xen-guest-image-minimal.bb @@ -4,14 +4,18 @@ inherit core-image features_check IMAGE_INSTALL += " \ packagegroup-core-boot \ - ${@bb.utils.contains('MACHINE_FEATURES', 'acpi', 'kernel-module-xen-acpi-processor', '', d)} \ + ${@bb.utils.contains('MACHINE_FEATURES', 'acpi', '${XEN_ACPI_PROCESSOR_MODULE}', '', d)} \ " +XEN_ACPI_PROCESSOR_MODULE = "" +XEN_ACPI_PROCESSOR_MODULE:x86 = "kernel-module-xen-acpi-processor" +XEN_ACPI_PROCESSOR_MODULE:x86-64 = "kernel-module-xen-acpi-processor" + IMAGE_INSTALL += "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-fbdev', '', d)}" # Install xf86-video-vesa on x86 platforms. -IMAGE_INSTALL_append_x86-64 = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-vesa', '', d)}" -IMAGE_INSTALL_append_x86 = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-vesa', '', d)}" +IMAGE_INSTALL:append:x86-64 = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-vesa', '', d)}" +IMAGE_INSTALL:append:x86 = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-vesa', '', d)}" REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' x11', '', d)} xen" diff --git a/recipes-extended/images/xen-image-minimal.bb b/recipes-extended/images/xen-image-minimal.bb index 6733801c..fe79a485 100644 --- a/recipes-extended/images/xen-image-minimal.bb +++ b/recipes-extended/images/xen-image-minimal.bb @@ -5,7 +5,7 @@ INITRD_IMAGE = "core-image-minimal-initramfs" XEN_KERNEL_MODULES ?= "kernel-module-xen-blkback kernel-module-xen-gntalloc \ kernel-module-xen-gntdev kernel-module-xen-netback kernel-module-xen-wdt \ ${@bb.utils.contains('MACHINE_FEATURES', 'pci', "${XEN_PCIBACK_MODULE}", '', d)} \ - ${@bb.utils.contains('MACHINE_FEATURES', 'acpi', 'kernel-module-xen-acpi-processor', '', d)} \ + ${@bb.utils.contains('MACHINE_FEATURES', 'acpi', '${XEN_ACPI_PROCESSOR_MODULE}', '', d)} \ " IMAGE_INSTALL += " \ @@ -14,6 +14,8 @@ IMAGE_INSTALL += " \ ${XEN_KERNEL_MODULES} \ xen-tools \ qemu \ + kernel-image \ + kernel-vmlinux \ " # The hypervisor may not be within the dom0 filesystem image but at least @@ -21,17 +23,26 @@ IMAGE_INSTALL += " \ do_build[depends] += "xen:do_deploy" # Networking for HVM-mode guests (x86/64 only) requires the tun kernel module -IMAGE_INSTALL_append_x86 = "kernel-module-tun" -IMAGE_INSTALL_append_x86-64 = "kernel-module-tun" +IMAGE_INSTALL:append:x86 = " kernel-module-tun" +IMAGE_INSTALL:append:x86-64 = " kernel-module-tun" # Linux kernel option CONFIG_XEN_PCIDEV_BACKEND depends on X86 XEN_PCIBACK_MODULE = "" -XEN_PCIBACK_MODULE_x86 = "kernel-module-xen-pciback" -XEN_PCIBACK_MODULE_x86-64 = "kernel-module-xen-pciback" +XEN_PCIBACK_MODULE:x86 = "kernel-module-xen-pciback" +XEN_PCIBACK_MODULE:x86-64 = "kernel-module-xen-pciback" +XEN_ACPI_PROCESSOR_MODULE = "" +XEN_ACPI_PROCESSOR_MODULE:x86 = "kernel-module-xen-acpi-processor" +XEN_ACPI_PROCESSOR_MODULE:x86-64 = "kernel-module-xen-acpi-processor" LICENSE = "MIT" +QB_NETWORK_XEN_BRIDGE = "1" + inherit core-image +# Only inherit the qemuboot classes when building for a qemu machine +QB_QEMU_CLASSES = "" +QB_QEMU_CLASSES:qemuall = "qemuboot-xen-defaults qemuboot-xen-dtb qemuboot-testimage-network" +inherit ${QB_QEMU_CLASSES} do_check_xen_state() { if [ "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' yes', 'no', d)}" = "no" ]; then @@ -41,27 +52,32 @@ do_check_xen_state() { addtask check_xen_state before do_rootfs -syslinux_iso_populate_append() { +# note: this may be unused, see the wic plugin +syslinux_iso_populate:append() { install -m 0444 ${STAGING_DATADIR}/syslinux/libcom32.c32 ${ISODIR}${ISOLINUXDIR} install -m 0444 ${STAGING_DATADIR}/syslinux/mboot.c32 ${ISODIR}${ISOLINUXDIR} } -syslinux_hddimg_populate_append() { +# note: this may be unused, see the wic plugin +syslinux_hddimg_populate:append() { install -m 0444 ${STAGING_DATADIR}/syslinux/libcom32.c32 ${HDDDIR}${SYSLINUXDIR} install -m 0444 ${STAGING_DATADIR}/syslinux/mboot.c32 ${HDDDIR}${SYSLINUXDIR} } -grubefi_populate_append() { +# note: this may be unused, see the wic plugin +grubefi_populate:append() { install -m 0644 ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz ${DEST}${EFIDIR}/xen.gz } -syslinux_populate_append() { +# note: this may be unused, see the wic plugin +syslinux_populate:append() { install -m 0644 ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz ${DEST}/xen.gz } SYSLINUX_XEN_ARGS ?= "loglvl=all guest_loglvl=all console=com1,vga com1=115200,8n1" SYSLINUX_KERNEL_ARGS ?= "ramdisk_size=32768 root=/dev/ram0 rw console=hvc0 earlyprintk=xen console=tty0 panic=10 LABEL=boot debugshell=5" +# note: this may be unused, see the wic plugin build_syslinux_cfg () { echo "ALLOWOPTIONS 1" > ${SYSLINUX_CFG} echo "DEFAULT boot" >> ${SYSLINUX_CFG} @@ -73,14 +89,19 @@ build_syslinux_cfg () { } # Enable runqemu. eg: runqemu xen-image-minimal nographic slirp -WKS_FILE_x86-64 = "directdisk-xen.wks" +WKS_FILE:x86-64 = "directdisk-xen.wks" +WKS_FILE_DEPENDS_DEFAULT:x86-64 = "syslinux-native" +WKS_FILE:qemux86-64 = "qemuboot-xen-x86-64.wks" +WKS_FILE_DEPENDS_DEFAULT:qemux86-64 = "syslinux-native" QB_MEM ?= "-m 400" QB_DEFAULT_KERNEL ?= "none" QB_DEFAULT_FSTYPE ?= "wic" +QB_DEFAULT_FSTYPE:qemux86-64 = "wic" QB_FSINFO ?= "wic:kernel-in-fs" +QB_SERIAL_OPT = "-serial mon:stdio" # qemux86-64 machine does not include 'wic' in IMAGE_FSTYPES, which is needed # to boot this image, so add it here: -IMAGE_FSTYPES_qemux86-64 += "wic" +IMAGE_FSTYPES:qemux86-64 += "wic" # Networking: the qemuboot.bbclass default virtio network device works ok # and so does the emulated e1000 -- choose according to the network device # drivers that are present in your dom0 Linux kernel. To switch to e1000: diff --git a/recipes-extended/images/xtf-image.bb b/recipes-extended/images/xtf-image.bb index 3f9af259..f9ecea91 100644 --- a/recipes-extended/images/xtf-image.bb +++ b/recipes-extended/images/xtf-image.bb @@ -11,14 +11,24 @@ DESCRIPTION = "A minimal Xen Test Framework (XTF) image for testing the Xen hype # ./xtf-runner --list pv # # run an example test: # ./xtf-runner test-pv64-livepatch-priv-check +# +# This image also supports the OE QA framework, so XTF tests can be +# run from bitbake by adding the following (or similar) to local.conf: +# +# INHERIT += "testimage" +# QEMU_USE_SLIRP = "1" +# TEST_SERVER_IP = "127.0.0.1" +# +# and the tests that are configured (see the xtf-oeqa-conf package) +# can be run with: bitbake -c testimage xtf-image +# +# For testimage, see the qemu boot log: ${WORKDIR}/testimage/qemu_boot_log.* +# and the test log: ${WORKDIR}/temp/log.do_testimage IMAGE_NAME="xtf" -IMAGE_INSTALL_append = " xtf" +IMAGE_INSTALL:append = " xtf" -QB_DEFAULT_FSTYPE = "wic" +DEFAULT_TEST_SUITES:append = " xtf_minimal" -# Set the dom0 memory level lower than that assigned to qemu so that Xen has -# some available memory for allocating to the XTF microkernel guests to run: -QB_MEM = "-m 400" -SYSLINUX_XEN_ARGS_append = " dom0_mem=256M" +QB_DEFAULT_FSTYPE:x86-64 = "wic" diff --git a/recipes-extended/images/xvisor-image-minimal.bb b/recipes-extended/images/xvisor-image-minimal.bb index 4c4a2fc2..7c23de5b 100644 --- a/recipes-extended/images/xvisor-image-minimal.bb +++ b/recipes-extended/images/xvisor-image-minimal.bb @@ -17,4 +17,4 @@ inherit core-image # Enable runqemu. eg: runqemu xvisor-image-minimal nographic slirp QB_DEFAULT_KERNEL = "vmm.bin" -QB_OPT_APPEND_append_riscv64 = " -cpu rv64,x-h=true " +QB_OPT_APPEND:append:riscv64 = " -cpu rv64,x-h=true " diff --git a/recipes-extended/iptables/iptables-meta-virtualization.inc b/recipes-extended/iptables/iptables-meta-virtualization.inc index 8fd521c9..ac3c7843 100644 --- a/recipes-extended/iptables/iptables-meta-virtualization.inc +++ b/recipes-extended/iptables/iptables-meta-virtualization.inc @@ -1,4 +1,4 @@ -RRECOMMENDS_${PN} += "kernel-module-ip6-tables \ +RRECOMMENDS:${PN} += "kernel-module-ip6-tables \ kernel-module-ip-tables \ kernel-module-ip6table-filter \ kernel-module-iptable-filter \ @@ -16,4 +16,5 @@ RRECOMMENDS_${PN} += "kernel-module-ip6-tables \ kernel-module-xt-conntrack \ kernel-module-xt-state \ kernel-module-xt-tcpudp \ + kernel-module-xt-nat \ " diff --git a/recipes-extended/ipxe/files/build-be-explicit-about-fcommon-compiler-directive.patch b/recipes-extended/ipxe/files/build-be-explicit-about-fcommon-compiler-directive.patch index 6fa58580..d4a2c732 100644 --- a/recipes-extended/ipxe/files/build-be-explicit-about-fcommon-compiler-directive.patch +++ b/recipes-extended/ipxe/files/build-be-explicit-about-fcommon-compiler-directive.patch @@ -7,7 +7,7 @@ Subject: [PATCH] [build] Be explicit about -fcommon compiler directive gcc10 switched default behavior from -fcommon to -fno-common. Since "__shared" relies on the legacy behavior, explicitly specify it. -Upstream-Status: backport +Upstream-Status: Backport Signed-off-by: Bruce Rogers <brogers@suse.com> Modified-by: Michael Brown <mcb30@ipxe.org> diff --git a/recipes-extended/ipxe/files/ipxe-fix-hostcc-nopie-cflags.patch b/recipes-extended/ipxe/files/ipxe-fix-hostcc-nopie-cflags.patch index 865e9bbb..9db7b6a1 100644 --- a/recipes-extended/ipxe/files/ipxe-fix-hostcc-nopie-cflags.patch +++ b/recipes-extended/ipxe/files/ipxe-fix-hostcc-nopie-cflags.patch @@ -1,3 +1,5 @@ +Upstream-Status: Inappropriate [embedded specific] + diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 1dd1479..13f44dd 100644 --- a/Makefile.housekeeping diff --git a/recipes-extended/ipxe/files/ipxe-golan-Add-explicit-type-casts-for-nodnic_queue_pair_.patch b/recipes-extended/ipxe/files/ipxe-golan-Add-explicit-type-casts-for-nodnic_queue_pair_.patch index 62e8e9df..8a78e7af 100644 --- a/recipes-extended/ipxe/files/ipxe-golan-Add-explicit-type-casts-for-nodnic_queue_pair_.patch +++ b/recipes-extended/ipxe/files/ipxe-golan-Add-explicit-type-casts-for-nodnic_queue_pair_.patch @@ -9,6 +9,8 @@ The flexboot_nodnic code defines nodnic_queue_pair_type with values identical to those of ib_queue_pair_type, and implicitly casts between them. Add an explicit cast to fix the warning. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Michael Brown <mcb30@ipxe.org> --- src/drivers/infiniband/flexboot_nodnic.c | 6 ++++-- diff --git a/recipes-extended/ipxe/files/ipxe-intel-Avoid-spurious-compiler-warning-on-GCC-10.patch b/recipes-extended/ipxe/files/ipxe-intel-Avoid-spurious-compiler-warning-on-GCC-10.patch index e424d220..c76fe1ce 100644 --- a/recipes-extended/ipxe/files/ipxe-intel-Avoid-spurious-compiler-warning-on-GCC-10.patch +++ b/recipes-extended/ipxe/files/ipxe-intel-Avoid-spurious-compiler-warning-on-GCC-10.patch @@ -8,6 +8,8 @@ for the unsized raw dword array in union intelvf_msg. Avoid the warning by embedding the zero-length array within a struct. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Michael Brown <mcb30@ipxe.org> --- src/drivers/net/intelvf.c | 18 ++++++++++-------- diff --git a/recipes-extended/ipxe/ipxe_git.bb b/recipes-extended/ipxe/ipxe_git.bb index 43c8f0ed..08ed519a 100644 --- a/recipes-extended/ipxe/ipxe_git.bb +++ b/recipes-extended/ipxe/ipxe_git.bb @@ -1,34 +1,35 @@ DESCRIPTION = "Open source network boot firmware" HOMEPAGE = "http://ipxe.org" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" DEPENDS = "binutils-native perl-native syslinux mtools-native cdrtools-native xz" LIC_FILES_CHKSUM = "file://../COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263" # syslinux has this restriction -COMPATIBLE_HOST_class-target = '(x86_64|i.86).*-(linux|freebsd.*)' +COMPATIBLE_HOST:class-target = '(x86_64|i.86).*-(linux|freebsd.*)' SRCREV = "18dc73d27edb55ebe9cb13c58d59af3da3bd374b" -PV = "gitr${SRCPV}" +PV = "1.20.1+git" PR = "r0" -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI = " \ - git://github.com/ipxe/ipxe.git;protocol=https \ + git://github.com/ipxe/ipxe.git;protocol=https;branch=master \ file://ipxe-fix-hostcc-nopie-cflags.patch \ file://ipxe-intel-Avoid-spurious-compiler-warning-on-GCC-10.patch \ file://ipxe-golan-Add-explicit-type-casts-for-nodnic_queue_pair_.patch \ file://build-be-explicit-about-fcommon-compiler-directive.patch \ " -FILES_${PN} = "/usr/share/firmware/*.rom" +FILES:${PN} = "/usr/share/firmware/*.rom" -EXTRA_OEMAKE = " \ +EXTRA_OEMAKE = ' \ ISOLINUX_BIN="${STAGING_DIR_TARGET}/usr/share/syslinux/isolinux.bin" \ CROSS_COMPILE="${TARGET_PREFIX}" \ EXTRA_HOST_CFLAGS="${BUILD_CFLAGS}" \ EXTRA_HOST_LDFLAGS="${BUILD_LDFLAGS}" \ -" + NO_WERROR="1" \ +' S = "${WORKDIR}/git/src" @@ -43,3 +44,5 @@ do_install() { install -d ${D}/usr/share/firmware install ${S}/bin/*.rom ${D}/usr/share/firmware/ } + +TOOLCHAIN = "gcc" diff --git a/recipes-extended/irqbalance/irqbalance.inc b/recipes-extended/irqbalance/irqbalance.inc index 53275d12..038cbae3 100644 --- a/recipes-extended/irqbalance/irqbalance.inc +++ b/recipes-extended/irqbalance/irqbalance.inc @@ -8,7 +8,7 @@ which can lead to better performance and IO balance on SMP systems." HOMEPAGE = "http://code.google.com/p/irqbalance/" BUGTRACKER = "http://code.google.com/p/irqbalance/issues/list" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://irqbalance.c;beginline=6;endline=8;md5=b94e153694672307b503b1bc87dc9e24 \ " @@ -21,7 +21,7 @@ INITSCRIPT_PARAMS = "defaults" inherit autotools update-rc.d pkgconfig systemd SYSTEMD_PACKAGES = "irqbalance" -SYSTEMD_SERVICE_irqbalance = "irqbalanced.service" +SYSTEMD_SERVICE:irqbalance = "irqbalanced.service" EXTRA_OECONF = "--program-transform-name= \ " @@ -42,6 +42,5 @@ do_install () { chmod 755 ${D}${sysconfdir}/init.d/irqbalanced install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/irqbalanced.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/irqbalanced.service + install -m 0644 ${S}/misc/irqbalance.service ${D}${systemd_unitdir}/system/irqbalanced.service } diff --git a/recipes-extended/irqbalance/irqbalance/add-initscript.patch b/recipes-extended/irqbalance/irqbalance/add-initscript.patch index b0e608e6..91a79d7e 100644 --- a/recipes-extended/irqbalance/irqbalance/add-initscript.patch +++ b/recipes-extended/irqbalance/irqbalance/add-initscript.patch @@ -6,6 +6,8 @@ Subject: [PATCH] irqbalance: add basic init script The upstream irqbalance release package does not contain an init script so we create a basic one here. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> --- diff --git a/recipes-extended/irqbalance/irqbalance/irqbalance-Add-status-and-reload-commands.patch b/recipes-extended/irqbalance/irqbalance/irqbalance-Add-status-and-reload-commands.patch index ec01448f..8591f34c 100644 --- a/recipes-extended/irqbalance/irqbalance/irqbalance-Add-status-and-reload-commands.patch +++ b/recipes-extended/irqbalance/irqbalance/irqbalance-Add-status-and-reload-commands.patch @@ -5,6 +5,8 @@ Subject: [PATCH] irqbalance: Add status and reload commands Add status and reload commands for irqbalanced init script +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Yang Shi <yang.shi@windriver.com> --- diff --git a/recipes-extended/irqbalance/irqbalance/irqbalanced.service b/recipes-extended/irqbalance/irqbalance/irqbalanced.service deleted file mode 100644 index 5b284faa..00000000 --- a/recipes-extended/irqbalance/irqbalance/irqbalanced.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=irqbalance daemon -After=syslog.target - -[Service] -ExecStart=@SBINDIR@/irqbalance --foreground - -[Install] -WantedBy=multi-user.target diff --git a/recipes-extended/irqbalance/irqbalance_git.bb b/recipes-extended/irqbalance/irqbalance_git.bb index 1a96c169..aa7f0de9 100644 --- a/recipes-extended/irqbalance/irqbalance_git.bb +++ b/recipes-extended/irqbalance/irqbalance_git.bb @@ -4,15 +4,14 @@ require irqbalance.inc -# commit tagged as version 1.7.0 -# -SRCREV = "641edc6f5d56f1b3eb8be0fa8a8e9b6a22e53218" -PV = "1.7.0" +SRCREV = "b3adb5fd1496833e4e2cebc958d3919178cd5e3d" +PV = "1.8.0+git" -SRC_URI = "git://github.com/Irqbalance/irqbalance \ +SRC_URI = "git://github.com/Irqbalance/irqbalance;branch=master;protocol=https \ file://add-initscript.patch \ file://irqbalance-Add-status-and-reload-commands.patch \ - file://irqbalanced.service \ " S = "${WORKDIR}/git" + +CFLAGS += "-Wno-error=format-security" diff --git a/recipes-extended/kvmtool/files/0001-kvmtool-9p-fixed-compilation-error.patch b/recipes-extended/kvmtool/files/0001-kvmtool-9p-fixed-compilation-error.patch index 4582285b..36cde0d4 100644 --- a/recipes-extended/kvmtool/files/0001-kvmtool-9p-fixed-compilation-error.patch +++ b/recipes-extended/kvmtool/files/0001-kvmtool-9p-fixed-compilation-error.patch @@ -1,10 +1,12 @@ -From 6b864b05b7aea74f375502250e99f54564cfe829 Mon Sep 17 00:00:00 2001 +From e04b44c12402494ef5619205bfff03dab3e3d9cb Mon Sep 17 00:00:00 2001 From: Dariusz Pelowski <dariusz.pelowski@gmail.com> Date: Sun, 5 Nov 2017 12:39:52 +0100 Subject: [PATCH] kvmtool: 9p: fixed compilation error makedev is defined in sys/sysmacros.h +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com> --- diff --git a/recipes-extended/kvmtool/files/0002-kvmtool-add-EXTRA_CFLAGS-variable.patch b/recipes-extended/kvmtool/files/0002-kvmtool-add-EXTRA_CFLAGS-variable.patch index dbb2bebe..248d6cc0 100644 --- a/recipes-extended/kvmtool/files/0002-kvmtool-add-EXTRA_CFLAGS-variable.patch +++ b/recipes-extended/kvmtool/files/0002-kvmtool-add-EXTRA_CFLAGS-variable.patch @@ -1,4 +1,4 @@ -From 80eb205fd165072724a6e6db1dff8ab0bf2aa667 Mon Sep 17 00:00:00 2001 +From a1c255983169e094c18d82131939b2b66e581000 Mon Sep 17 00:00:00 2001 From: Dariusz Pelowski <dariusz.pelowski@gmail.com> Date: Sun, 5 Nov 2017 12:39:21 +0100 Subject: [PATCH] kvmtool: add EXTRA_CFLAGS variable @@ -6,16 +6,18 @@ Subject: [PATCH] kvmtool: add EXTRA_CFLAGS variable to avoid CFLAGS overriding introduce new EXTRA_CFLAGS variable for setting via command argument +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com> --- Makefile | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/Makefile b/Makefile -index 3787df2..ece3d2a 100644 ---- a/Makefile -+++ b/Makefile +Index: git/Makefile +=================================================================== +--- git.orig/Makefile ++++ git/Makefile @@ -2,6 +2,8 @@ # Define WERROR=0 to disable -Werror. # @@ -23,5 +25,5 @@ index 3787df2..ece3d2a 100644 +CFLAGS += $(EXTRA_CFLAGS) + ifeq ($(strip $(V)),) - ifeq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),) + ifeq ($(findstring s,$(filter-out --%,$(firstword $(MAKEFLAGS)))),) E = @echo diff --git a/recipes-extended/kvmtool/files/0003-kvmtool-Werror-disabled.patch b/recipes-extended/kvmtool/files/0003-kvmtool-Werror-disabled.patch index 7b1b7f6f..fbde7cd4 100644 --- a/recipes-extended/kvmtool/files/0003-kvmtool-Werror-disabled.patch +++ b/recipes-extended/kvmtool/files/0003-kvmtool-Werror-disabled.patch @@ -1,23 +1,25 @@ -From 532043e6937b78b12d89d0c6001f0e1853143247 Mon Sep 17 00:00:00 2001 +From 459ebaebf368869ae26eb8031ff44a789e238988 Mon Sep 17 00:00:00 2001 From: Cevat Bostancioglu <bostancioglucevat@gmail.com> Date: Wed, 19 Jun 2019 20:36:56 +0300 Subject: [PATCH] WERROR override disabled. WERROR override causes gcc sizeof-pointer-memaccess, format-truncation errors. +Upstream-Status: Inappropriate [embedded specific] + --- Makefile | 1 + 1 file changed, 1 insertion(+) -diff --git a/Makefile b/Makefile -index ece3d2a..da6c1f0 100644 ---- a/Makefile -+++ b/Makefile +Index: git/Makefile +=================================================================== +--- git.orig/Makefile ++++ git/Makefile @@ -4,6 +4,7 @@ CFLAGS += $(EXTRA_CFLAGS) +WERROR = 0 ifeq ($(strip $(V)),) - ifeq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),) + ifeq ($(findstring s,$(filter-out --%,$(firstword $(MAKEFLAGS)))),) E = @echo diff --git a/recipes-extended/kvmtool/files/external-crosscompiler.patch b/recipes-extended/kvmtool/files/external-crosscompiler.patch index ab030c73..e27ee34b 100644 --- a/recipes-extended/kvmtool/files/external-crosscompiler.patch +++ b/recipes-extended/kvmtool/files/external-crosscompiler.patch @@ -1,4 +1,4 @@ -From b89ba4256cb6074aee74ea5386bc5ca8e75d4653 Mon Sep 17 00:00:00 2001 +From 91b7123682c67ec8b0c50147c9ebd59efa563f26 Mon Sep 17 00:00:00 2001 From: Stefan Agner <stefan@agner.ch> Date: Tue, 6 Sep 2016 11:51:40 -0700 Subject: [PATCH] kvmtool: add lightweight hypervisor native Linux KVM tool @@ -13,13 +13,13 @@ be linked against the cross-compiled libfdt library. Makefile | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) -diff --git a/Makefile b/Makefile -index 35bb118..3787df2 100644 ---- a/Makefile -+++ b/Makefile -@@ -18,12 +18,6 @@ export E Q - include config/utilities.mak +Index: git/Makefile +=================================================================== +--- git.orig/Makefile ++++ git/Makefile +@@ -19,12 +19,6 @@ include config/feature-tests.mak + -include $(OUTPUT)KVMTOOLS-VERSION-FILE -CC := $(CROSS_COMPILE)gcc -CFLAGS := @@ -30,12 +30,12 @@ index 35bb118..3787df2 100644 FIND := find CSCOPE := cscope TAGS := ctags -@@ -319,7 +313,7 @@ $(warning No static libc found. Skipping guest init) - endif - - ifeq (y,$(ARCH_WANT_LIBFDT)) -- ifneq ($(call try-build,$(SOURCE_LIBFDT),$(CFLAGS),-lfdt),y) -+ ifneq ($(call try-build,$(SOURCE_LIBFDT),$(CPPFLAGS) $(CFLAGS),-lfdt),y) - $(error No libfdt found. Please install libfdt-dev package) - else +@@ -367,7 +361,7 @@ + CFLAGS_DYNOPT += -DCONFIG_HAS_LIBFDT + CFLAGS_STATOPT += -DCONFIG_HAS_LIBFDT + CFLAGS += -I $(LIBFDT_DIR) +- else ifeq ($(call try-build,$(SOURCE_LIBFDT),$(CFLAGS),-lfdt),y) ++ else ifeq ($(call try-build,$(SOURCE_LIBFDT),$(CPPFLAGS) $(CFLAGS),-lfdt),y) + LIBFDT_STATIC := CFLAGS_DYNOPT += -DCONFIG_HAS_LIBFDT + CFLAGS_STATOPT += -DCONFIG_HAS_LIBFDT diff --git a/recipes-extended/kvmtool/kvmtool.bb b/recipes-extended/kvmtool/kvmtool_git.bb index 822d97b9..141fb02d 100644 --- a/recipes-extended/kvmtool/kvmtool.bb +++ b/recipes-extended/kvmtool/kvmtool_git.bb @@ -1,7 +1,7 @@ SUMMARY = "Native Linux KVM tool" DESCRIPTION = "kvmtool is a lightweight tool for hosting KVM guests." -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" DEPENDS = "dtc libaio zlib" @@ -9,15 +9,15 @@ do_configure[depends] += "virtual/kernel:do_shared_workdir" inherit kernel-arch -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git \ +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git;branch=master \ file://external-crosscompiler.patch \ file://0001-kvmtool-9p-fixed-compilation-error.patch \ file://0002-kvmtool-add-EXTRA_CFLAGS-variable.patch \ file://0003-kvmtool-Werror-disabled.patch \ " -SRCREV = "90b2d3adadf218dfc6bdfdfcefe269843360223c" -PV = "5.10.0+git${SRCPV}" +SRCREV = "4d2c017f41533b0e51e00f689050c26190a15318" +PV = "5.10.0+git" S = "${WORKDIR}/git" diff --git a/recipes-extended/libibverbs/libibverbs_1.2.1.bb b/recipes-extended/libibverbs/libibverbs_1.2.1.bb index fa7eee62..048b6b65 100644 --- a/recipes-extended/libibverbs/libibverbs_1.2.1.bb +++ b/recipes-extended/libibverbs/libibverbs_1.2.1.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Libibverbs is a library that allows userspace processes to use In HOMEPAGE = "http://www.openfabrics.org/downloads/verbs/" SECTION = "libs/devel" -LICENSE = "BSD" +LICENSE = "GPL-2.0-only | BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=7c557f27dd795ba77cc419dddc656b51" # Official repo is at git://git.kernel.org/pub/scm/libs/infiniband/libibverbs.git @@ -16,19 +16,19 @@ inherit autotools DEPENDS = "libnl pkgconfig-native" PACKAGES += "${PN}-utils" -FILES_${PN} = "${sysconfdir} ${libdir}/*.so.*" -FILES_${PN}-utils = "${bindir}" +FILES:${PN} = "${sysconfdir} ${libdir}/*.so.*" +FILES:${PN}-utils = "${bindir}" PACKAGECONFIG ??= "" PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind," -do_install_append() { +do_install:append() { mkdir -p ${D}${sysconfdir}/libibverbs.d rm -f ${D}${libdir}/libibverbs.la } PROVIDES = "virtual/libibverbs" -RPROVIDES_${PN} = "virtual/libibverbs" +RPROVIDES:${PN} = "virtual-libibverbs" -COMPATIBLE_HOST_mipsarch = "none" -COMPATIBLE_HOST_arm = "none" +COMPATIBLE_HOST:mipsarch = "none" +COMPATIBLE_HOST:arm = "none" diff --git a/recipes-extended/libvirt/libvirt-dbus_1.4.1.bb b/recipes-extended/libvirt/libvirt-dbus_1.4.1.bb new file mode 100644 index 00000000..3f6da334 --- /dev/null +++ b/recipes-extended/libvirt/libvirt-dbus_1.4.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "dBus wrapper for libvirt" +DESCRIPTION = "libvirt-dbus wraps libvirt API to provide a high-level object-oriented API better suited for dbus-based applications." +AUTHOR = "Lars Karlitski <lars@karlitski.net> Pavel Hrdina <phrdina@redhat.com> Katerina Koukiou <kkoukiou@redhat.com>" +HOMEPAGE = "https://www.libvirt.org/dbus.html" +BUGTRACKER = "https://gitlab.com/libvirt/libvirt-dbus/-/issues" +SECTION = "libs" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" +CVE_PRODUCT = "libvirt-dbus" + +DEPENDS += "glib-2.0 libvirt libvirt-glib python3-docutils-native" + +SRC_URI = "git://gitlab.com/libvirt/libvirt-dbus.git;nobranch=1;protocol=https" + +SRCREV = "0c355bb8921d7cbccf93f41a8615fcd973e64f70" +S = "${WORKDIR}/git" + +inherit meson pkgconfig + +FILES:${PN} += "\ + ${datadir}/dbus-1/* \ + ${datadir}/polkit-1/* \ +" diff --git a/recipes-extended/libvirt/libvirt-glib/0001-meson.build-allow-crosscompiling-gir-and-doc.patch b/recipes-extended/libvirt/libvirt-glib/0001-meson.build-allow-crosscompiling-gir-and-doc.patch new file mode 100644 index 00000000..cd17bbbf --- /dev/null +++ b/recipes-extended/libvirt/libvirt-glib/0001-meson.build-allow-crosscompiling-gir-and-doc.patch @@ -0,0 +1,37 @@ +From 019d727990d41b5d7911895b75bcb021e4cca3c6 Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Mon, 21 Aug 2023 10:23:08 +0200 +Subject: [PATCH] meson.build: allow crosscompiling gir and doc + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 134feb6..a089f42 100644 +--- a/meson.build ++++ b/meson.build +@@ -58,7 +58,7 @@ includedir = join_paths(prefix, get_option('includedir')) + + # gobject introspection + gir = find_program('g-ir-scanner', required: get_option('introspection')) +-enable_introspection = gir.found() and not meson.is_cross_build() ++enable_introspection = gir.found() + + # vala + vapi_opt = get_option('vapi') +@@ -73,7 +73,7 @@ endif + # gtk-doc + if not get_option('docs').disabled() + gtk_doc = find_program('gtkdoc-scan', required: get_option('docs')) +- enable_doc = gtk_doc.found() and not meson.is_cross_build() ++ enable_doc = gtk_doc.found() + else + enable_doc = false + endif +-- +2.41.0 + diff --git a/recipes-extended/libvirt/libvirt-glib_5.0.0.bb b/recipes-extended/libvirt/libvirt-glib_5.0.0.bb new file mode 100644 index 00000000..4435ca0b --- /dev/null +++ b/recipes-extended/libvirt/libvirt-glib_5.0.0.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "A toolkit to interact with the virtualization capabilities of recent versions of Linux." +HOMEPAGE = "http://libvirt.org" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0 libvirt libxml2 libxslt" + +SRC_URI = " \ + git://gitlab.com/libvirt/libvirt-glib;protocol=https;branch=master \ + file://0001-meson.build-allow-crosscompiling-gir-and-doc.patch \ +" + +SRCREV = "9b26bec8828a38fcb3bc0e5f6f33b03fa99c4b68" +S = "${WORKDIR}/git" + +inherit meson pkgconfig gobject-introspection gettext vala gtk-doc + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_ENABLE_FLAG = 'enabled' +GTKDOC_MESON_DISABLE_FLAG = 'disabled' diff --git a/recipes-extended/libvirt/libvirt-python.inc b/recipes-extended/libvirt/libvirt-python.inc index 0c661af8..6fb2b68c 100644 --- a/recipes-extended/libvirt/libvirt-python.inc +++ b/recipes-extended/libvirt/libvirt-python.inc @@ -5,20 +5,22 @@ export STAGING_LIBDIR export BUILD_SYS export HOST_SYS -RDEPENDS_${PN}-python += "python3" +RDEPENDS:${PN}-python += "python3" PACKAGECONFIG_${PN}-python[xen] = ",,,xen-python" PACKAGES += "${PN}-python-staticdev ${PN}-python-dev ${PN}-python-dbg ${PN}-python" -FILES_${PN}-python-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" -FILES_${PN}-python-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" -FILES_${PN}-python-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/" -FILES_${PN}-python = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" +FILES:${PN}-python-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES:${PN}-python-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" +FILES:${PN}-python-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/" +FILES:${PN}-python = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" + +# Currently the libvirt-python debug libraries contain buildpaths +INSANE_SKIP:${PN}-dbg += "buildpaths" SRC_URI += "http://libvirt.org/sources/python/libvirt-python-${PV}.tar.gz;name=libvirt_python" -SRC_URI[libvirt_python.md5sum] = "19bf22414a43d358581b9259b52047a7" -SRC_URI[libvirt_python.sha256sum] = "c0c3bac54c55622e17927b09cd9843869600d71842fb072c99491fe2608dcee7" +SRC_URI[libvirt_python.sha256sum] = "a82588f0e7db53eda7b7dbcbc448b0ec43e00a8c77cac69644495299b410c20d" export LIBVIRT_API_PATH = "${S}/docs/libvirt-api.xml" export LIBVIRT_CFLAGS = "-I${S}/include" @@ -38,7 +40,7 @@ python __anonymous () { d.setVar('LIBVIRT_PYTHON_ENABLE', '0') } -do_compile_append() { +do_compile:append() { if [ "${LIBVIRT_PYTHON_ENABLE}" = "1" ]; then # we need the python bindings to look into our source dir, not # the syroot staged pkgconfig entries. So we clear the sysroot @@ -49,7 +51,7 @@ do_compile_append() { fi } -do_install_append() { +do_install:append() { if [ "${LIBVIRT_PYTHON_ENABLE}" = "1" ]; then # we need the python bindings to look into our source dir, not # the syroot staged pkgconfig entries. So we clear the sysroot diff --git a/recipes-extended/libvirt/libvirt/0001-messon.build-remove-build-path-information-to-avoid-.patch b/recipes-extended/libvirt/libvirt/0001-messon.build-remove-build-path-information-to-avoid-.patch new file mode 100644 index 00000000..d9bcef0b --- /dev/null +++ b/recipes-extended/libvirt/libvirt/0001-messon.build-remove-build-path-information-to-avoid-.patch @@ -0,0 +1,55 @@ +From 9660b76325c841a5f5c7d5b2fb439a1fd64105c9 Mon Sep 17 00:00:00 2001 +From: Xiangyu Chen <xiangyu.chen@windriver.com> +Date: Thu, 19 Jan 2023 17:07:37 +0800 +Subject: [PATCH] messon.build: remove build path information to avoid yocto QA + buildpath check warnings + +libvirt debug trace contains source path, and some utils was located to +yocto sysroot folder, those full source path cause yocto QA buildpath check failed and report warnings as below: + +WARNING: libvirt-8.1.0-r0 do_package_qa: QA Issue: File /usr/libexec/libvirt_lxc in package libvirt contains reference to TMPDIR +File /usr/lib64/libvirt.so.0.8001.0 in package libvirt contains reference to TMPDIR +File /usr/lib64/libvirt/lock-driver/lockd.so in package libvirt contains reference to TMPDIR +File /usr/lib64/libvirt/connection-driver/libvirt_driver_lxc.so in package libvirt contains reference to TMPDIR +File /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so in package libvirt contains reference to TMPDIR +File /usr/lib64/libvirt/connection-driver/libvirt_driver_network.so in package libvirt contains reference to TMPDIR +File /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_fs.so in package libvirt contains reference to TMPDIR +File /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_disk.so in package libvirt contains reference to TMPDIR +File /usr/bin/virt-ssh-helper in package libvirt contains reference to TMPDIR [buildpaths] + + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> +--- + meson.build | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +Index: libvirt-9.2.0/meson.build +=================================================================== +--- libvirt-9.2.0.orig/meson.build ++++ libvirt-9.2.0/meson.build +@@ -26,8 +26,8 @@ + conf = configuration_data() + + conf.set('_GNU_SOURCE', 1) +-conf.set_quoted('abs_top_builddir', meson.project_build_root()) +-conf.set_quoted('abs_top_srcdir', meson.project_source_root()) ++conf.set_quoted('abs_top_builddir', ' ') ++conf.set_quoted('abs_top_srcdir', ' ') + conf.set_quoted('PACKAGE', meson.project_name()) + conf.set_quoted('PACKAGE_NAME', meson.project_name()) + conf.set_quoted('PACKAGE_VERSION', meson.project_version()) +@@ -1770,9 +1770,9 @@ + use_storage = true + + conf.set('WITH_STORAGE_FS', 1) +- conf.set_quoted('MOUNT', mount_prog.full_path()) +- conf.set_quoted('UMOUNT', umount_prog.full_path()) +- conf.set_quoted('MKFS', mkfs_prog.full_path()) ++ conf.set_quoted('MOUNT', '/usr/bin/mount') ++ conf.set_quoted('UMOUNT', '/usr/bin/umount') ++ conf.set_quoted('MKFS', '/usr/sbin/mkfs') + + showmount_prog = find_program('showmount', required: false, dirs: libvirt_sbin_path) + showmount_path = '' diff --git a/recipes-extended/libvirt/libvirt/0001-prevent-gendispatch.pl-generating-build-path-in-code.patch b/recipes-extended/libvirt/libvirt/0001-prevent-gendispatch.pl-generating-build-path-in-code.patch new file mode 100644 index 00000000..defbd7ee --- /dev/null +++ b/recipes-extended/libvirt/libvirt/0001-prevent-gendispatch.pl-generating-build-path-in-code.patch @@ -0,0 +1,43 @@ +From ba915b13b92f3a625633ede43789c1ba780371af Mon Sep 17 00:00:00 2001 +From: Xiangyu Chen <xiangyu.chen@windriver.com> +Date: Wed, 18 Jan 2023 03:19:07 +0000 +Subject: [PATCH] prevent gendispatch.pl generating build path in code comments + +gendispatch.pl will add build dir in code comments which was generated +by itself. those build dir information would cause yocto qa report +warnings like: + +WARNING: libvirt-8.1.0-r0 do_package_qa: +QA Issue: File /usr/src/debug/libvirt/8.1.0-r0/src/access/viraccessapicheckqemu.h in package libvirt-src contains reference to TMPDIR +File /usr/src/debug/libvirt/8.1.0-r0/src/access/viraccessapichecklxc.h in package libvirt-src contains reference to TMPDIR +File /usr/src/debug/libvirt/8.1.0-r0/src/access/viraccessapicheckqemu.c in package libvirt-src contains reference to TMPDIR +File /usr/src/debug/libvirt/8.1.0-r0/src/access/viraccessapichecklxc.c in package libvirt-src contains reference to TMPDIR +File /usr/src/debug/libvirt/8.1.0-r0/src/access/viraccessapicheck.h in package libvirt-src contains reference to TMPDIR +File /usr/src/debug/libvirt/8.1.0-r0/src/access/viraccessapicheck.c in package libvirt-src contains reference to TMPDIR [buildpaths] + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> +--- + src/rpc/gendispatch.pl | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Index: libvirt-9.2.0/src/rpc/gendispatch.pl +=================================================================== +--- libvirt-9.2.0.orig/src/rpc/gendispatch.pl ++++ libvirt-9.2.0/src/rpc/gendispatch.pl +@@ -449,12 +449,12 @@ + + if ($mode eq "aclsym") { + print <<__EOF__; +-# Automatically generated from $protocol by gendispatch.pl. ++# Automatically generated by gendispatch.pl. + # Do not edit this file. Any changes you make will be lost. + __EOF__ + } else { + print <<__EOF__; +-/* Automatically generated from $protocol by gendispatch.pl. ++/* Automatically generated by gendispatch.pl. + * Do not edit this file. Any changes you make will be lost. + */ + __EOF__ diff --git a/recipes-extended/libvirt/libvirt/0001-ptest-Remove-Windows-1252-check-from-esxutilstest.patch b/recipes-extended/libvirt/libvirt/0001-ptest-Remove-Windows-1252-check-from-esxutilstest.patch index abb0b1af..cabc4cb6 100644 --- a/recipes-extended/libvirt/libvirt/0001-ptest-Remove-Windows-1252-check-from-esxutilstest.patch +++ b/recipes-extended/libvirt/libvirt/0001-ptest-Remove-Windows-1252-check-from-esxutilstest.patch @@ -6,6 +6,8 @@ Subject: [PATCH] ptest: Remove Windows-1252 check from esxutilstest Currently we use iconv from glibc-locale and it does not support Windows-1252 and we don't need support windows character encoding. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: He Zhe <zhe.he@windriver.com> --- diff --git a/recipes-extended/libvirt/libvirt_7.2.0.bb b/recipes-extended/libvirt/libvirt_10.0.0.bb index 24748efa..6b19b700 100644 --- a/recipes-extended/libvirt/libvirt_7.2.0.bb +++ b/recipes-extended/libvirt/libvirt_10.0.0.bb @@ -1,6 +1,6 @@ DESCRIPTION = "A toolkit to interact with the virtualization capabilities of recent versions of Linux." HOMEPAGE = "http://libvirt.org" -LICENSE = "LGPLv2.1+ & GPLv2+" +LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LESSER;md5=4b54a1fd55a448865a0b32d41598759d" SECTION = "console/tools" @@ -13,14 +13,16 @@ DEPENDS = "bridge-utils gnutls libxml2 lvm2 avahi parted curl libpcap util-linux # libvirt-guests.sh needs gettext.sh # -RDEPENDS_${PN} = "gettext-runtime" +RDEPENDS:${PN} = "gettext-runtime" -RDEPENDS_libvirt-libvirtd += "bridge-utils iptables pm-utils dnsmasq netcat-openbsd ebtables" -RDEPENDS_libvirt-libvirtd_append_x86-64 = " dmidecode" -RDEPENDS_libvirt-libvirtd_append_x86 = " dmidecode" +RDEPENDS:libvirt-libvirtd += "bridge-utils iptables pm-utils dnsmasq netcat-openbsd ebtables" +RDEPENDS:libvirt-libvirtd:append:x86-64 = " dmidecode" +RDEPENDS:libvirt-libvirtd:append:x86 = " dmidecode" +RDEPENDS:libvirt-libvirtd:append:arm = " dmidecode" +RDEPENDS:libvirt-libvirtd:append:aarch64 = " dmidecode" #connman blocks the 53 port and libvirtd can't start its DNS service -RCONFLICTS_${PN}_libvirtd = "connman" +RCONFLICTS:${PN}_libvirtd = "connman" SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.xz;name=libvirt \ file://libvirtd.sh \ @@ -28,19 +30,20 @@ SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.xz;name=libvirt \ file://dnsmasq.conf \ file://hook_support.py \ file://gnutls-helper.py \ + file://0001-prevent-gendispatch.pl-generating-build-path-in-code.patch \ + file://0001-messon.build-remove-build-path-information-to-avoid-.patch \ " -SRC_URI[libvirt.md5sum] = "92044b629216e44adce63224970a54a3" -SRC_URI[libvirt.sha256sum] = "01f459d0c7ba5009622a628dba1a026200e8f4a299fea783b936a71d7e0ed1d0" +SRC_URI[libvirt.sha256sum] = "8ba2e72ec8bdd2418554a1474c42c35704c30174b7611eaf9a16544b71bcf00a" inherit meson gettext update-rc.d pkgconfig systemd useradd perlnative USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "-r qemu; -r kvm" -USERADD_PARAM_${PN} = "-r -g qemu -G kvm qemu" +GROUPADD_PARAM:${PN} = "-r qemu; -r kvm" +USERADD_PARAM:${PN} = "-r -g qemu -G kvm qemu" EXTRA_OEMESON += "--cross-file ${WORKDIR}/meson-${PN}.cross" -do_write_config_append() { +do_write_config:append() { cat >${WORKDIR}/meson-${PN}.cross <<EOF [binaries] iptables = '/usr/sbin/iptables' @@ -51,58 +54,60 @@ dnsmasq = '/usr/bin/dnsmasq' EOF } -ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY:${PN} = "1" +INSANE_SKIP:${PN} += "empty-dirs" PACKAGES =+ "${PN}-libvirtd ${PN}-virsh" -ALLOW_EMPTY_${PN}-libvirtd = "1" +ALLOW_EMPTY:${PN}-libvirtd = "1" -FILES_${PN}-libvirtd = " \ +FILES:${PN}-libvirtd = " \ ${sysconfdir}/init.d \ ${sysconfdir}/sysctl.d \ ${sysconfdir}/logrotate.d \ ${sysconfdir}/libvirt/libvirtd.conf \ /usr/lib/sysctl.d/60-libvirtd.conf \ + /usr/lib/sysctl.d/60-qemu-postcopy-migration.conf \ ${sbindir}/libvirtd \ - ${systemd_unitdir}/system/* \ + ${systemd_system_unitdir} \ ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '', '${libexecdir}/libvirt-guests.sh', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'gnutls', '${sysconfdir}/pki/libvirt/* ${sysconfdir}/pki/CA/*', '', d)} \ " -FILES_${PN}-virsh = " \ +FILES:${PN}-virsh = " \ ${bindir}/virsh \ ${datadir}/bash-completion/completions/virsh \ " -FILES_${PN} += "${libdir}/libvirt/connection-driver \ +FILES:${PN} += "${libdir}/libvirt/connection-driver \ ${datadir}/augeas \ ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${datadir}/polkit-1', '', d)} \ ${datadir}/bash-completion/completions/vsh \ ${datadir}/bash-completion/completions/virt-admin \ - /usr/lib/firewalld/zones/libvirt.xml \ + /usr/lib/firewalld/ \ " -FILES_${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug ${libdir}/libvirt/lock-driver/.debug" -FILES_${PN}-staticdev += "${libdir}/*.a ${libdir}/libvirt/connection-driver/*.a ${libdir}/libvirt/lock-driver/*.a" +FILES:${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug ${libdir}/libvirt/lock-driver/.debug" +FILES:${PN}-staticdev += "${libdir}/*.a ${libdir}/libvirt/connection-driver/*.a ${libdir}/libvirt/lock-driver/*.a" -CONFFILES_${PN} += "${sysconfdir}/libvirt/libvirt.conf \ +CONFFILES:${PN} += "${sysconfdir}/libvirt/libvirt.conf \ ${sysconfdir}/libvirt/lxc.conf \ ${sysconfdir}/libvirt/qemu-lockd.conf \ ${sysconfdir}/libvirt/qemu.conf \ ${sysconfdir}/libvirt/virt-login-shell.conf \ ${sysconfdir}/libvirt/virtlockd.conf" -CONFFILES_${PN}-libvirtd = "${sysconfdir}/logrotate.d/libvirt ${sysconfdir}/logrotate.d/libvirt.lxc \ +CONFFILES:${PN}-libvirtd = "${sysconfdir}/logrotate.d/libvirt ${sysconfdir}/logrotate.d/libvirt.lxc \ ${sysconfdir}/logrotate.d/libvirt.qemu ${sysconfdir}/logrotate.d/libvirt.uml \ ${sysconfdir}/libvirt/libvirtd.conf \ /usr/lib/sysctl.d/libvirtd.conf" INITSCRIPT_PACKAGES = "${PN}-libvirtd" -INITSCRIPT_NAME_${PN}-libvirtd = "libvirtd" -INITSCRIPT_PARAMS_${PN}-libvirtd = "defaults 72" +INITSCRIPT_NAME:${PN}-libvirtd = "libvirtd" +INITSCRIPT_PARAMS:${PN}-libvirtd = "defaults 72" SYSTEMD_PACKAGES = "${PN}-libvirtd" -SYSTEMD_SERVICE_${PN}-libvirtd = " \ +SYSTEMD_SERVICE:${PN}-libvirtd = " \ libvirtd.service \ virtlockd.service \ libvirt-guests.service \ @@ -120,13 +125,15 @@ PACKAGECONFIG ??= "gnutls qemu yajl openvz vmware vbox esx lxc test remote \ ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'polkit', '', d)} \ " -# qemu is NOT compatible with mips64 -PACKAGECONFIG_remove_mipsarchn32 = "qemu" -PACKAGECONFIG_remove_mipsarchn64 = "qemu" +# qemu is NOT compatible with mips64, powerpc and riscv32 +PACKAGECONFIG:remove:mipsarchn32 = "qemu" +PACKAGECONFIG:remove:mipsarchn64 = "qemu" +PACKAGECONFIG:remove:powerpc = "qemu" +PACKAGECONFIG:remove:riscv32 = "qemu" # numactl is NOT compatible with arm -PACKAGECONFIG_remove_arm = "numactl" -PACKAGECONFIG_remove_armeb = "numactl" +PACKAGECONFIG:remove:arm = "numactl" +PACKAGECONFIG:remove:armeb = "numactl" # enable,disable,depends,rdepends # @@ -151,11 +158,11 @@ PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux," PACKAGECONFIG[python] = ",,python3," PACKAGECONFIG[sasl] = "-Dsasl=enabled,-Dsasl=disabled,cyrus-sasl,cyrus-sasl" PACKAGECONFIG[numactl] = "-Dnumactl=enabled,-Dnumactl=disabled,numactl," -PACKAGECONFIG[fuse] = "-Dfuse=enabled,-Dfuse=disabled,fuse," +PACKAGECONFIG[fuse] = "-Dfuse=enabled,-Dfuse=disabled,fuse3," PACKAGECONFIG[audit] = "-Daudit=enabled,-Daudit=disabled,audit," PACKAGECONFIG[libcap-ng] = "-Dcapng=enabled,-Dcapng=disabled,libcap-ng," PACKAGECONFIG[wireshark] = "-Dwireshark_dissector=enabled,-Dwireshark_dissector=disabled,wireshark libwsutil," -PACKAGECONFIG[apparmor_profiles] = "-Dapparmor_profiles=true, -Dapparmor_profiles=false," +PACKAGECONFIG[apparmor_profiles] = "-Dapparmor_profiles=enabled, -Dapparmor_profiles=disabled," PACKAGECONFIG[firewalld] = "-Dfirewalld=enabled, -Dfirewalld=disabled," PACKAGECONFIG[libpcap] = "-Dlibpcap=enabled, -Dlibpcap=disabled,libpcap,libpcap" PACKAGECONFIG[numad] = "-Dnumad=enabled, -Dnumad=disabled," @@ -178,12 +185,12 @@ do_compile() { ninja all } -do_install_prepend() { +do_install:prepend() { # so the install routines can find the libvirt.pc in the source dir export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${B}/src:" } -do_install_append() { +do_install:append() { install -d ${D}/etc/init.d install -d ${D}/etc/libvirt install -d ${D}/etc/dnsmasq.d @@ -198,17 +205,20 @@ do_install_append() { fi if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - mkdir -p ${D}/lib - mv ${D}/usr/lib/systemd ${D}/lib - # This variable is used by libvirtd.service to start libvirtd in the right mode - sed -i '/#LIBVIRTD_ARGS="--listen"/a LIBVIRTD_ARGS="--listen --daemon"' ${D}/${sysconfdir}/sysconfig/libvirtd + if [ "${systemd_system_unitdir}" != "${prefix}/lib/systemd/system" ] ; then + # ./src/meson.build: systemd_unit_dir = prefix / 'lib' / 'systemd' / 'system' + # ./tools/meson.build: install_dir: prefix / 'lib' / 'systemd' / 'system', + mkdir -p ${D}${systemd_system_unitdir} + mv ${D}${prefix}/lib/systemd/system/* ${D}${systemd_system_unitdir} + rmdir ${D}${prefix}/lib/systemd/system ${D}${prefix}/lib/systemd + fi # We can't use 'notify' when we don't support 'sd_notify' dbus capabilities. + # Change default LIBVIRTD_ARGS to start libvirtd in the right mode. sed -i -e 's/Type=notify/Type=forking/' \ -e '/Type=forking/a PIDFile=/run/libvirtd.pid' \ - ${D}/${systemd_unitdir}/system/libvirtd.service - else - rm -rf ${D}/usr/lib/systemd + -e 's/\(Environment=LIBVIRTD_ARGS="--timeout 120"\)/#\1\nEnvironment=LIBVIRTD_ARGS="--listen --daemon"/' \ + ${D}/${systemd_system_unitdir}/libvirtd.service fi # The /run/libvirt directories created by the Makefile are @@ -301,17 +311,17 @@ do_install_append() { } EXTRA_OEMESON += " \ - -Dinit_script=systemd \ + -Dinit_script=${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','none', d)} \ -Drunstatedir=/run \ -Dtests=enabled \ " # gcc9 end up mis-compiling qemuxml2argvtest.o with Og which then # crashes on target, so remove -Og and use -O2 as workaround -SELECTED_OPTIMIZATION_remove_virtclass-multilib-lib32_mipsarch = "-Og" -SELECTED_OPTIMIZATION_append_virtclass-multilib-lib32_mipsarch = " -O2" +SELECTED_OPTIMIZATION:remove:virtclass-multilib-lib32:mipsarch = "-Og" +SELECTED_OPTIMIZATION:append:virtclass-multilib-lib32:mipsarch = " -O2" -pkg_postinst_${PN}() { +pkg_postinst:${PN}() { if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then /etc/init.d/populate-volatile.sh update fi diff --git a/recipes-extended/libvmi/files/0001-Build-vbd-only-when-xen-is-enabled.patch b/recipes-extended/libvmi/files/0001-Build-vbd-only-when-xen-is-enabled.patch new file mode 100644 index 00000000..bf6e9f0e --- /dev/null +++ b/recipes-extended/libvmi/files/0001-Build-vbd-only-when-xen-is-enabled.patch @@ -0,0 +1,76 @@ +From fb7a1493c7d4a30ae930d8cb7dcb84c83c0cacce Mon Sep 17 00:00:00 2001 +From: He Zhe <zhe.he@windriver.com> +Date: Wed, 13 Apr 2022 09:26:01 +0000 +Subject: [PATCH] Build vbd only when xen is enabled + +vbd was added for xen based VMs since +bdee00fac9b4 ("Disk reading interface for Xen based VMs and example") +and should be built only when xen is enabled, otherwise there would not be +necessary xen headers and cause the following failure. + +xen_private.h:38:10: fatal error: xenctrl.h: No such file or directory + +Upstream-Status: Pending + +Signed-off-by: He Zhe <zhe.he@windriver.com> +--- + Makefile.am | 8 ++++---- + libvmi/CMakeLists.txt | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 097c23c..c560a1d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -17,8 +17,7 @@ h_private = \ + libvmi/os/os_interface.h \ + libvmi/driver/driver_interface.h \ + libvmi/driver/driver_wrapper.h \ +- libvmi/driver/memory_cache.h \ +- libvmi/disk/vbd_private.h ++ libvmi/driver/memory_cache.h + + c_sources = \ + libvmi/accessors.c \ +@@ -39,8 +38,7 @@ c_sources = \ + libvmi/arch/ept.c \ + libvmi/driver/driver_interface.c \ + libvmi/driver/memory_cache.c \ +- libvmi/os/os_interface.c \ +- libvmi/disk/vbd.c ++ libvmi/os/os_interface.c + + if ENABLE_ADDRESS_CACHE + c_sources += libvmi/cache.c +@@ -104,6 +102,8 @@ if WITH_XEN + libvmi/driver/xen/libxc_wrapper.h \ + libvmi/driver/xen/libxs_wrapper.c \ + libvmi/driver/xen/libxs_wrapper.h ++ h_private += libvmi/disk/vbd_private.h ++ c_sources += libvmi/disk/vbd.c + endif + + if WITH_BAREFLANK +diff --git a/libvmi/CMakeLists.txt b/libvmi/CMakeLists.txt +index ac57d79..7e87751 100644 +--- a/libvmi/CMakeLists.txt ++++ b/libvmi/CMakeLists.txt +@@ -18,7 +18,6 @@ set(libvmi_src + driver/driver_interface.c + driver/memory_cache.c + os/os_interface.c +- disk/vbd.c + ) + + add_library(vmi OBJECT ${libvmi_src}) +@@ -169,6 +168,7 @@ add_subdirectory(os) + + + if (ENABLE_XEN) ++ list(APPEND libvmi_src disk/vbd.c) + find_package(Xen REQUIRED) + list(APPEND VMI_PUBLIC_HEADERS events.h) + # CMAKE_DL_LIBS -> dlopen* lib +-- +2.32.0 + diff --git a/recipes-extended/libvmi/libvmi_git.bb b/recipes-extended/libvmi/libvmi_git.bb index b8e35669..c812cf17 100644 --- a/recipes-extended/libvmi/libvmi_git.bb +++ b/recipes-extended/libvmi/libvmi_git.bb @@ -1,17 +1,18 @@ DESCRIPTION = "An introspection library, written in C, focused on reading \ and writing memory from virtual machines (VM's)." HOMEPAGE = "https://github.com/libvmi/libvmi" -LICENSE = "LGPLv3" +LICENSE = "LGPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02" SECTION = "console/tools" -PV = "0.12.0" +PV = "0.14.0+git" -DEPENDS = "libvirt libcheck bison fuse byacc-native" +DEPENDS = "libvirt libcheck bison fuse bison-native flex-native autoconf-archive-native" -SRC_URI = "git://github.com/libvmi/libvmi.git \ +SRC_URI = "git://github.com/libvmi/libvmi.git;branch=master;protocol=https \ + file://0001-Build-vbd-only-when-xen-is-enabled.patch \ " -SRCREV = "e8c2061d11c42e5868cbf48229f59b5e7071395a" +SRCREV = "df8547ff075d4352db2eb802775b7fa7a92756db" S = "${WORKDIR}/git" @@ -21,8 +22,8 @@ inherit autotools-brokensep pkgconfig # bitbake should be able to properly populate the -dev package and the main # packages. Since libvmi uses the form libXX.1.0.0.so it breaks this automatic # packaging so we need to be more explicit about what goes where. -FILES_${PN} += "${libdir}/libvmi-0.9.so" -FILES_${PN}-dev = "${includedir} ${libdir}/${BPN}.so ${libdir}/*.la \ +FILES:${PN} += "${libdir}/libvmi-0.9.so" +FILES:${PN}-dev = "${includedir} ${libdir}/${BPN}.so ${libdir}/*.la \ ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \ ${datadir}/aclocal ${base_libdir}/*.o \ ${libdir}/${BPN}/*.la ${base_libdir}/*.la" @@ -33,7 +34,7 @@ PACKAGECONFIG[kvm] = "--disable-kvm-legacy,--enable-kvm-legacy,kvm," PACKAGECONFIG[json-c] = ",,json-c," # We include a sample conf file to which we have added -do_install_append () { +do_install:append () { mkdir ${D}${sysconfdir} cp etc/*.conf ${D}${sysconfdir} } diff --git a/recipes-extended/nagios/nagios-common.inc b/recipes-extended/nagios/nagios-common.inc index c173041c..bfbe188b 100644 --- a/recipes-extended/nagios/nagios-common.inc +++ b/recipes-extended/nagios/nagios-common.inc @@ -11,16 +11,16 @@ EXTRA_OECONF += "--sysconfdir=${NAGIOS_CONF_DIR} \ --localstatedir=${NAGIOS_STATE_DIR} \ " -FILES_${PN}-dbg += "${NAGIOS_PLUGIN_DIR}/.debug" +FILES:${PN}-dbg += "${NAGIOS_PLUGIN_DIR}/.debug" DEPENDS = "nagios-core" -COMPATIBLE_HOST_aarch64 = "null" +COMPATIBLE_HOST:aarch64 = "null" inherit useradd USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "-r ${NAGIOS_GROUP}; -r nagcmd" -USERADD_PARAM_${PN} = "-r -M -g ${NAGIOS_GROUP} ${NAGIOS_USER}" +GROUPADD_PARAM:${PN} = "-r ${NAGIOS_GROUP}; -r nagcmd" +USERADD_PARAM:${PN} = "-r -M -g ${NAGIOS_GROUP} ${NAGIOS_USER}" -FILESYSTEM_PERMS_TABLES_append = " files/fs-perms-nagios.txt" +FILESYSTEM_PERMS_TABLES:append = " files/fs-perms-nagios.txt" diff --git a/recipes-extended/nagios/nagios-core/eventhandlers_nagioscmd_path.patch b/recipes-extended/nagios/nagios-core/eventhandlers_nagioscmd_path.patch index c767162c..5c1f3303 100644 --- a/recipes-extended/nagios/nagios-core/eventhandlers_nagioscmd_path.patch +++ b/recipes-extended/nagios/nagios-core/eventhandlers_nagioscmd_path.patch @@ -3,6 +3,8 @@ change eventhandlers nagioscmd path Modify nagios.cmd path to the right location at "/var/nagios/rw/nagios.cmd" +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Rickard Engberg <rickard.engberg@windriver.com> Signed-off-by: Vu Tran <vu.tran@windriver.com> diff --git a/recipes-extended/nagios/nagios-core_4.4.6.bb b/recipes-extended/nagios/nagios-core_4.4.6.bb index fc3d2c5a..59b70895 100644 --- a/recipes-extended/nagios/nagios-core_4.4.6.bb +++ b/recipes-extended/nagios/nagios-core_4.4.6.bb @@ -4,7 +4,7 @@ DESCRIPTION = "A host/service/network monitoring and management system core file HOMEPAGE = "http://www.nagios.org" SECTION = "console/network" PRIORITY = "optional" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=4c4203caac58013115c9ca4b85f296ae" @@ -29,7 +29,7 @@ inherit autotools-brokensep update-rc.d systemd update-alternatives DEPENDS = "gd unzip-native" -RDEPENDS_${PN} += "\ +RDEPENDS:${PN} += "\ gd \ libpng \ fontconfig \ @@ -38,7 +38,7 @@ RDEPENDS_${PN} += "\ nagios-base \ " -PNBLACKLIST[nagios-core] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'webserver', '', 'Depends on apache2 from meta-webserver which is not included', d)}" +SKIP_RECIPE[nagios-core] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'webserver', '', 'Depends on apache2 from meta-webserver which is not included', d)}" acpaths = "-I ${S}/autoconf-macros" @@ -65,12 +65,12 @@ EXTRA_OECONF += "ac_cv_header_ltdl_h=no" EXTRA_OECONF += "ac_cv_path_PERL=${bindir}/perl" # Fix build failure for gcc-10 -CFLAGS_append = " -fcommon" +CFLAGS:append = " -fcommon" # Set to "1" to allow nagios-core post-init to modify Apache configuration NAGIOS_MODIFY_APACHE ??= "1" -do_configure_prepend() { +do_configure:prepend() { # rename these macros to have .m4 suffix so that autoreconf could recognize them for macro in `ls ${S}/autoconf-macros/ax_nagios_get_*`; do mv $macro $macro.m4 @@ -117,7 +117,7 @@ do_install() { fi } -pkg_postinst_ontarget_${PN}-setup () { +pkg_postinst_ontarget:${PN}-setup () { # Set password for nagiosadmin user if [ -z "${NAGIOS_DEFAULT_ADMINUSER_PASSWORD}" ]; then htpasswd -c ${NAGIOS_CONF_DIR}/htpasswd.users nagiosadmin @@ -134,23 +134,23 @@ pkg_postinst_ontarget_${PN}-setup () { PACKAGES += "${SRCNAME}-base ${PN}-setup" -FILES_${PN} += "${datadir} \ +FILES:${PN} += "${datadir} \ ${NAGIOS_PLUGIN_DIR} \ ${NAGIOS_CGIBIN_DIR} \ " -FILES_${PN}-dbg += "${NAGIOS_CGIBIN_DIR}/.debug" +FILES:${PN}-dbg += "${NAGIOS_CGIBIN_DIR}/.debug" -ALLOW_EMPTY_${SRCNAME}-base = "1" -ALLOW_EMPTY_${PN}-setup = "1" +ALLOW_EMPTY:${SRCNAME}-base = "1" +ALLOW_EMPTY:${PN}-setup = "1" SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "nagios-core.service" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE:${PN} = "nagios-core.service" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" USERADD_PACKAGES += "${SRCNAME}-base" -GROUPADD_PARAM_${SRCNAME}-base = "-r ${NAGIOS_GROUP}" -USERADD_PARAM_${SRCNAME}-base = "-r -M -g ${NAGIOS_GROUP} ${NAGIOS_USER}" +GROUPADD_PARAM:${SRCNAME}-base = "-r ${NAGIOS_GROUP}" +USERADD_PARAM:${SRCNAME}-base = "-r -M -g ${NAGIOS_GROUP} ${NAGIOS_USER}" INITSCRIPT_NAME = "nagios" INITSCRIPT_PARAMS = "defaults" @@ -158,5 +158,5 @@ INITSCRIPT_PARAMS = "defaults" CVE_PRODUCT = "nagios_core" ALTERNATIVE_PRIORITY_${PN} = '20' -ALTERNATIVE_${PN} = "nagios" +ALTERNATIVE:${PN} = "nagios" ALTERNATIVE_LINK_NAME[nagios] = "${localstatedir}/nagios" diff --git a/recipes-extended/nagios/nagios-nrpe/0001-Should-fix-235-nasty_metachars-was-not-being-returne.patch b/recipes-extended/nagios/nagios-nrpe/0001-Should-fix-235-nasty_metachars-was-not-being-returne.patch index 7a12e730..fb34c5c7 100644 --- a/recipes-extended/nagios/nagios-nrpe/0001-Should-fix-235-nasty_metachars-was-not-being-returne.patch +++ b/recipes-extended/nagios/nagios-nrpe/0001-Should-fix-235-nasty_metachars-was-not-being-returne.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Should fix #235 (nasty_metachars was not being returned when specified in cfg file CVE: CVE-2020-6581 -Upstream Status: Backport [4f7dd1199f1f3f72f9197e8565da339a4a2490b7] +Upstream-Status: Backport [4f7dd1199f1f3f72f9197e8565da339a4a2490b7] Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> --- diff --git a/recipes-extended/nagios/nagios-nrpe/fix-compile-without-openssl.patch b/recipes-extended/nagios/nagios-nrpe/fix-compile-without-openssl.patch index ab913a8f..1e57d02a 100644 --- a/recipes-extended/nagios/nagios-nrpe/fix-compile-without-openssl.patch +++ b/recipes-extended/nagios/nagios-nrpe/fix-compile-without-openssl.patch @@ -6,6 +6,8 @@ this error: error: unknown type name 'SSL' void complete_SSL_shutdown( SSL *); +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Rickard Engberg <rickard.engberg@windriver.com> Signed-off-by: Vu Tran <vu.tran@windriver.com> diff --git a/recipes-extended/nagios/nagios-nrpe/fix-configure-uses-host-openssl.patch b/recipes-extended/nagios/nagios-nrpe/fix-configure-uses-host-openssl.patch index 920aabfc..9342826b 100644 --- a/recipes-extended/nagios/nagios-nrpe/fix-configure-uses-host-openssl.patch +++ b/recipes-extended/nagios/nagios-nrpe/fix-configure-uses-host-openssl.patch @@ -6,6 +6,8 @@ openssl dhparam -C 512 just do not use openssl from host. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Rickard Engberg <rickard.engberg@windriver.com> Signed-off-by: Vu Tran <vu.tran@windriver.com> diff --git a/recipes-extended/nagios/nagios-nrpe_4.0.2.bb b/recipes-extended/nagios/nagios-nrpe_4.0.2.bb index 7f81172e..ac54469b 100644 --- a/recipes-extended/nagios/nagios-nrpe_4.0.2.bb +++ b/recipes-extended/nagios/nagios-nrpe_4.0.2.bb @@ -4,7 +4,7 @@ DESCRIPTION = "Nagios Remote Plugin Executor" HOMEPAGE = "http://www.nagios.com" SECTION = "console/network" PRIORITY = "optional" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://src/nrpe.c;beginline=1;endline=35;md5=0dadd78599abbc737af81432702e9161" @@ -26,7 +26,7 @@ S = "${WORKDIR}/${SRCNAME}-${PV}" inherit autotools-brokensep update-rc.d systemd update-alternatives -PNBLACKLIST[nagios-nrpe] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'webserver', '', 'Depends on nagios-core which depends on apache2 from meta-webserver which is not included', d)}" +SKIP_RECIPE[nagios-nrpe] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'webserver', '', 'Depends on nagios-core which depends on apache2 from meta-webserver which is not included', d)}" # IP address of server which proxy should connect to MONITORING_PROXY_SERVER_IP ??= "192.168.7.2" @@ -59,7 +59,7 @@ do_compile() { oe_runmake all } -do_install_append() { +do_install:append() { oe_runmake 'DESTDIR=${D}' install-daemon oe_runmake 'DESTDIR=${D}' install-config @@ -83,26 +83,26 @@ do_install_append() { PACKAGES = "${PN}-dbg ${PN}-plugin ${PN}-daemon" -FILES_${PN}-plugin = "${NAGIOS_PLUGIN_DIR} \ +FILES:${PN}-plugin = "${NAGIOS_PLUGIN_DIR} \ ${NAGIOS_PLUGIN_CONF_DIR} \ " -FILES_${PN}-daemon = "${sysconfdir} \ +FILES:${PN}-daemon = "${sysconfdir} \ ${bindir} \ ${nonarch_libdir}/tmpfiles.d/ \ ${localstatedir} \ " -RDEPENDS_${PN}-daemon = "nagios-base" -RDEPENDS_${PN}-plugin = "nagios-base" +RDEPENDS:${PN}-daemon = "nagios-base" +RDEPENDS:${PN}-plugin = "nagios-base" SYSTEMD_PACKAGES = "${PN}-daemon" -SYSTEMD_SERVICE_${PN}-daemon = "nagios-nrpe.service" -SYSTEMD_AUTO_ENABLE_${PN}-daemon = "enable" +SYSTEMD_SERVICE:${PN}-daemon = "nagios-nrpe.service" +SYSTEMD_AUTO_ENABLE:${PN}-daemon = "enable" INITSCRIPT_PACKAGES = "${PN}-daemon" -INITSCRIPT_NAME_${PN}-daemon = "nrpe" -INITSCRIPT_PARAMS_${PN}-daemon = "defaults" +INITSCRIPT_NAME:${PN}-daemon = "nrpe" +INITSCRIPT_PARAMS:${PN}-daemon = "defaults" -ALTERNATIVE_${PN}-daemon = "nagios" +ALTERNATIVE:${PN}-daemon = "nagios" ALTERNATIVE_LINK_NAME[nagios] = "${localstatedir}/nagios" diff --git a/recipes-extended/nagios/nagios-nsca_2.9.2.bb b/recipes-extended/nagios/nagios-nsca_2.9.2.bb index 1fce1983..2db51238 100644 --- a/recipes-extended/nagios/nagios-nsca_2.9.2.bb +++ b/recipes-extended/nagios/nagios-nsca_2.9.2.bb @@ -4,7 +4,7 @@ DESCRIPTION = "Nagios Service Check Acceptor" HOMEPAGE = "http://exchange.nagios.org" SECTION = "console/network" PRIORITY = "optional" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://src/nsca.c;beginline=1;endline=16;md5=dd7a195cc7d8a3ebcfabd65360d0cab4" @@ -22,7 +22,7 @@ S = "${WORKDIR}/${SRCNAME}-${PV}" inherit update-rc.d autotools-brokensep systemd dos2unix -PNBLACKLIST[nagios-nsca] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'webserver', '', 'Rdepends on nagios-base provided by nagios-core which depends on apache2 from meta-webserver which is not included', d)}" +SKIP_RECIPE[nagios-nsca] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'webserver', '', 'Rdepends on nagios-base provided by nagios-core which depends on apache2 from meta-webserver which is not included', d)}" DEPENDS = "libmcrypt" @@ -61,28 +61,26 @@ do_install() { PACKAGES = "${PN}-dbg ${PN}-daemon ${PN}-client" -FILES_${PN}-daemon = "${sysconfdir}/init.d \ +FILES:${PN}-daemon = "${sysconfdir}/init.d \ ${NAGIOS_CONF_DIR}/nsca.cfg \ ${bindir}/nsca \ " -FILES_${PN}-client = "${NAGIOS_CONF_DIR}/send_nsca.cfg \ +FILES:${PN}-client = "${NAGIOS_CONF_DIR}/send_nsca.cfg \ ${bindir}/send_nsca \ " -RDEPENDS_${PN}-daemon += "libmcrypt \ +RDEPENDS:${PN}-daemon += "libmcrypt \ nagios-base \ " -RDEPENDS_${PN}-client += "libmcrypt \ +RDEPENDS:${PN}-client += "libmcrypt \ nagios-base \ " SYSTEMD_PACKAGES = "${PN}-daemon" -SYSTEMD_SERVICE_${PN}-daemon = "nagios-nsca.service" -SYSTEMD_AUTO_ENABLE_${PN}-daemon = "enable" +SYSTEMD_SERVICE:${PN}-daemon = "nagios-nsca.service" +SYSTEMD_AUTO_ENABLE:${PN}-daemon = "enable" INITSCRIPT_PACKAGES = "${PN}-daemon" -INITSCRIPT_NAME_${PN}-daemon = "nsca" -INITSCRIPT_PARAMS_${PN}-daemon = "defaults" - -PNBLACKLIST[nagios-nsca] ?= "Depends on libmcrypt, which is considered abandonware" +INITSCRIPT_NAME:${PN}-daemon = "nsca" +INITSCRIPT_PARAMS:${PN}-daemon = "defaults" diff --git a/recipes-extended/nagios/nagios-plugins_2.2.1.bb b/recipes-extended/nagios/nagios-plugins_2.2.1.bb index b97d80cb..471d4b42 100644 --- a/recipes-extended/nagios/nagios-plugins_2.2.1.bb +++ b/recipes-extended/nagios/nagios-plugins_2.2.1.bb @@ -4,7 +4,7 @@ DESCRIPTION = "A host/service/network monitoring and management system plugins" HOMEPAGE = "http://www.nagios-plugins.org" SECTION = "console/network" PRIORITY = "optional" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" @@ -18,7 +18,7 @@ S = "${WORKDIR}/${BPN}-${PV}" inherit autotools gettext -PNBLACKLIST[nagios-plugins] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'webserver', '', 'Depends on nagios-core which depends on apache2 from meta-webserver which is not included', d)}" +SKIP_RECIPE[nagios-plugins] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'webserver', '', 'Depends on nagios-core which depends on apache2 from meta-webserver which is not included', d)}" EXTRA_OECONF += "--with-sysroot=${STAGING_DIR_HOST} \ --with-nagios-user=${NAGIOS_USER} \ @@ -59,17 +59,17 @@ do_configure() { oe_runconf || die "make failed" } -do_install_append() { +do_install:append() { sed -i '1s,#! /usr/bin/perl -w.*,#! ${bindir}/env perl,' ${D}${libdir}/nagios/plugins/* } -RDEPENDS_${PN} += "\ +RDEPENDS:${PN} += "\ iputils \ nagios-base \ perl \ bash \ " -FILES_${PN} += "${datadir} \ +FILES:${PN} += "${datadir} \ ${NAGIOS_PLUGIN_DIR} \ " diff --git a/recipes-extended/oath/oath/0001-oath-fix-macro-definition-error.patch b/recipes-extended/oath/oath/0001-oath-fix-macro-definition-error.patch index 37f9d753..0d606ade 100644 --- a/recipes-extended/oath/oath/0001-oath-fix-macro-definition-error.patch +++ b/recipes-extended/oath/oath/0001-oath-fix-macro-definition-error.patch @@ -3,6 +3,8 @@ From: Dengke Du <dengke.du@windriver.com> Date: Thu, 27 Sep 2018 09:37:08 +0800 Subject: [PATCH] oath: fix macro definition error +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Dengke Du <dengke.du@windriver.com> --- oathtool/gl/intprops.h | 6 +++--- diff --git a/recipes-extended/oath/oath_2.6.2.bb b/recipes-extended/oath/oath_2.6.2.bb index f4230449..84d42dff 100644 --- a/recipes-extended/oath/oath_2.6.2.bb +++ b/recipes-extended/oath/oath_2.6.2.bb @@ -1,4 +1,4 @@ -LICENSE = "GPLv3 & LGPLv2.1" +LICENSE = "GPL-3.0-only & LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=62e1e33aebac5b1bc9fc48a866e2f61b \ file://oathtool/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://liboath/COPYING;md5=4fbd65380cdd255951079008b364516c \ @@ -12,7 +12,7 @@ S = "${WORKDIR}/${BPN}-toolkit-${PV}" SRC_URI[md5sum] = "4a05cd4768764843bd5493609a6bdb17" SRC_URI[sha256sum] = "b03446fa4b549af5ebe4d35d7aba51163442d255660558cd861ebce536824aa0" -inherit autotools +inherit autotools pkgconfig # Specify any options you want to pass to the configure script using EXTRA_OECONF: EXTRA_OECONF = "" diff --git a/recipes-extended/seabios/seabios/hostcc.patch b/recipes-extended/seabios/seabios/hostcc.patch index f665e1a3..dcc0c0bb 100644 --- a/recipes-extended/seabios/seabios/hostcc.patch +++ b/recipes-extended/seabios/seabios/hostcc.patch @@ -1,3 +1,5 @@ +Upstream-Status: Inappropriate [embedded specific] + diff -ur a/Makefile b/Makefile --- a/Makefile 2015-02-02 22:02:58.651041951 -0500 +++ b/Makefile 2015-02-02 23:08:13.884514003 -0500 diff --git a/recipes-extended/seabios/seabios/python3.patch b/recipes-extended/seabios/seabios/python3.patch index a2786fd7..f401d7b9 100644 --- a/recipes-extended/seabios/seabios/python3.patch +++ b/recipes-extended/seabios/seabios/python3.patch @@ -1,3 +1,5 @@ +Upstream-Status: Inappropriate [embedded specific] + diff --git a/Makefile b/Makefile index 516cb38..7f6acaa 100644 --- a/Makefile diff --git a/recipes-extended/seabios/seabios_1.14.0.bb b/recipes-extended/seabios/seabios_1.16.0.bb index 1591cb62..ebab54bf 100644 --- a/recipes-extended/seabios/seabios_1.14.0.bb +++ b/recipes-extended/seabios/seabios_1.16.0.bb @@ -1,6 +1,6 @@ DESCRIPTION = "SeaBIOS" HOMEPAGE = "http://www.coreboot.org/SeaBIOS" -LICENSE = "LGPLv3" +LICENSE = "LGPL-3.0-only" SECTION = "firmware" inherit python3native @@ -15,11 +15,9 @@ S = "${WORKDIR}/${PN}-${PV}" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6 \ " +SRC_URI[sha256sum] = "d44d8e97ad56f3fd23ed3076077a770d37a5e7bae22daa59656ff41c3334fb34" -SRC_URI[md5sum] = "9df3b7de6376850d09161137e7a9b61f" -SRC_URI[sha256sum] = "eb70cc62b29aa83e10a653233acebf4bb154d00d0c87dc2a2c6e2da75e5e81fd" - -FILES_${PN} = "/usr/share/firmware" +FILES:${PN} = "/usr/share/firmware" DEPENDS += "util-linux-native file-native bison-native flex-native gettext-native acpica-native" @@ -27,6 +25,9 @@ TUNE_CCARGS = "" EXTRA_OEMAKE += "HOSTCC='${BUILD_CC}'" EXTRA_OEMAKE += "CROSS_PREFIX=${TARGET_PREFIX}" +# Can not yet compile with clang e.g. +TOOLCHAIN = "gcc" + COMPATIBLE_HOST = "(i.86|x86_64).*-linux" do_configure() { diff --git a/recipes-extended/upx/libucl/Reproducible-build.patch b/recipes-extended/upx/libucl/Reproducible-build.patch index 8398fe02..23acf565 100644 --- a/recipes-extended/upx/libucl/Reproducible-build.patch +++ b/recipes-extended/upx/libucl/Reproducible-build.patch @@ -5,6 +5,9 @@ Subject: 03 Reproducible build Introduced BUILD_DATETIME pre-processor variable to be used instead of __DATE__ __TIME__ to make build reproducible. + +Upstream-Status: Inappropriate [embedded specific] + --- src/ucl_util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes-extended/upx/libucl/use-static-assert.patch b/recipes-extended/upx/libucl/use-static-assert.patch index bdf49003..50e9da5f 100644 --- a/recipes-extended/upx/libucl/use-static-assert.patch +++ b/recipes-extended/upx/libucl/use-static-assert.patch @@ -4,6 +4,9 @@ Subject: Switch to _Static_assert Use _Static_assert for compile-time assertion to fix build failures with gcc-6 (closes: #811707) + +Upstream-Status: Inappropriate [embedded specific] + --- acc/acc_defs.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes-extended/upx/libucl_1.03.bb b/recipes-extended/upx/libucl_1.03.bb index b611a968..57a5602e 100644 --- a/recipes-extended/upx/libucl_1.03.bb +++ b/recipes-extended/upx/libucl_1.03.bb @@ -1,6 +1,6 @@ HOMEPAGE = "http://www.oberhumer.com/opensource/ucl/" SUMMARY = "Data compression library" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=dfeaf3dc4beef4f5a7bdbc35b197f39e" SRC_URI = "http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz \ diff --git a/recipes-extended/upx/upx_git.bb b/recipes-extended/upx/upx_git.bb index b77e6589..02e70ffe 100644 --- a/recipes-extended/upx/upx_git.bb +++ b/recipes-extended/upx/upx_git.bb @@ -1,33 +1,16 @@ -HOMEPAGE = "http://upx.sourceforge.net" SUMMARY = "Ultimate executable compressor." - -SRCREV = "4e1ae22a1a07be5135c68b25ff05058ae8ae48e1" -SRC_URI = "gitsm://github.com/upx/upx;branch=devel" - -LICENSE = "GPLv2" +HOMEPAGE = "https://upx.github.io/" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=353753597aa110e0ded3508408c6374a" +SRCREV_upx = "099c3d829e80488af7395a4242b318877e980da4" +PV = "4.2.2+git${SRCPV}" -DEPENDS = "zlib libucl xz" +# Note: DO NOT use released tarball in favor of the git repository with submodules. +# it makes maintenance easier for CVEs or other issues. +SRC_URI = "gitsm://github.com/upx/upx;protocol=https;;name=upx;branch=devel" S = "${WORKDIR}/git" -PV = "3.96+${SRCPV}" - -EXTRA_OEMAKE += " \ - UPX_UCLDIR=${STAGING_DIR_TARGET} \ - UPX_LZMADIR=${STAGING_DIR_TARGET} \ -" - -# FIXME: The build fails if security flags are enabled -SECURITY_CFLAGS = "" - -do_compile() { - oe_runmake -C src all -} - -do_install_append() { - install -d ${D}${bindir} - install -m 755 ${B}/src/upx.out ${D}${bindir}/upx -} +inherit pkgconfig cmake BBCLASSEXTEND = "native" diff --git a/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch b/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch new file mode 100644 index 00000000..be187e79 --- /dev/null +++ b/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch @@ -0,0 +1,86 @@ +From 21bb6953a64390dd1c5a8b7520eb5e2c18ea3ff1 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Mon, 29 Nov 2021 21:01:03 -0500 +Subject: [PATCH] vm-support: fix build for kernel's > 5.4 + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + a/uxenhc/hypercall.c | 10 +++++++++- + a/v4vvsock/v4v_vsock.c | 2 ++ + a/vmdiagnostics/vm_diagnostics.c | 9 ++++++++- + 3 files changed, 19 insertions(+), 2 deletions(-) + +diff --git a/uxenhc/hypercall.c b/uxenhc/hypercall.c +index 0b9ef3f..04957a8 100644 +--- a/uxenhc/hypercall.c ++++ b/uxenhc/hypercall.c +@@ -10,6 +10,7 @@ + #include <linux/mm.h> + #include <linux/spinlock.h> + #include <linux/compiler.h> ++#include <linux/version.h> + + #include <xen/xen.h> + #include <xen/version.h> +@@ -124,7 +125,11 @@ static int __init uxen_hypercall_init(void) + printk(KERN_INFO "using uxen hypervisor\n"); + + if (!uxen_hcbase) { ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0)) + uxen_hcbase = __vmalloc(PAGE_SIZE, GFP_KERNEL, PAGE_KERNEL_EXEC); ++#else ++ uxen_hcbase = __vmalloc(PAGE_SIZE, GFP_KERNEL); ++#endif + if (!uxen_hcbase) { + ret = -ENOMEM; + goto out; +diff --git a/v4vvsock/v4v_vsock.c b/v4vvsock/v4v_vsock.c +index 8d80d7d..cd7e8ce 100644 +--- a/v4vvsock/v4v_vsock.c ++++ b/v4vvsock/v4v_vsock.c +@@ -578,8 +578,10 @@ static const struct proto_ops vsock_dgram_ops = { + .ioctl = sock_no_ioctl, + .listen = sock_no_listen, + .shutdown = sock_no_shutdown, ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,10,0)) + .setsockopt = sock_no_setsockopt, + .getsockopt = sock_no_getsockopt, ++#endif + .sendmsg = vsock_sendmsg, + .recvmsg = vsock_recvmsg, + .mmap = sock_no_mmap, +diff --git a/vmdiagnostics/vm_diagnostics.c b/vmdiagnostics/vm_diagnostics.c +index 9ff94fb..db14e57 100644 +--- a/vmdiagnostics/vm_diagnostics.c ++++ b/vmdiagnostics/vm_diagnostics.c +@@ -22,6 +22,7 @@ + #include <linux/timekeeping.h> + #include <linux/types.h> + #include <linux/vmstat.h> ++#include <linux/version.h> + + #include <uxen-v4vlib.h> + +@@ -403,10 +404,16 @@ static void vm_handle_request_stat_task(struct vm_diagnostics_context *context, + + task_payload.state = task_state_to_char(task); + task_payload.num_threads = get_nr_threads(task); ++ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,5,0)) + task_payload.start_time_nsec = task->real_start_time; ++#else ++ task_payload.start_time_nsec = task->start_boottime; ++#endif ++ + task_payload.last_run_cpu_id = task_cpu(task); + +- thread_group_cputime_adjusted(task, &user_nsec, &system_nsec); ++ //thread_group_cputime_adjusted(task, &user_nsec, &system_nsec); + task_payload.user_nsec = user_nsec; + task_payload.system_nsec = system_nsec; + +-- +2.19.1 + diff --git a/recipes-extended/uxen/uxen-guest-tools/0002-vm-support-fix-build-for-kernel-s-5.15.patch b/recipes-extended/uxen/uxen-guest-tools/0002-vm-support-fix-build-for-kernel-s-5.15.patch new file mode 100644 index 00000000..22c5cd57 --- /dev/null +++ b/recipes-extended/uxen/uxen-guest-tools/0002-vm-support-fix-build-for-kernel-s-5.15.patch @@ -0,0 +1,48 @@ +From f8a33a209498b32b0fc06d80baa071f0902b9a85 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Tue, 30 Nov 2021 06:45:34 -0800 +Subject: [PATCH] vm-support: fix build for kernel's > 5.15 + +* remove callback was changed to return void instead of int in: + https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fc7a6209d5710618eb4f72a77cd81b8d694ecf89 + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + uxenplatform/platform.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/uxenplatform/platform.c b/uxenplatform/platform.c +index 99fc76a..5225a00 100644 +--- a/uxenplatform/platform.c ++++ b/uxenplatform/platform.c +@@ -4,6 +4,7 @@ + #include <linux/random.h> + #include <linux/kthread.h> + #include <linux/delay.h> ++#include <linux/version.h> + + #include <uxen-hypercall.h> + #include <uxen-platform.h> +@@ -32,14 +33,20 @@ static int bus_probe(struct device *_dev) + return drv && drv->probe ? drv->probe(dev) : -ENODEV; + } + ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)) + static int bus_remove(struct device *_dev) ++#else ++static void bus_remove(struct device *_dev) ++#endif + { + struct uxen_device *dev = dev_to_uxen(_dev); + struct uxen_driver *drv = drv_to_uxen(_dev->driver); + + if (dev && drv && drv->remove) + drv->remove(dev); ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)) + return 0; ++#endif + } + + static int bus_suspend(struct device *_dev, pm_message_t state) diff --git a/recipes-extended/uxen/uxen-guest-tools/0003-vm-support-fix-build-for-kernel-s-5.14.patch b/recipes-extended/uxen/uxen-guest-tools/0003-vm-support-fix-build-for-kernel-s-5.14.patch new file mode 100644 index 00000000..f775b2e6 --- /dev/null +++ b/recipes-extended/uxen/uxen-guest-tools/0003-vm-support-fix-build-for-kernel-s-5.14.patch @@ -0,0 +1,34 @@ +From 59986e91d807591f05dfbd57b459ba71670874f9 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Tue, 30 Nov 2021 15:04:31 +0000 +Subject: [PATCH] vm-support: fix build for kernel's > 5.14 + +* remove set_driver_byte call +* not sure if it's still necessary here, but set_driver_byte as well as DRIVER_SENSE was killed in 5.14 with: + https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=464a00c9e0ad45e3f42ff6ea705491a356df818e + + in some cases it was replaced with set_status_byte(sc, SAM_STAT_CHECK_CONDITION), but I didn't + read the implementation carefully enough to decide if this is still needed, I was only interested + in fixing the build failure (and I don't use this at all to test it in runtime) + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + uxenstor/stor.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/uxenstor/stor.c b/uxenstor/stor.c +index e07b08e..6bf2184 100644 +--- a/uxenstor/stor.c ++++ b/uxenstor/stor.c +@@ -109,7 +109,9 @@ static void uxenstor_softirq(unsigned long opaque) + sc->sense_buffer, + sizeof(hdr) + hdr.sense_size, + 0, sizeof(hdr)); ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,14,0)) + set_driver_byte(sc, DRIVER_SENSE); ++#endif + } + + set_host_byte(sc, DID_ERROR); diff --git a/recipes-extended/uxen/uxen-guest-tools/0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch b/recipes-extended/uxen/uxen-guest-tools/0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch new file mode 100644 index 00000000..627a12f0 --- /dev/null +++ b/recipes-extended/uxen/uxen-guest-tools/0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch @@ -0,0 +1,58 @@ +From 732791cb353289e37448d84503a7d62ca156f29f Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Tue, 30 Nov 2021 16:33:14 +0000 +Subject: [PATCH] uxenhc: fix -DMODULE not working on module build command line + +* ATTOXEN_API_INC isn't defined anywhere in our OE builds, so the command line ends like this: + + x86_64-oe-linux-gcc -fuse-ld=bfd -fmacro-prefix-map=/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0=/usr/src/debug/uxen-guest-tools/4.1.8-r0 -fdebug-prefix-map=/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0=/usr/src/debug/uxen-guest-tools/4.1.8-r0 -fdebug-prefix-map=/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/recipe-sysroot= -fdebug-prefix-map=/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/recipe-sysroot-native= -fdebug-prefix-map=/OE/work-shared/qemux86-64/kernel-source=/usr/src/kernel -Wp,-MMD,/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/.hypercall.o.d -I/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/include/ -I/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/include/uxen -I/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/include/uxen/xen -I/OE/work-shared/qemux86-64/kernel-source/arch/x86/include -I./arch/x86/include/generated -I/OE/work-shared/qemux86-64/kernel-source/include -I./include -I/OE/work-shared/qemux86-64/kernel-source/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/OE/work-shared/qemux86-64/kernel-source/include/uapi -I./include/generated/uapi -include /OE/work-shared/qemux86-64/kernel-source/include/linux/compiler-version.h -include /OE/work-shared/qemux86-64/kernel-source/include/linux/kconfig.h -include /OE/work-shared/qemux86-64/kernel-source/include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=/OE/work-shared/qemux86-64/kernel-source/= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=core2 -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -DLX_TARGET_STANDARDVM -g -Wall -I -DMODULE -DKBUILD_BASENAME='"hypercall"' -DKBUILD_MODNAME='"uxenhc"' -D__KBUILD_MODNAME=kmod_uxenhc -c -o /OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/hypercall.o /OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/hypercall.c + + the important part is "-I -DMODULE" which breaks include/linux/module.h behavior: + + /* + * MODULE_FILE is used for generating modules.builtin + * So, make it no-op when this is being built as a module + */ + #ifdef MODULE + #define MODULE_FILE + #else + #define MODULE_FILE MODULE_INFO(file, KBUILD_MODFILE); + #endif + + resulting in: + + In file included from /OE/work-shared/qemux86-64/kernel-source/include/linux/module.h:22, + from /OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/hypercall.c:3: + /OE/work-shared/qemux86-64/kernel-source/include/linux/module.h:183:43: error: expected ',' or ';' before 'KBUILD_MODFILE' + 183 | #define MODULE_FILE MODULE_INFO(file, KBUILD_MODFILE); + | ^~~~~~~~~~~~~~ + /OE/work-shared/qemux86-64/kernel-source/include/linux/moduleparam.h:26:61: note: in definition of macro '__MODULE_INFO' + 26 | = __MODULE_INFO_PREFIX __stringify(tag) "=" info + | ^~~~ + /OE/work-shared/qemux86-64/kernel-source/include/linux/module.h:183:25: note: in expansion of macro 'MODULE_INFO' + 183 | #define MODULE_FILE MODULE_INFO(file, KBUILD_MODFILE); + | ^~~~~~~~~~~ + /OE/work-shared/qemux86-64/kernel-source/include/linux/module.h:230:34: note: in expansion of macro 'MODULE_FILE' + 230 | #define MODULE_LICENSE(_license) MODULE_FILE MODULE_INFO(license, _license) + | ^~~~~~~~~~~ + /OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/hypercall.c:161:1: note: in expansion of macro 'MODULE_LICENSE' + 161 | MODULE_LICENSE("GPL"); + | ^~~~~~~~~~~~~~ + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + uxenhc/Kbuild | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/uxenhc/Kbuild b/uxenhc/Kbuild +index e418096..ef1b145 100644 +--- a/uxenhc/Kbuild ++++ b/uxenhc/Kbuild +@@ -1,4 +1,3 @@ + obj-m += uxenhc.o + + uxenhc-y := hypercall.o +-CFLAGS_hypercall.o := -I$(ATTOXEN_API_INC) +\ No newline at end of file diff --git a/recipes-extended/uxen/uxen-guest-tools/fix-Makefile-for-OE-kernel-build.patch b/recipes-extended/uxen/uxen-guest-tools/fix-Makefile-for-OE-kernel-build.patch index db4c53f5..09a43754 100644 --- a/recipes-extended/uxen/uxen-guest-tools/fix-Makefile-for-OE-kernel-build.patch +++ b/recipes-extended/uxen/uxen-guest-tools/fix-Makefile-for-OE-kernel-build.patch @@ -1,3 +1,5 @@ +Upstream-Status: Inappropriate [embedded specific] + # OpenEmbedded uses KERNEL_SRC instead of KDIR # and enable the modules_install target. # Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> diff --git a/recipes-extended/uxen/uxen-guest-tools_4.1.7.bb b/recipes-extended/uxen/uxen-guest-tools_4.1.7.bb deleted file mode 100644 index 757f1e3b..00000000 --- a/recipes-extended/uxen/uxen-guest-tools_4.1.7.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "uXen type-2 Open Source hypervisor Linux guest tools" -DESCRIPTION = "Linux guest virtual machine tools for the uXen hypervisor" -HOMEPAGE = "https://www.bromium.com/opensource" -LICENSE = "GPLv2" - -COMPATIBLE_HOST = '(x86_64.*).*-linux' - -SRC_URI = " \ - https://www.bromium.com/wp-content/uploads/2019/06/uxen-vmsupport-linux-${PV}.zip;name=uxen \ - https://www.bromium.com/wp-content/uploads/2019/11/Bromium-4.1.8-Open-Source-Software.pdf;name=license \ - file://fix-Makefile-for-OE-kernel-build.patch \ - " - -SRC_URI[uxen.sha384sum] = "d9d7a1fa5c44ac77eea3d8d4756f9e07fc02acfe12606325ff0bb8a60c07abc3e9ddb80c2039797fb2122d750219722f" -SRC_URI[license.sha384sum] = "92e48c614df3094cb52321d4c4e01f6df5526d46aee5c6fa36c43ee23d4c33f03baa1fc5f6f29efafff636b6d13bc92c" - -# The software license is GPLv2: please see page 199 of the pdf document -LIC_FILES_CHKSUM = "file://../Bromium-4.1.8-Open-Source-Software.pdf;md5=cf120df6ffa417b36f870a9997650049" - -S = "${WORKDIR}/uxen-vmsupport-linux-${PV}" - -inherit module diff --git a/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb b/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb new file mode 100644 index 00000000..c2f3464c --- /dev/null +++ b/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb @@ -0,0 +1,26 @@ +SUMMARY = "uXen type-2 Open Source hypervisor Linux guest tools" +DESCRIPTION = "Linux guest virtual machine tools for the uXen hypervisor" +HOMEPAGE = "https://www.bromium.com/opensource" +LICENSE = "GPL-2.0-only" + +COMPATIBLE_HOST = '(x86_64.*).*-linux' + +SRC_URI = " \ + https://www.bromium.com/wp-content/uploads/2019/11/uxen-${PV}.zip;name=uxen \ + https://www.bromium.com/wp-content/uploads/2019/11/Bromium-4.1.8-Open-Source-Software.pdf;name=license \ + file://fix-Makefile-for-OE-kernel-build.patch \ + file://0001-vm-support-fix-build-for-kernel-s-5.4.patch \ + file://0002-vm-support-fix-build-for-kernel-s-5.15.patch \ + file://0003-vm-support-fix-build-for-kernel-s-5.14.patch \ + file://0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch \ +" + +SRC_URI[uxen.sha384sum] = "be2233bc6506a23350d76c03ac28ea7ea381e1dc6ed5ce996e8ac71e6a3316fcaa2ed070c622618bd226f43a4d6db5d4" +SRC_URI[license.sha384sum] = "92e48c614df3094cb52321d4c4e01f6df5526d46aee5c6fa36c43ee23d4c33f03baa1fc5f6f29efafff636b6d13bc92c" + +# The software license is GPLv2: please see page 199 of the pdf document +LIC_FILES_CHKSUM = "file://${WORKDIR}/Bromium-4.1.8-Open-Source-Software.pdf;md5=cf120df6ffa417b36f870a9997650049" + +S = "${WORKDIR}/uxen-${PV}-72a4af9/vm-support/linux" + +inherit module dos2unix diff --git a/recipes-extended/vgabios/biossums_0.7a.bb b/recipes-extended/vgabios/biossums_0.7a.bb deleted file mode 100644 index e66bade7..00000000 --- a/recipes-extended/vgabios/biossums_0.7a.bb +++ /dev/null @@ -1,37 +0,0 @@ -DESCRIPTION = "biossums tool for building Plex86/Bochs LGPL VGABios" -HOMEPAGE = "http://www.nongnu.org/vgabios/" -LICENSE = "LGPLv2.1" -SECTION = "firmware" - -LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589" - -SRC_URI = "http://savannah.gnu.org/download/vgabios/vgabios-${PV}.tgz" - -SRC_URI[md5sum] = "2c0fe5c0ca08082a9293e3a7b23dc900" -SRC_URI[sha256sum] = "9d24c33d4bfb7831e2069cf3644936a53ef3de21d467872b54ce2ea30881b865" - -BBCLASSEXTEND = "native" - -FILES_${PN} = "${bindir}/biossums" - -S = "${WORKDIR}/vgabios-${PV}" - -do_configure() { - # Don't override the compiler or its flags: - sed 's,^CC,DISABLED_CC,' -i Makefile - sed 's,^CFLAGS,DISABLED_CFLAGS,' -i Makefile - sed 's,^LDFLAGS,DISABLED_LDFLAGS,' -i Makefile - # Supply the C flags to the compiler: - sed 's,-o biossums,$(CFLAGS) -o biossums,' -i Makefile -} - -do_compile() { - # clean removes binaries distributed with source - oe_runmake clean - oe_runmake biossums -} - -do_install() { - mkdir -p "${D}${bindir}" - install -m 0755 biossums "${D}${bindir}" -} diff --git a/recipes-extended/vgabios/files/build-cc.patch b/recipes-extended/vgabios/files/build-cc.patch new file mode 100644 index 00000000..01fd8b97 --- /dev/null +++ b/recipes-extended/vgabios/files/build-cc.patch @@ -0,0 +1,31 @@ +Use the host compiler to build the tools we need at runtime. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Ross Burton <ross.burton@arm.com> + +Index: Makefile +=================================================================== +--- a/Makefile (revision 298) ++++ b/Makefile (working copy) +@@ -5,6 +5,7 @@ + SHELL = /bin/sh + + CC = gcc ++HOSTCC = gcc + CFLAGS = -g -O2 -Wall -Wstrict-prototypes + LDFLAGS = + +@@ -79,10 +80,10 @@ + tar czvf ../$(RELEASE).tgz --exclude .svn -C .. $(RELEASE)/ + + biossums: biossums.c +- $(CC) -o biossums biossums.c ++ $(HOSTCC) -o biossums biossums.c + + vbetables-gen: vbetables-gen.c +- $(CC) -o vbetables-gen vbetables-gen.c ++ $(HOSTCC) -o vbetables-gen vbetables-gen.c + + vbetables.h: vbetables-gen + ./vbetables-gen > $@ diff --git a/recipes-extended/vgabios/vgabios_0.7a.bb b/recipes-extended/vgabios/vgabios_0.7a.bb deleted file mode 100644 index 3394173c..00000000 --- a/recipes-extended/vgabios/vgabios_0.7a.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "Plex86/Bochs LGPL VGABios" -HOMEPAGE = "http://www.nongnu.org/vgabios/" -LICENSE = "LGPLv2.1" -SECTION = "firmware" - -DEPENDS = "dev86-native biossums-native" - -LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589" - -SRC_URI = "http://savannah.gnu.org/download/vgabios/${BPN}-${PV}.tgz" - -SRC_URI[md5sum] = "2c0fe5c0ca08082a9293e3a7b23dc900" -SRC_URI[sha256sum] = "9d24c33d4bfb7831e2069cf3644936a53ef3de21d467872b54ce2ea30881b865" - -PR = "r0" - -FILES_${PN} = "/usr/share/firmware/${PN}-${PV}*.bin" -FILES_${PN}-dbg = "/usr/share/firmware/${PN}-${PV}*.debug.bin" - -S = "${WORKDIR}/${PN}-${PV}" - -do_configure() { - # Override to use the native-built biossums tool: - sed 's,./biossums,biossums,' -i Makefile - sed 's,$(CC) -o biossums biossums.c,touch biossums,' -i Makefile -} - -do_install() { - install -d ${D}/usr/share/firmware - install -m 0644 VGABIOS-lgpl-latest.bin ${D}/usr/share/firmware/${PN}-${PV}.bin - install -m 0644 VGABIOS-lgpl-latest.cirrus.bin ${D}/usr/share/firmware/${PN}-${PV}.cirrus.bin -} - diff --git a/recipes-extended/vgabios/vgabios_0.8a.bb b/recipes-extended/vgabios/vgabios_0.8a.bb new file mode 100644 index 00000000..044bb4ec --- /dev/null +++ b/recipes-extended/vgabios/vgabios_0.8a.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Plex86/Bochs LGPL VGABios" +HOMEPAGE = "http://www.nongnu.org/vgabios/" +LICENSE = "LGPL-2.1-only" +SECTION = "firmware" + +DEPENDS = "dev86-native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=fae731a3adbc92fd8bb1730d1f2455bc" + +SRC_URI = "http://savannah.gnu.org/download/vgabios/${BP}.tgz \ + file://build-cc.patch" +SRC_URI[sha256sum] = "481042240ef0f1c918780c92a6bb42ad4d3f5d989b29502fa7ee7faf13a041b9" + +EXTRA_OEMAKE = "HOSTCC="${BUILD_CC}"" + +do_install() { + install -d ${D}${datadir}/firmware + for file in VGABIOS*.bin; do + target=$(echo $file | sed s/VGABIOS-lgpl-latest/${BP}/) + install -m0644 $file ${D}${datadir}/firmware/$target + done +} + +FILES:${PN} = "${datadir}/firmware/${BP}*.bin" +FILES:${PN}-dbg = "${datadir}/firmware/${BP}*.debug.bin" diff --git a/recipes-extended/vhost-device/README.md b/recipes-extended/vhost-device/README.md new file mode 100644 index 00000000..dd79b484 --- /dev/null +++ b/recipes-extended/vhost-device/README.md @@ -0,0 +1,14 @@ +# vhost-device: A collection of vhost-user devices + +[vhost-device](https://github.com/rust-vmm/vhost-device) provides a series of +daemons that implement the +[vhost-user protocol](https://qemu-project.gitlab.io/qemu/interop/vhost-user.html) +for various virtio device types. + +## Updating the recipes + +1. Bump the version number to the newly published version listed on crates.io +2. Regenerate the .inc file that list the dependencies: + `bitbake -c update_crates vhost-device-<type>` +3. Review, build and test the changes + diff --git a/recipes-extended/vhost-device/vhost-device-gpio-crates.inc b/recipes-extended/vhost-device/vhost-device-gpio-crates.inc new file mode 100644 index 00000000..4d73c1fd --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-gpio-crates.inc @@ -0,0 +1,184 @@ +# Autogenerated with 'bitbake -c update_crates vhost-device-gpio' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/aho-corasick/1.0.2 \ + crate://crates.io/anstream/0.3.2 \ + crate://crates.io/anstyle/1.0.1 \ + crate://crates.io/anstyle-parse/0.2.1 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/1.0.1 \ + crate://crates.io/arc-swap/1.6.0 \ + crate://crates.io/assert_matches/1.5.0 \ + crate://crates.io/bindgen/0.63.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.3.3 \ + crate://crates.io/cc/1.0.79 \ + crate://crates.io/cexpr/0.6.0 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clang-sys/1.6.1 \ + crate://crates.io/clap/4.3.19 \ + crate://crates.io/clap_builder/4.3.19 \ + crate://crates.io/clap_derive/4.3.12 \ + crate://crates.io/clap_lex/0.5.0 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/either/1.8.1 \ + crate://crates.io/env_logger/0.10.0 \ + crate://crates.io/errno/0.2.8 \ + crate://crates.io/errno/0.3.1 \ + crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/glob/0.3.1 \ + crate://crates.io/heck/0.3.3 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.2 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/intmap/2.0.0 \ + crate://crates.io/is-terminal/0.4.9 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/lazycell/1.3.0 \ + crate://crates.io/libc/0.2.147 \ + crate://crates.io/libgpiod/0.1.0 \ + crate://crates.io/libgpiod-sys/0.1.0 \ + crate://crates.io/libloading/0.7.4 \ + crate://crates.io/linux-raw-sys/0.4.3 \ + crate://crates.io/log/0.4.19 \ + crate://crates.io/memchr/2.5.0 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/peeking_take_while/0.1.2 \ + crate://crates.io/pkg-config/0.3.27 \ + crate://crates.io/proc-macro2/1.0.63 \ + crate://crates.io/quote/1.0.29 \ + crate://crates.io/regex/1.9.1 \ + crate://crates.io/regex-automata/0.3.2 \ + crate://crates.io/regex-syntax/0.7.4 \ + crate://crates.io/rustc-hash/1.1.0 \ + crate://crates.io/rustix/0.38.3 \ + crate://crates.io/serde/1.0.168 \ + crate://crates.io/shlex/1.1.0 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/strum/0.20.0 \ + crate://crates.io/strum_macros/0.20.1 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.23 \ + crate://crates.io/system-deps/2.0.3 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/thiserror/1.0.41 \ + crate://crates.io/thiserror-impl/1.0.41 \ + crate://crates.io/toml/0.5.11 \ + crate://crates.io/unicode-ident/1.0.11 \ + crate://crates.io/unicode-segmentation/1.10.1 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/version-compare/0.0.11 \ + crate://crates.io/vhost/0.8.0 \ + crate://crates.io/vhost-user-backend/0.10.0 \ + crate://crates.io/virtio-bindings/0.2.1 \ + crate://crates.io/virtio-queue/0.9.0 \ + crate://crates.io/vm-memory/0.12.0 \ + crate://crates.io/vmm-sys-util/0.11.1 \ + crate://crates.io/which/4.4.0 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-targets/0.48.1 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.0 \ + crate://crates.io/windows_i686_gnu/0.48.0 \ + crate://crates.io/windows_i686_msvc/0.48.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.0 \ +" + +SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-1.0.1.sha256sum] = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +SRC_URI[arc-swap-1.6.0.sha256sum] = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +SRC_URI[assert_matches-1.5.0.sha256sum] = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +SRC_URI[bindgen-0.63.0.sha256sum] = "36d860121800b2a9a94f9b5604b332d5cffb234ce17609ea479d723dbc9d3885" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clang-sys-1.6.1.sha256sum] = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +SRC_URI[clap-4.3.19.sha256sum] = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" +SRC_URI[clap_builder-4.3.19.sha256sum] = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" +SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[either-1.8.1.sha256sum] = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +SRC_URI[errno-0.2.8.sha256sum] = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +SRC_URI[heck-0.3.3.sha256sum] = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[intmap-2.0.0.sha256sum] = "ee87fd093563344074bacf24faa0bb0227fb6969fb223e922db798516de924d6" +SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +SRC_URI[libgpiod-0.1.0.sha256sum] = "9e9fdf4b437063f5697151f9ead12bafa223958e243f2f736107ec68c2b88231" +SRC_URI[libgpiod-sys-0.1.0.sha256sum] = "aa282e1da652deaeed776f6ef36d443689aeda19e5c0a3a2335c50b4611ce489" +SRC_URI[libloading-0.7.4.sha256sum] = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +SRC_URI[linux-raw-sys-0.4.3.sha256sum] = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[peeking_take_while-0.1.2.sha256sum] = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +SRC_URI[regex-1.9.1.sha256sum] = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +SRC_URI[regex-automata-0.3.2.sha256sum] = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +SRC_URI[rustix-0.38.3.sha256sum] = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" +SRC_URI[serde-1.0.168.sha256sum] = "d614f89548720367ded108b3c843be93f3a341e22d5674ca0dd5cd57f34926af" +SRC_URI[shlex-1.1.0.sha256sum] = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[strum-0.20.0.sha256sum] = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" +SRC_URI[strum_macros-0.20.1.sha256sum] = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.23.sha256sum] = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +SRC_URI[system-deps-2.0.3.sha256sum] = "1b59b8aafd652f3c1469f16e6c223121e8a8dbe40c71475209c1401cff3a67ef" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[thiserror-1.0.41.sha256sum] = "c16a64ba9387ef3fdae4f9c1a7f07a0997fce91985c0336f1ddc1822b3b37802" +SRC_URI[thiserror-impl-1.0.41.sha256sum] = "d14928354b01c4d6a4f0e549069adef399a284e7995c7ccca94e8a07a5346c59" +SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +SRC_URI[unicode-segmentation-1.10.1.sha256sum] = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[version-compare-0.0.11.sha256sum] = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" +SRC_URI[vhost-0.8.0.sha256sum] = "73832f4d8d636d63d9b145e8ef22a2c50b93f4d24eb7a99c9e6781b1b08549cf" +SRC_URI[vhost-user-backend-0.10.0.sha256sum] = "e3ea9d5e8ec847cde4df1c04e586698a479706fd6beca37323f9d425b24b4c2f" +SRC_URI[virtio-bindings-0.2.1.sha256sum] = "c18d7b74098a946470ea265b5bacbbf877abc3373021388454de0d47735a5b98" +SRC_URI[virtio-queue-0.9.0.sha256sum] = "35aca00da06841bd99162c381ec65893cace23ca0fb89254302cfe4bec4c300f" +SRC_URI[vm-memory-0.12.0.sha256sum] = "a77c7a0891cbac53618f5f6eec650ed1dc4f7e506bbe14877aff49d94b8408b0" +SRC_URI[vmm-sys-util-0.11.1.sha256sum] = "dd64fe09d8e880e600c324e7d664760a17f56e9672b7495a86381b49e4f72f46" +SRC_URI[which-4.4.0.sha256sum] = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" diff --git a/recipes-extended/vhost-device/vhost-device-gpio_0.1.0.bb b/recipes-extended/vhost-device/vhost-device-gpio_0.1.0.bb new file mode 100644 index 00000000..79931163 --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-gpio_0.1.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "vhost gpio backend device" +DESCRIPTION = "A vhost-user backend that emulates a VirtIO GPIO device" +HOMEPAGE = "https://github.com/rust-vmm/vhost-device" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = "\ + file://LICENSE-APACHE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://LICENSE-BSD-3-Clause;md5=2489db1359f496fff34bd393df63947e \ +" +DEPENDS += "libgpiod" +# libgpiod-sys generates bindings using bindgen, which depends on clang +DEPENDS += "clang-native" + +SKIP_RECIPE[vhost-device-gpio] ?= "${@bb.utils.contains('BBFILE_COLLECTIONS', 'clang-layer', '', 'Depends on clang-native from meta-clang which is not included', d)}" + +SRC_URI += "crate://crates.io/vhost-device-gpio/0.1.0" +SRC_URI[vhost-device-gpio-0.1.0.sha256sum] = "f4789dd127ce746d4f702d50256ff09e47b19fdb2bfee88a254b7e48efbf1100" + +inherit cargo +inherit cargo-update-recipe-crates +inherit pkgconfig + +include vhost-device-gpio-crates.inc diff --git a/recipes-extended/vhost-device/vhost-device-i2c-crates.inc b/recipes-extended/vhost-device/vhost-device-i2c-crates.inc new file mode 100644 index 00000000..ba6a757d --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-i2c-crates.inc @@ -0,0 +1,126 @@ +# Autogenerated with 'bitbake -c update_crates vhost-device-i2c' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/aho-corasick/1.0.2 \ + crate://crates.io/anstream/0.3.2 \ + crate://crates.io/anstyle/1.0.1 \ + crate://crates.io/anstyle-parse/0.2.1 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/1.0.1 \ + crate://crates.io/arc-swap/1.6.0 \ + crate://crates.io/assert_matches/1.5.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.3.3 \ + crate://crates.io/cc/1.0.79 \ + crate://crates.io/clap/4.3.19 \ + crate://crates.io/clap_builder/4.3.19 \ + crate://crates.io/clap_derive/4.3.12 \ + crate://crates.io/clap_lex/0.5.0 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/env_logger/0.10.0 \ + crate://crates.io/errno/0.3.1 \ + crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.2 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/is-terminal/0.4.9 \ + crate://crates.io/libc/0.2.147 \ + crate://crates.io/linux-raw-sys/0.4.3 \ + crate://crates.io/log/0.4.19 \ + crate://crates.io/memchr/2.5.0 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/proc-macro2/1.0.63 \ + crate://crates.io/quote/1.0.29 \ + crate://crates.io/regex/1.9.1 \ + crate://crates.io/regex-automata/0.3.2 \ + crate://crates.io/regex-syntax/0.7.4 \ + crate://crates.io/rustix/0.38.3 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/2.0.23 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/thiserror/1.0.41 \ + crate://crates.io/thiserror-impl/1.0.41 \ + crate://crates.io/unicode-ident/1.0.11 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/vhost/0.8.0 \ + crate://crates.io/vhost-user-backend/0.10.0 \ + crate://crates.io/virtio-bindings/0.2.1 \ + crate://crates.io/virtio-queue/0.9.0 \ + crate://crates.io/vm-memory/0.12.0 \ + crate://crates.io/vmm-sys-util/0.11.1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-targets/0.48.1 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.0 \ + crate://crates.io/windows_i686_gnu/0.48.0 \ + crate://crates.io/windows_i686_msvc/0.48.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.0 \ +" + +SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-1.0.1.sha256sum] = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +SRC_URI[arc-swap-1.6.0.sha256sum] = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +SRC_URI[assert_matches-1.5.0.sha256sum] = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +SRC_URI[clap-4.3.19.sha256sum] = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" +SRC_URI[clap_builder-4.3.19.sha256sum] = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" +SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +SRC_URI[linux-raw-sys-0.4.3.sha256sum] = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +SRC_URI[regex-1.9.1.sha256sum] = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +SRC_URI[regex-automata-0.3.2.sha256sum] = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +SRC_URI[rustix-0.38.3.sha256sum] = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-2.0.23.sha256sum] = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[thiserror-1.0.41.sha256sum] = "c16a64ba9387ef3fdae4f9c1a7f07a0997fce91985c0336f1ddc1822b3b37802" +SRC_URI[thiserror-impl-1.0.41.sha256sum] = "d14928354b01c4d6a4f0e549069adef399a284e7995c7ccca94e8a07a5346c59" +SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[vhost-0.8.0.sha256sum] = "73832f4d8d636d63d9b145e8ef22a2c50b93f4d24eb7a99c9e6781b1b08549cf" +SRC_URI[vhost-user-backend-0.10.0.sha256sum] = "e3ea9d5e8ec847cde4df1c04e586698a479706fd6beca37323f9d425b24b4c2f" +SRC_URI[virtio-bindings-0.2.1.sha256sum] = "c18d7b74098a946470ea265b5bacbbf877abc3373021388454de0d47735a5b98" +SRC_URI[virtio-queue-0.9.0.sha256sum] = "35aca00da06841bd99162c381ec65893cace23ca0fb89254302cfe4bec4c300f" +SRC_URI[vm-memory-0.12.0.sha256sum] = "a77c7a0891cbac53618f5f6eec650ed1dc4f7e506bbe14877aff49d94b8408b0" +SRC_URI[vmm-sys-util-0.11.1.sha256sum] = "dd64fe09d8e880e600c324e7d664760a17f56e9672b7495a86381b49e4f72f46" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" diff --git a/recipes-extended/vhost-device/vhost-device-i2c_0.1.0.bb b/recipes-extended/vhost-device/vhost-device-i2c_0.1.0.bb new file mode 100644 index 00000000..c9179da3 --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-i2c_0.1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "vhost i2c backend device" +DESCRIPTION = "A vhost-user backend that emulates a VirtIO I2C device" +HOMEPAGE = "https://github.com/rust-vmm/vhost-device" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = " \ + file://LICENSE-APACHE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://LICENSE-BSD-3-Clause;md5=2489db1359f496fff34bd393df63947e \ +" + +SRC_URI += "crate://crates.io/vhost-device-i2c/0.1.0" +SRC_URI[vhost-device-i2c-0.1.0.sha256sum] = "a77923a4f161887ca2a19ead2d2f2271d62d1268e774265c42c277367f019a3f" + +inherit cargo +inherit cargo-update-recipe-crates + +include vhost-device-i2c-crates.inc diff --git a/recipes-extended/vhost-device/vhost-device-rng-crates.inc b/recipes-extended/vhost-device/vhost-device-rng-crates.inc new file mode 100644 index 00000000..5a50da3e --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-rng-crates.inc @@ -0,0 +1,158 @@ +# Autogenerated with 'bitbake -c update_crates vhost-device-rng' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/aho-corasick/1.0.2 \ + crate://crates.io/anstream/0.3.2 \ + crate://crates.io/anstyle/1.0.1 \ + crate://crates.io/anstyle-parse/0.2.1 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/1.0.1 \ + crate://crates.io/arc-swap/1.6.0 \ + crate://crates.io/assert_matches/1.5.0 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.3.3 \ + crate://crates.io/cc/1.0.79 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clap/4.3.19 \ + crate://crates.io/clap_builder/4.3.19 \ + crate://crates.io/clap_derive/4.3.12 \ + crate://crates.io/clap_lex/0.5.0 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/env_logger/0.10.0 \ + crate://crates.io/epoll/4.3.3 \ + crate://crates.io/errno/0.3.1 \ + crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/getrandom/0.2.10 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.2 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/is-terminal/0.4.9 \ + crate://crates.io/libc/0.2.147 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/linux-raw-sys/0.4.3 \ + crate://crates.io/log/0.4.19 \ + crate://crates.io/memchr/2.5.0 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/ppv-lite86/0.2.17 \ + crate://crates.io/proc-macro2/1.0.63 \ + crate://crates.io/quote/1.0.29 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/regex/1.9.1 \ + crate://crates.io/regex-automata/0.3.2 \ + crate://crates.io/regex-syntax/0.7.4 \ + crate://crates.io/rustix/0.37.23 \ + crate://crates.io/rustix/0.38.3 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/2.0.23 \ + crate://crates.io/tempfile/3.6.0 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/thiserror/1.0.41 \ + crate://crates.io/thiserror-impl/1.0.41 \ + crate://crates.io/unicode-ident/1.0.11 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/vhost/0.8.0 \ + crate://crates.io/vhost-user-backend/0.10.0 \ + crate://crates.io/virtio-bindings/0.2.1 \ + crate://crates.io/virtio-queue/0.9.0 \ + crate://crates.io/vm-memory/0.12.0 \ + crate://crates.io/vmm-sys-util/0.11.1 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-targets/0.48.1 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.0 \ + crate://crates.io/windows_i686_gnu/0.48.0 \ + crate://crates.io/windows_i686_msvc/0.48.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.0 \ +" + +SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-1.0.1.sha256sum] = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +SRC_URI[arc-swap-1.6.0.sha256sum] = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +SRC_URI[assert_matches-1.5.0.sha256sum] = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clap-4.3.19.sha256sum] = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" +SRC_URI[clap_builder-4.3.19.sha256sum] = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" +SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +SRC_URI[epoll-4.3.3.sha256sum] = "74351c3392ea1ff6cd2628e0042d268ac2371cb613252ff383b6dfa50d22fa79" +SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[linux-raw-sys-0.4.3.sha256sum] = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[regex-1.9.1.sha256sum] = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +SRC_URI[regex-automata-0.3.2.sha256sum] = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +SRC_URI[rustix-0.37.23.sha256sum] = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +SRC_URI[rustix-0.38.3.sha256sum] = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-2.0.23.sha256sum] = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +SRC_URI[tempfile-3.6.0.sha256sum] = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[thiserror-1.0.41.sha256sum] = "c16a64ba9387ef3fdae4f9c1a7f07a0997fce91985c0336f1ddc1822b3b37802" +SRC_URI[thiserror-impl-1.0.41.sha256sum] = "d14928354b01c4d6a4f0e549069adef399a284e7995c7ccca94e8a07a5346c59" +SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[vhost-0.8.0.sha256sum] = "73832f4d8d636d63d9b145e8ef22a2c50b93f4d24eb7a99c9e6781b1b08549cf" +SRC_URI[vhost-user-backend-0.10.0.sha256sum] = "e3ea9d5e8ec847cde4df1c04e586698a479706fd6beca37323f9d425b24b4c2f" +SRC_URI[virtio-bindings-0.2.1.sha256sum] = "c18d7b74098a946470ea265b5bacbbf877abc3373021388454de0d47735a5b98" +SRC_URI[virtio-queue-0.9.0.sha256sum] = "35aca00da06841bd99162c381ec65893cace23ca0fb89254302cfe4bec4c300f" +SRC_URI[vm-memory-0.12.0.sha256sum] = "a77c7a0891cbac53618f5f6eec650ed1dc4f7e506bbe14877aff49d94b8408b0" +SRC_URI[vmm-sys-util-0.11.1.sha256sum] = "dd64fe09d8e880e600c324e7d664760a17f56e9672b7495a86381b49e4f72f46" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" diff --git a/recipes-extended/vhost-device/vhost-device-rng_0.1.0.bb b/recipes-extended/vhost-device/vhost-device-rng_0.1.0.bb new file mode 100644 index 00000000..6e4cf824 --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-rng_0.1.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "vhost rng backend device" +DESCRIPTION = "A vhost-user backend that emulates a VirtIO random number \ + generator device" +HOMEPAGE = "https://github.com/rust-vmm/vhost-device" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = " \ + file://LICENSE-APACHE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://LICENSE-BSD-3-Clause;md5=2489db1359f496fff34bd393df63947e \ +" + +SRC_URI += "crate://crates.io/vhost-device-rng/0.1.0" +SRC_URI[vhost-device-rng-0.1.0.sha256sum] = "51e0af4acaaefc19a3d6c2e2cb00caf2130d728d857494c857662781da9f1329" + +inherit cargo +inherit cargo-update-recipe-crates + +include vhost-device-rng-crates.inc diff --git a/recipes-extended/vhost-device/vhost-device-scsi-crates.inc b/recipes-extended/vhost-device/vhost-device-scsi-crates.inc new file mode 100644 index 00000000..3f9a08b4 --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-scsi-crates.inc @@ -0,0 +1,166 @@ +# Autogenerated with 'bitbake -c update_crates vhost-device-scsi' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/aho-corasick/1.0.2 \ + crate://crates.io/anstream/0.3.2 \ + crate://crates.io/anstyle/1.0.1 \ + crate://crates.io/anstyle-parse/0.2.1 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/1.0.1 \ + crate://crates.io/arc-swap/1.6.0 \ + crate://crates.io/assert_matches/1.5.0 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.3.3 \ + crate://crates.io/cc/1.0.79 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clap/4.3.19 \ + crate://crates.io/clap_builder/4.3.19 \ + crate://crates.io/clap_derive/4.3.12 \ + crate://crates.io/clap_lex/0.5.0 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/env_logger/0.10.0 \ + crate://crates.io/epoll/4.3.3 \ + crate://crates.io/equivalent/1.0.0 \ + crate://crates.io/errno/0.3.1 \ + crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/hashbrown/0.14.0 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.2 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/indexmap/2.0.0 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/is-terminal/0.4.9 \ + crate://crates.io/libc/0.2.147 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/linux-raw-sys/0.4.3 \ + crate://crates.io/log/0.4.19 \ + crate://crates.io/memchr/2.5.0 \ + crate://crates.io/num_enum/0.5.11 \ + crate://crates.io/num_enum_derive/0.5.11 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/proc-macro-crate/1.3.1 \ + crate://crates.io/proc-macro2/1.0.63 \ + crate://crates.io/quote/1.0.29 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/regex/1.9.1 \ + crate://crates.io/regex-automata/0.3.2 \ + crate://crates.io/regex-syntax/0.7.4 \ + crate://crates.io/rustix/0.37.23 \ + crate://crates.io/rustix/0.38.3 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.23 \ + crate://crates.io/tempfile/3.6.0 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/thiserror/1.0.41 \ + crate://crates.io/thiserror-impl/1.0.41 \ + crate://crates.io/toml_datetime/0.6.3 \ + crate://crates.io/toml_edit/0.19.12 \ + crate://crates.io/unicode-ident/1.0.11 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/vhost/0.8.0 \ + crate://crates.io/vhost-user-backend/0.10.0 \ + crate://crates.io/virtio-bindings/0.2.1 \ + crate://crates.io/virtio-queue/0.9.0 \ + crate://crates.io/vm-memory/0.12.0 \ + crate://crates.io/vmm-sys-util/0.11.1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-targets/0.48.1 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.0 \ + crate://crates.io/windows_i686_gnu/0.48.0 \ + crate://crates.io/windows_i686_msvc/0.48.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.0 \ + crate://crates.io/winnow/0.4.7 \ +" + +SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-1.0.1.sha256sum] = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +SRC_URI[arc-swap-1.6.0.sha256sum] = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +SRC_URI[assert_matches-1.5.0.sha256sum] = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clap-4.3.19.sha256sum] = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" +SRC_URI[clap_builder-4.3.19.sha256sum] = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" +SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +SRC_URI[epoll-4.3.3.sha256sum] = "74351c3392ea1ff6cd2628e0042d268ac2371cb613252ff383b6dfa50d22fa79" +SRC_URI[equivalent-1.0.0.sha256sum] = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" +SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[hashbrown-0.14.0.sha256sum] = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[linux-raw-sys-0.4.3.sha256sum] = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +SRC_URI[num_enum-0.5.11.sha256sum] = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +SRC_URI[num_enum_derive-0.5.11.sha256sum] = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[proc-macro-crate-1.3.1.sha256sum] = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[regex-1.9.1.sha256sum] = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +SRC_URI[regex-automata-0.3.2.sha256sum] = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +SRC_URI[rustix-0.37.23.sha256sum] = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +SRC_URI[rustix-0.38.3.sha256sum] = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.23.sha256sum] = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +SRC_URI[tempfile-3.6.0.sha256sum] = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[thiserror-1.0.41.sha256sum] = "c16a64ba9387ef3fdae4f9c1a7f07a0997fce91985c0336f1ddc1822b3b37802" +SRC_URI[thiserror-impl-1.0.41.sha256sum] = "d14928354b01c4d6a4f0e549069adef399a284e7995c7ccca94e8a07a5346c59" +SRC_URI[toml_datetime-0.6.3.sha256sum] = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +SRC_URI[toml_edit-0.19.12.sha256sum] = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78" +SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[vhost-0.8.0.sha256sum] = "73832f4d8d636d63d9b145e8ef22a2c50b93f4d24eb7a99c9e6781b1b08549cf" +SRC_URI[vhost-user-backend-0.10.0.sha256sum] = "e3ea9d5e8ec847cde4df1c04e586698a479706fd6beca37323f9d425b24b4c2f" +SRC_URI[virtio-bindings-0.2.1.sha256sum] = "c18d7b74098a946470ea265b5bacbbf877abc3373021388454de0d47735a5b98" +SRC_URI[virtio-queue-0.9.0.sha256sum] = "35aca00da06841bd99162c381ec65893cace23ca0fb89254302cfe4bec4c300f" +SRC_URI[vm-memory-0.12.0.sha256sum] = "a77c7a0891cbac53618f5f6eec650ed1dc4f7e506bbe14877aff49d94b8408b0" +SRC_URI[vmm-sys-util-0.11.1.sha256sum] = "dd64fe09d8e880e600c324e7d664760a17f56e9672b7495a86381b49e4f72f46" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +SRC_URI[winnow-0.4.7.sha256sum] = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" diff --git a/recipes-extended/vhost-device/vhost-device-scsi_0.1.0.bb b/recipes-extended/vhost-device/vhost-device-scsi_0.1.0.bb new file mode 100644 index 00000000..6c9b49fa --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-scsi_0.1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "vhost scsi backend device" +DESCRIPTION = "A vhost-user backend that emulates a VirtIO SCSI block device" +HOMEPAGE = "https://github.com/rust-vmm/vhost-device" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = " \ + file://LICENSE-APACHE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://LICENSE-BSD-3-Clause;md5=2489db1359f496fff34bd393df63947e \ +" + +SRC_URI += "crate://crates.io/vhost-device-scsi/0.1.0" +SRC_URI[vhost-device-scsi-0.1.0.sha256sum] = "85e4abd5a07cb6abfe07b92e49c5cc81437058d7ec7beea441039e829cf82c22" + +inherit cargo +inherit cargo-update-recipe-crates + +include vhost-device-scsi-crates.inc diff --git a/recipes-extended/vhost-device/vhost-device-vsock-crates.inc b/recipes-extended/vhost-device/vhost-device-vsock-crates.inc new file mode 100644 index 00000000..4ea2baa0 --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-vsock-crates.inc @@ -0,0 +1,258 @@ +# Autogenerated with 'bitbake -c update_crates vhost-device-vsock' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/ahash/0.7.6 \ + crate://crates.io/aho-corasick/1.0.2 \ + crate://crates.io/anstream/0.3.2 \ + crate://crates.io/anstyle/1.0.1 \ + crate://crates.io/anstyle-parse/0.2.1 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/1.0.1 \ + crate://crates.io/arc-swap/1.6.0 \ + crate://crates.io/async-trait/0.1.71 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/base64/0.13.1 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.3.3 \ + crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/byteorder/1.4.3 \ + crate://crates.io/cc/1.0.79 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clap/4.3.19 \ + crate://crates.io/clap_builder/4.3.19 \ + crate://crates.io/clap_derive/4.3.12 \ + crate://crates.io/clap_lex/0.5.0 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/config/0.13.3 \ + crate://crates.io/cpufeatures/0.2.9 \ + crate://crates.io/crypto-common/0.1.6 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/dlv-list/0.3.0 \ + crate://crates.io/env_logger/0.10.0 \ + crate://crates.io/epoll/4.3.3 \ + crate://crates.io/equivalent/1.0.0 \ + crate://crates.io/errno/0.3.1 \ + crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/futures/0.3.28 \ + crate://crates.io/futures-channel/0.3.28 \ + crate://crates.io/futures-core/0.3.28 \ + crate://crates.io/futures-executor/0.3.28 \ + crate://crates.io/futures-io/0.3.28 \ + crate://crates.io/futures-macro/0.3.28 \ + crate://crates.io/futures-sink/0.3.28 \ + crate://crates.io/futures-task/0.3.28 \ + crate://crates.io/futures-util/0.3.28 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/getrandom/0.2.10 \ + crate://crates.io/hashbrown/0.12.3 \ + crate://crates.io/hashbrown/0.14.0 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.2 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/indexmap/2.0.0 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/is-terminal/0.4.9 \ + crate://crates.io/itoa/1.0.8 \ + crate://crates.io/json5/0.4.1 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/libc/0.2.147 \ + crate://crates.io/linked-hash-map/0.5.6 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/linux-raw-sys/0.4.3 \ + crate://crates.io/log/0.4.19 \ + crate://crates.io/memchr/2.5.0 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/num_cpus/1.16.0 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/ordered-multimap/0.4.3 \ + crate://crates.io/pathdiff/0.2.1 \ + crate://crates.io/pest/2.7.1 \ + crate://crates.io/pest_derive/2.7.0 \ + crate://crates.io/pest_generator/2.7.0 \ + crate://crates.io/pest_meta/2.7.0 \ + crate://crates.io/pin-project-lite/0.2.10 \ + crate://crates.io/pin-utils/0.1.0 \ + crate://crates.io/proc-macro2/1.0.63 \ + crate://crates.io/quote/1.0.29 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/regex/1.9.1 \ + crate://crates.io/regex-automata/0.3.2 \ + crate://crates.io/regex-syntax/0.7.4 \ + crate://crates.io/ron/0.7.1 \ + crate://crates.io/rust-ini/0.18.0 \ + crate://crates.io/rustix/0.37.23 \ + crate://crates.io/rustix/0.38.3 \ + crate://crates.io/ryu/1.0.15 \ + crate://crates.io/serde/1.0.168 \ + crate://crates.io/serde_derive/1.0.168 \ + crate://crates.io/serde_json/1.0.100 \ + crate://crates.io/serde_yaml/0.9.22 \ + crate://crates.io/sha2/0.10.7 \ + crate://crates.io/slab/0.4.8 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/2.0.23 \ + crate://crates.io/tempfile/3.6.0 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/thiserror/1.0.41 \ + crate://crates.io/thiserror-impl/1.0.41 \ + crate://crates.io/toml/0.5.11 \ + crate://crates.io/typenum/1.16.0 \ + crate://crates.io/ucd-trie/0.1.6 \ + crate://crates.io/unicode-ident/1.0.11 \ + crate://crates.io/unsafe-libyaml/0.2.8 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/vhost/0.8.0 \ + crate://crates.io/vhost-user-backend/0.10.0 \ + crate://crates.io/virtio-bindings/0.2.1 \ + crate://crates.io/virtio-queue/0.9.0 \ + crate://crates.io/virtio-vsock/0.3.1 \ + crate://crates.io/vm-memory/0.12.0 \ + crate://crates.io/vmm-sys-util/0.11.1 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-targets/0.48.1 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.0 \ + crate://crates.io/windows_i686_gnu/0.48.0 \ + crate://crates.io/windows_i686_msvc/0.48.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.0 \ + crate://crates.io/yaml-rust/0.4.5 \ +" + +SRC_URI[ahash-0.7.6.sha256sum] = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-1.0.1.sha256sum] = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +SRC_URI[arc-swap-1.6.0.sha256sum] = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +SRC_URI[async-trait-0.1.71.sha256sum] = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[byteorder-1.4.3.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clap-4.3.19.sha256sum] = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" +SRC_URI[clap_builder-4.3.19.sha256sum] = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" +SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[config-0.13.3.sha256sum] = "d379af7f68bfc21714c6c7dea883544201741d2ce8274bb12fa54f89507f52a7" +SRC_URI[cpufeatures-0.2.9.sha256sum] = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[dlv-list-0.3.0.sha256sum] = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" +SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +SRC_URI[epoll-4.3.3.sha256sum] = "74351c3392ea1ff6cd2628e0042d268ac2371cb613252ff383b6dfa50d22fa79" +SRC_URI[equivalent-1.0.0.sha256sum] = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" +SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[futures-0.3.28.sha256sum] = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +SRC_URI[futures-channel-0.3.28.sha256sum] = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +SRC_URI[futures-core-0.3.28.sha256sum] = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +SRC_URI[futures-executor-0.3.28.sha256sum] = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +SRC_URI[futures-io-0.3.28.sha256sum] = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +SRC_URI[futures-macro-0.3.28.sha256sum] = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +SRC_URI[futures-sink-0.3.28.sha256sum] = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +SRC_URI[futures-task-0.3.28.sha256sum] = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +SRC_URI[futures-util-0.3.28.sha256sum] = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +SRC_URI[hashbrown-0.14.0.sha256sum] = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +SRC_URI[itoa-1.0.8.sha256sum] = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +SRC_URI[json5-0.4.1.sha256sum] = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" +SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[linux-raw-sys-0.4.3.sha256sum] = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[ordered-multimap-0.4.3.sha256sum] = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" +SRC_URI[pathdiff-0.2.1.sha256sum] = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +SRC_URI[pest-2.7.1.sha256sum] = "0d2d1d55045829d65aad9d389139882ad623b33b904e7c9f1b10c5b8927298e5" +SRC_URI[pest_derive-2.7.0.sha256sum] = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" +SRC_URI[pest_generator-2.7.0.sha256sum] = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" +SRC_URI[pest_meta-2.7.0.sha256sum] = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" +SRC_URI[pin-project-lite-0.2.10.sha256sum] = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[regex-1.9.1.sha256sum] = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +SRC_URI[regex-automata-0.3.2.sha256sum] = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +SRC_URI[ron-0.7.1.sha256sum] = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" +SRC_URI[rust-ini-0.18.0.sha256sum] = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" +SRC_URI[rustix-0.37.23.sha256sum] = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +SRC_URI[rustix-0.38.3.sha256sum] = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" +SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +SRC_URI[serde-1.0.168.sha256sum] = "d614f89548720367ded108b3c843be93f3a341e22d5674ca0dd5cd57f34926af" +SRC_URI[serde_derive-1.0.168.sha256sum] = "d4fe589678c688e44177da4f27152ee2d190757271dc7f1d5b6b9f68d869d641" +SRC_URI[serde_json-1.0.100.sha256sum] = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +SRC_URI[serde_yaml-0.9.22.sha256sum] = "452e67b9c20c37fa79df53201dc03839651086ed9bbe92b3ca585ca9fdaa7d85" +SRC_URI[sha2-0.10.7.sha256sum] = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +SRC_URI[slab-0.4.8.sha256sum] = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-2.0.23.sha256sum] = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +SRC_URI[tempfile-3.6.0.sha256sum] = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[thiserror-1.0.41.sha256sum] = "c16a64ba9387ef3fdae4f9c1a7f07a0997fce91985c0336f1ddc1822b3b37802" +SRC_URI[thiserror-impl-1.0.41.sha256sum] = "d14928354b01c4d6a4f0e549069adef399a284e7995c7ccca94e8a07a5346c59" +SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +SRC_URI[typenum-1.16.0.sha256sum] = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +SRC_URI[ucd-trie-0.1.6.sha256sum] = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +SRC_URI[unsafe-libyaml-0.2.8.sha256sum] = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[vhost-0.8.0.sha256sum] = "73832f4d8d636d63d9b145e8ef22a2c50b93f4d24eb7a99c9e6781b1b08549cf" +SRC_URI[vhost-user-backend-0.10.0.sha256sum] = "e3ea9d5e8ec847cde4df1c04e586698a479706fd6beca37323f9d425b24b4c2f" +SRC_URI[virtio-bindings-0.2.1.sha256sum] = "c18d7b74098a946470ea265b5bacbbf877abc3373021388454de0d47735a5b98" +SRC_URI[virtio-queue-0.9.0.sha256sum] = "35aca00da06841bd99162c381ec65893cace23ca0fb89254302cfe4bec4c300f" +SRC_URI[virtio-vsock-0.3.1.sha256sum] = "c92d1d0c0db339e03dc275e86e5de2654ed94b351f02d405a3a0260dfc1b839f" +SRC_URI[vm-memory-0.12.0.sha256sum] = "a77c7a0891cbac53618f5f6eec650ed1dc4f7e506bbe14877aff49d94b8408b0" +SRC_URI[vmm-sys-util-0.11.1.sha256sum] = "dd64fe09d8e880e600c324e7d664760a17f56e9672b7495a86381b49e4f72f46" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +SRC_URI[yaml-rust-0.4.5.sha256sum] = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" diff --git a/recipes-extended/vhost-device/vhost-device-vsock_0.1.0.bb b/recipes-extended/vhost-device/vhost-device-vsock_0.1.0.bb new file mode 100644 index 00000000..12ef88f5 --- /dev/null +++ b/recipes-extended/vhost-device/vhost-device-vsock_0.1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "vhost vsock backend device" +DESCRIPTION = "A vhost-user backend that emulates a VirtIO socket device" +HOMEPAGE = "https://github.com/rust-vmm/vhost-device" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = " \ + file://LICENSE-APACHE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://LICENSE-BSD-3-Clause;md5=2489db1359f496fff34bd393df63947e \ +" + +SRC_URI += "crate://crates.io/vhost-device-vsock/0.1.0" +SRC_URI[vhost-device-vsock-0.1.0.sha256sum] = "b1b22596359e46c3986574707a0f616c6e200a6751adeaa353db8cfdbc0472f6" + +inherit cargo +inherit cargo-update-recipe-crates + +include vhost-device-vsock-crates.inc diff --git a/recipes-extended/virt-manager/virt-manager/0001-setup.py-move-global-args-to-install-args.patch b/recipes-extended/virt-manager/virt-manager/0001-setup.py-move-global-args-to-install-args.patch new file mode 100644 index 00000000..f0bbf73b --- /dev/null +++ b/recipes-extended/virt-manager/virt-manager/0001-setup.py-move-global-args-to-install-args.patch @@ -0,0 +1,78 @@ +From bcdb3555b924573e85039b54d63d6173ad99b846 Mon Sep 17 00:00:00 2001 +From: Paul Le Guen de Kerneizon <paul.leguendekerneizon@savoirfairelinux.com> +Date: Wed, 28 Feb 2024 10:24:00 +0100 +Subject: [PATCH] setup.py: move global args to install args + +Presently, during the installation process, global arguments such as +`no-update-icon-cache` and `no-compile-schemas` are utilized to +prevent the installation of specific graphical components. These +arguments are essential, for instance, when installing virt-manager +without any GUI dependencies on the target system. However, these +global arguments must be set before the install command, yet they only +take effect during the execution of the command. + +Since the Yocto `setuptools3_legacy` class parses arguments after the +command, this commit aims to make these arguments applicable locally to +the install command. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Paul Le Guen de Kerneizon <paul.leguendekerneizon@savoirfairelinux.com> +--- + setup.py | 20 ++++++++++++-------- + 1 file changed, 12 insertions(+), 8 deletions(-) + +diff --git a/setup.py b/setup.py +index cd6cd83e..faca546a 100755 +--- a/setup.py ++++ b/setup.py +@@ -242,6 +242,16 @@ class my_egg_info(setuptools.command.install_egg_info.install_egg_info): + + + class my_install(setuptools.command.install.install): ++ setuptools.command.install.install.user_options += [ ++ ("no-update-icon-cache", None, "Don't run gtk-update-icon-cache"), ++ ("no-compile-schemas", None, "Don't compile gsettings schemas"), ++ ] ++ ++ def initialize_options(self): ++ setuptools.command.install.install.initialize_options(self) ++ self.no_update_icon_cache = None ++ self.no_compile_schemas = None ++ + """ + Error if we weren't 'configure'd with the correct install prefix + """ +@@ -266,12 +276,12 @@ class my_install(setuptools.command.install.install): + def run(self): + setuptools.command.install.install.run(self) + +- if not self.distribution.no_update_icon_cache: ++ if not self.no_update_icon_cache: + print("running gtk-update-icon-cache") + icon_path = os.path.join(self.install_data, "share/icons/hicolor") + self.spawn(["gtk-update-icon-cache", "-q", "-t", icon_path]) + +- if not self.distribution.no_compile_schemas: ++ if not self.no_compile_schemas: + print("compiling gsettings schemas") + gschema_install = os.path.join(self.install_data, + "share/glib-2.0/schemas") +@@ -421,14 +431,8 @@ class CheckPylint(setuptools.Command): + + + class VMMDistribution(setuptools.dist.Distribution): +- global_options = setuptools.dist.Distribution.global_options + [ +- ("no-update-icon-cache", None, "Don't run gtk-update-icon-cache"), +- ("no-compile-schemas", None, "Don't compile gsettings schemas"), +- ] + + def __init__(self, *args, **kwargs): +- self.no_update_icon_cache = False +- self.no_compile_schemas = False + setuptools.dist.Distribution.__init__(self, *args, **kwargs) + + +-- +2.34.1 + diff --git a/recipes-extended/virt-manager/virt-manager_4.1.0.bb b/recipes-extended/virt-manager/virt-manager_4.1.0.bb new file mode 100644 index 00000000..a2395012 --- /dev/null +++ b/recipes-extended/virt-manager/virt-manager_4.1.0.bb @@ -0,0 +1,54 @@ +DESCRIPTION = "virt-manager is a graphical tool for managing virtual machines via libvirt" +HOMEPAGE = "https://virt-manager.org/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS += "python3-docutils-native" +SRCREV = "6710ca6969b7d9c4e8344acd0fe3d50b24adc8ec" + +SRC_URI = " \ + git://github.com/virt-manager/virt-manager;branch=main;protocol=https \ + file://0001-setup.py-move-global-args-to-install-args.patch \ +" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "gui" +PACKAGECONFIG[gui] = ",--no-update-icon-cache --no-compile-schemas,python3-pygobject" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'gui', 'gtk-icon-cache', '', d)} +inherit bash-completion gettext pkgconfig setuptools3_legacy + +PACKAGES += " \ + ${PN}-common \ + ${PN}-install \ +" + +RDEPENDS:${PN}-common += " \ + libvirt-python \ + libosinfo \ +" + +RDEPENDS:${PN} = "${PN}-common" +RDEPENDS:${PN}-install = "${PN}-common" + +SETUPTOOLS_INSTALL_ARGS += "${PACKAGECONFIG_CONFARGS}" + +FILES:${PN} = " \ + ${bindir}/virt-manager \ + ${datadir}/icons/* \ +" + +FILES:${PN}-common = " \ + ${libdir}/* \ + ${libdir}/python3.10/* \ + ${datadir}/applications \ + ${datadir}/virt-manager \ + ${datadir}/glib-2.0/* \ + ${datadir}/metainfo/* \ +" + +FILES:${PN}-install = " \ + ${bindir}/virt-clone \ + ${bindir}/virt-install \ + ${bindir}/virt-xml \ +" diff --git a/recipes-extended/virt-viewer/virt-viewer_11.0.bb b/recipes-extended/virt-viewer/virt-viewer_11.0.bb new file mode 100644 index 00000000..273e1fc5 --- /dev/null +++ b/recipes-extended/virt-viewer/virt-viewer_11.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Virtual Machine Viewer" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +# for ovirt support librest-0.7 and libgovirt would be needed +DEPENDS = " \ + desktop-file-utils-native \ + glib-2.0 \ + gtk+3 \ + libxml2 \ +" + +SRC_URI = "git://gitlab.com/virt-viewer/virt-viewer.git;protocol=https;branch=master" + +SRCREV = "de864c14146c120b46d435949b1d8d0b11e57b85" +PV = "11.0+git" +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ?= "libvirt spice vte" + +PACKAGECONFIG[libvirt] = "-Dlibvirt=enabled,-Dlibvirt=disabled,libvirt libvirt-glib" +PACKAGECONFIG[spice] = "-Dspice=enabled,-Dspice=disabled,spice-gtk spice-protocol" +PACKAGECONFIG[vnc] = "-Dvnc=enabled,-Dvnc=disabled,gtk-vnc" +PACKAGECONFIG[vte] = "-Dvte=enabled,-Dvte=disabled,vte" + +inherit meson pkgconfig gtk-icon-cache mime mime-xdg gobject-introspection features_check + +FILES:${PN} += "${datadir}" +GIR_MESON_OPTION = '' + +do_compile:append() { + # glib-mkenums is embedding full paths into this file. There's no + # option to it to use a sysroot style variable. So to avoid QA + # errors, we sed WORKDIR out and make its includes relative + sed -i "s,${WORKDIR}/build/,," src/virt-viewer-enums.c +} diff --git a/recipes-extended/virt-what/virt-what_1.21.bb b/recipes-extended/virt-what/virt-what_1.21.bb new file mode 100644 index 00000000..aa235b32 --- /dev/null +++ b/recipes-extended/virt-what/virt-what_1.21.bb @@ -0,0 +1,11 @@ +SUMMARY = "Detect if we are running in a virtual machine" +HOMEPAGE = "https://people.redhat.com/~rjones/virt-what/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://people.redhat.com/~rjones/virt-what/files/${BP}.tar.gz" +SRC_URI[sha256sum] = "12cb455334aa4cfd53ab78f27e2252e94d1f676dd093f48327ed94d8080d1f7b" + +DEPENDS = "perl-native" + +inherit autotools diff --git a/recipes-extended/virtiofsd/README.md b/recipes-extended/virtiofsd/README.md new file mode 100644 index 00000000..4bd96a0a --- /dev/null +++ b/recipes-extended/virtiofsd/README.md @@ -0,0 +1,14 @@ +# virtiofsd: A virtio-fs vhost-user daemon + +[virtiofsd](https://gitlab.com/virtio-fs/virtiofsd) implements the +[vhost-user protocol](https://qemu-project.gitlab.io/qemu/interop/vhost-user.html) +and provides a virtio-fs virtio device that can share host directories with +guests. + +## Updating the recipe + +1. Bump the version number to the newly published version listed on crates.io +2. Regenerate the .inc file that lists the dependencies: + `bitbake -c update_crates virtiofsd` +3. Review, build and test the changes + diff --git a/recipes-extended/virtiofsd/virtiofsd-crates.inc b/recipes-extended/virtiofsd/virtiofsd-crates.inc new file mode 100644 index 00000000..c33e9a57 --- /dev/null +++ b/recipes-extended/virtiofsd/virtiofsd-crates.inc @@ -0,0 +1,142 @@ +# Autogenerated with 'bitbake -c update_crates virtiofsd' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/aho-corasick/0.7.18 \ + crate://crates.io/ansi_term/0.12.1 \ + crate://crates.io/arc-swap/1.5.0 \ + crate://crates.io/atty/0.2.14 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/capng/0.2.2 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clap/2.34.0 \ + crate://crates.io/env_logger/0.8.4 \ + crate://crates.io/error-chain/0.12.4 \ + crate://crates.io/futures/0.3.21 \ + crate://crates.io/futures-channel/0.3.21 \ + crate://crates.io/futures-core/0.3.21 \ + crate://crates.io/futures-executor/0.3.21 \ + crate://crates.io/futures-io/0.3.21 \ + crate://crates.io/futures-macro/0.3.21 \ + crate://crates.io/futures-sink/0.3.21 \ + crate://crates.io/futures-task/0.3.21 \ + crate://crates.io/futures-util/0.3.21 \ + crate://crates.io/heck/0.3.3 \ + crate://crates.io/hermit-abi/0.1.19 \ + crate://crates.io/hostname/0.3.1 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/itoa/1.0.2 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/libc/0.2.139 \ + crate://crates.io/libseccomp-sys/0.2.1 \ + crate://crates.io/log/0.4.17 \ + crate://crates.io/match_cfg/0.1.0 \ + crate://crates.io/memchr/2.5.0 \ + crate://crates.io/num_cpus/1.13.1 \ + crate://crates.io/num_threads/0.1.6 \ + crate://crates.io/pin-project-lite/0.2.9 \ + crate://crates.io/pin-utils/0.1.0 \ + crate://crates.io/proc-macro-error/1.0.4 \ + crate://crates.io/proc-macro-error-attr/1.0.4 \ + crate://crates.io/proc-macro2/1.0.63 \ + crate://crates.io/quote/1.0.29 \ + crate://crates.io/regex/1.6.0 \ + crate://crates.io/regex-syntax/0.6.27 \ + crate://crates.io/slab/0.4.7 \ + crate://crates.io/strsim/0.8.0 \ + crate://crates.io/structopt/0.3.26 \ + crate://crates.io/structopt-derive/0.4.18 \ + crate://crates.io/syn/1.0.98 \ + crate://crates.io/syn/2.0.23 \ + crate://crates.io/syslog/6.0.1 \ + crate://crates.io/termcolor/1.1.3 \ + crate://crates.io/textwrap/0.11.0 \ + crate://crates.io/thiserror/1.0.41 \ + crate://crates.io/thiserror-impl/1.0.41 \ + crate://crates.io/time/0.3.11 \ + crate://crates.io/unicode-ident/1.0.2 \ + crate://crates.io/unicode-segmentation/1.9.0 \ + crate://crates.io/unicode-width/0.1.9 \ + crate://crates.io/vec_map/0.8.2 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/vhost/0.8.1 \ + crate://crates.io/vhost-user-backend/0.10.0 \ + crate://crates.io/virtio-bindings/0.2.1 \ + crate://crates.io/virtio-queue/0.9.0 \ + crate://crates.io/vm-memory/0.12.0 \ + crate://crates.io/vmm-sys-util/0.11.1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ +" + +SRC_URI[aho-corasick-0.7.18.sha256sum] = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +SRC_URI[ansi_term-0.12.1.sha256sum] = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +SRC_URI[arc-swap-1.5.0.sha256sum] = "c5d78ce20460b82d3fa150275ed9d55e21064fc7951177baacf86a145c4a4b1f" +SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[capng-0.2.2.sha256sum] = "f6f8e9448233603643e42606121d95f5f8d4e015b3e7619a51593864dd902575" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clap-2.34.0.sha256sum] = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +SRC_URI[error-chain-0.12.4.sha256sum] = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +SRC_URI[futures-0.3.21.sha256sum] = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e" +SRC_URI[futures-channel-0.3.21.sha256sum] = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +SRC_URI[futures-core-0.3.21.sha256sum] = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" +SRC_URI[futures-executor-0.3.21.sha256sum] = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" +SRC_URI[futures-io-0.3.21.sha256sum] = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" +SRC_URI[futures-macro-0.3.21.sha256sum] = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" +SRC_URI[futures-sink-0.3.21.sha256sum] = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" +SRC_URI[futures-task-0.3.21.sha256sum] = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" +SRC_URI[futures-util-0.3.21.sha256sum] = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +SRC_URI[heck-0.3.3.sha256sum] = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +SRC_URI[hostname-0.3.1.sha256sum] = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[itoa-1.0.2.sha256sum] = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" +SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +SRC_URI[libc-0.2.139.sha256sum] = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +SRC_URI[libseccomp-sys-0.2.1.sha256sum] = "9a7cbbd4ad467251987c6e5b47d53b11a5a05add08f2447a9e2d70aef1e0d138" +SRC_URI[log-0.4.17.sha256sum] = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +SRC_URI[match_cfg-0.1.0.sha256sum] = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +SRC_URI[num_cpus-1.13.1.sha256sum] = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +SRC_URI[num_threads-0.1.6.sha256sum] = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +SRC_URI[regex-1.6.0.sha256sum] = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +SRC_URI[regex-syntax-0.6.27.sha256sum] = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +SRC_URI[slab-0.4.7.sha256sum] = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +SRC_URI[strsim-0.8.0.sha256sum] = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +SRC_URI[structopt-0.3.26.sha256sum] = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" +SRC_URI[structopt-derive-0.4.18.sha256sum] = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" +SRC_URI[syn-1.0.98.sha256sum] = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +SRC_URI[syn-2.0.23.sha256sum] = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +SRC_URI[syslog-6.0.1.sha256sum] = "978044cc68150ad5e40083c9f6a725e6fd02d7ba1bcf691ec2ff0d66c0b41acc" +SRC_URI[termcolor-1.1.3.sha256sum] = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +SRC_URI[textwrap-0.11.0.sha256sum] = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +SRC_URI[thiserror-1.0.41.sha256sum] = "c16a64ba9387ef3fdae4f9c1a7f07a0997fce91985c0336f1ddc1822b3b37802" +SRC_URI[thiserror-impl-1.0.41.sha256sum] = "d14928354b01c4d6a4f0e549069adef399a284e7995c7ccca94e8a07a5346c59" +SRC_URI[time-0.3.11.sha256sum] = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" +SRC_URI[unicode-ident-1.0.2.sha256sum] = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" +SRC_URI[unicode-segmentation-1.9.0.sha256sum] = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +SRC_URI[unicode-width-0.1.9.sha256sum] = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +SRC_URI[vec_map-0.8.2.sha256sum] = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[vhost-0.8.1.sha256sum] = "61957aeb36daf0b00b87fff9c10dd28a161bd35ab157553d340d183b3d8756e6" +SRC_URI[vhost-user-backend-0.10.0.sha256sum] = "e3ea9d5e8ec847cde4df1c04e586698a479706fd6beca37323f9d425b24b4c2f" +SRC_URI[virtio-bindings-0.2.1.sha256sum] = "c18d7b74098a946470ea265b5bacbbf877abc3373021388454de0d47735a5b98" +SRC_URI[virtio-queue-0.9.0.sha256sum] = "35aca00da06841bd99162c381ec65893cace23ca0fb89254302cfe4bec4c300f" +SRC_URI[vm-memory-0.12.0.sha256sum] = "a77c7a0891cbac53618f5f6eec650ed1dc4f7e506bbe14877aff49d94b8408b0" +SRC_URI[vmm-sys-util-0.11.1.sha256sum] = "dd64fe09d8e880e600c324e7d664760a17f56e9672b7495a86381b49e4f72f46" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/recipes-extended/virtiofsd/virtiofsd_1.7.0.bb b/recipes-extended/virtiofsd/virtiofsd_1.7.0.bb new file mode 100644 index 00000000..b8a93820 --- /dev/null +++ b/recipes-extended/virtiofsd/virtiofsd_1.7.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "virtio-fs vhost-user daemon" +DESCRIPTION = "A daemon that allows sharing of folders with a VM via virtio-fs" +HOMEPAGE = "https://gitlab.com/virtio-fs/virtiofsd" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = " \ + file://LICENSE-APACHE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://LICENSE-BSD-3-Clause;md5=b1ed361f9fc790c1054d81a7ef041a34 \ +" + +DEPENDS = "libseccomp libcap-ng" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "seccomp" + +SRC_URI += "crate://crates.io/virtiofsd/1.7.0" +SRC_URI[virtiofsd-1.7.0.sha256sum] = "6f043afa23aedbb18f36084b9df831796a9e4c62e73a16fe557de0cf30d7708d" + +inherit cargo +inherit cargo-update-recipe-crates + +include virtiofsd-crates.inc diff --git a/recipes-extended/xen/files/0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch b/recipes-extended/xen/files/0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch deleted file mode 100644 index 7b062b7b..00000000 --- a/recipes-extended/xen/files/0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 73b13705af7c3bb8fdf11932eb68788d090a443f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com> -Date: Thu, 4 Mar 2021 16:49:00 +0100 -Subject: [PATCH] firmware: provide a stand alone set of headers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The current build of the firmware relies on having 32bit compatible -headers installed in order to build some of the 32bit firmware. -Usually this can be solved by using the -ffreestanding compiler option -which drops the usage of the system headers in favor of a private set -of freestanding headers provided by the compiler itself that are not -tied to libc. - -However such option is broken at least in the gcc compiler provided in -Alpine Linux, as the system include path (ie: /usr/include) takes -precedence over the gcc private include path: - -#include <...> search starts here: - /usr/include - /usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/include - -And the headers in /usr/include are exclusively 64bit. - -Since -ffreestanding is currently broken on at least that distro, and -for resilience against future compilers also having the option broken -provide a set of stand alone 32bit headers required for the firmware -build. - -Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> -Reviewed-by: Jan Beulich <jbeulich@suse.com> -Release-Acked-by: Ian Jackson <iwj@xenproject.org> -Applied to Xen 4.14 by: Christopher Clark <christopher.w.clark@gmail.com> ---- - tools/firmware/Rules.mk | 13 +++++++ - tools/firmware/include/stdarg.h | 10 +++++ - tools/firmware/include/stdbool.h | 9 +++++ - tools/firmware/include/stddef.h | 10 +++++ - tools/firmware/include/stdint.h | 39 +++++++++++++++++++ - tools/firmware/rombios/32bit/rombios_compat.h | 4 +- - 6 files changed, 82 insertions(+), 3 deletions(-) - create mode 100644 tools/firmware/include/stdarg.h - create mode 100644 tools/firmware/include/stdbool.h - create mode 100644 tools/firmware/include/stddef.h - create mode 100644 tools/firmware/include/stdint.h - -diff --git a/tools/firmware/include/stdarg.h b/tools/firmware/include/stdarg.h -new file mode 100644 -index 0000000000..c5e3761cd2 ---- /dev/null -+++ b/tools/firmware/include/stdarg.h -@@ -0,0 +1,10 @@ -+#ifndef _STDARG_H_ -+#define _STDARG_H_ -+ -+typedef __builtin_va_list va_list; -+#define va_copy(dest, src) __builtin_va_copy(dest, src) -+#define va_start(ap, last) __builtin_va_start(ap, last) -+#define va_end(ap) __builtin_va_end(ap) -+#define va_arg __builtin_va_arg -+ -+#endif -diff --git a/tools/firmware/include/stdbool.h b/tools/firmware/include/stdbool.h -new file mode 100644 -index 0000000000..0cf76b106c ---- /dev/null -+++ b/tools/firmware/include/stdbool.h -@@ -0,0 +1,9 @@ -+#ifndef _STDBOOL_H_ -+#define _STDBOOL_H_ -+ -+#define bool _Bool -+#define true 1 -+#define false 0 -+#define __bool_true_false_are_defined 1 -+ -+#endif -diff --git a/tools/firmware/include/stddef.h b/tools/firmware/include/stddef.h -new file mode 100644 -index 0000000000..c7f974608a ---- /dev/null -+++ b/tools/firmware/include/stddef.h -@@ -0,0 +1,10 @@ -+#ifndef _STDDEF_H_ -+#define _STDDEF_H_ -+ -+typedef __SIZE_TYPE__ size_t; -+ -+#define NULL ((void*)0) -+ -+#define offsetof(t, m) __builtin_offsetof(t, m) -+ -+#endif -diff --git a/tools/firmware/include/stdint.h b/tools/firmware/include/stdint.h -new file mode 100644 -index 0000000000..16a0b6de19 ---- /dev/null -+++ b/tools/firmware/include/stdint.h -@@ -0,0 +1,39 @@ -+#ifndef _STDINT_H_ -+#define _STDINT_H_ -+ -+#if defined(__LP64__) || defined(__P64__) -+#error "32bit only header" -+#endif -+ -+typedef unsigned char uint8_t; -+typedef signed char int8_t; -+ -+typedef unsigned short uint16_t; -+typedef signed short int16_t; -+ -+typedef unsigned int uint32_t; -+typedef signed int int32_t; -+ -+typedef unsigned long long uint64_t; -+typedef signed long long int64_t; -+ -+#define INT8_MIN (-0x7f-1) -+#define INT16_MIN (-0x7fff-1) -+#define INT32_MIN (-0x7fffffff-1) -+#define INT64_MIN (-0x7fffffffffffffffll-1) -+ -+#define INT8_MAX 0x7f -+#define INT16_MAX 0x7fff -+#define INT32_MAX 0x7fffffff -+#define INT64_MAX 0x7fffffffffffffffll -+ -+#define UINT8_MAX 0xff -+#define UINT16_MAX 0xffff -+#define UINT32_MAX 0xffffffffu -+#define UINT64_MAX 0xffffffffffffffffull -+ -+typedef uint32_t uintptr_t; -+ -+#define UINTPTR_MAX UINT32_MAX -+ -+#endif -diff --git a/tools/firmware/rombios/32bit/rombios_compat.h b/tools/firmware/rombios/32bit/rombios_compat.h -index 3fe7d67721..8ba4c17ffd 100644 ---- a/tools/firmware/rombios/32bit/rombios_compat.h -+++ b/tools/firmware/rombios/32bit/rombios_compat.h -@@ -8,9 +8,7 @@ - - #define ADDR_FROM_SEG_OFF(seg, off) (void *)((((uint32_t)(seg)) << 4) + (off)) - --typedef unsigned char uint8_t; --typedef unsigned short int uint16_t; --typedef unsigned int uint32_t; -+#include <stdint.h> - - typedef uint8_t Bit8u; - typedef uint16_t Bit16u; -diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk -index 26bbddccd4..cb388b7011 100644 ---- a/tools/firmware/Rules.mk -+++ b/tools/firmware/Rules.mk -@@ -17,3 +17,16 @@ $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) - - # Extra CFLAGS suitable for an embedded type of environment. - CFLAGS += -fno-builtin -msoft-float -+ -+# Use our own set of stand alone headers to build firmware. -+# -+# Ideally using -ffreestanding should be enough, but that relies on the -+# compiler having the right order for include paths (ie: compiler private -+# headers before system ones) or the libc headers having proper arch-agnostic -+# freestanding support. This is not the case in Alpine at least which searches -+# system headers before compiler ones and has arch-specific libc headers. This -+# has been reported upstream: -+# https://gitlab.alpinelinux.org/alpine/aports/-/issues/12477 -+# In the meantime (and for resilience against broken systems) use our own set -+# of headers that provide what's needed for the firmware build. -+CFLAGS += -nostdinc -I$(XEN_ROOT)/tools/firmware/include --- -2.25.1 - diff --git a/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch b/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch index 135860ab..b8711756 100644 --- a/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch +++ b/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch @@ -3,8 +3,8 @@ From: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Mon, 2 Jul 2018 23:10:28 -0400 Subject: [PATCH] xen: Fix menuconfig and add support for config fragments and -Upstream-Status: Xen: Inappropriate [oe specific, cross compile issue] -Upstream-Status: Kernel: Pending +Upstream-Status: Inappropriate [oe specific, cross compile issue] + Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> commit e6972e689a980ab28637e94e48c77eeace6abde5 diff --git a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch deleted file mode 100644 index f0688fd9..00000000 --- a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch +++ /dev/null @@ -1,66 +0,0 @@ -From d79dcc2002008c58683de82f06c168d6eea57991 Mon Sep 17 00:00:00 2001 -From: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> -Date: Fri, 19 Oct 2018 11:01:37 +0200 -Subject: [PATCH] python,pygrub: pass DISTUTILS env vars as setup.py args - -Allow to respect the target install dir (PYTHON_SITEPACKAGES_DIR) -as well as other parameters set by the OpenEmbedded build system. -This is especially useful when the target libdir is not the default one -(/usr/lib), but for example /usr/lib64. - -Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> - -Forward-ported to Xen 4.12.0 -Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> - -Modified to support pygrub installation with python 3 -Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> - -Forward-ported to Xen 4.14.0 -Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> -diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile -index 3063c49..513314b 100644 ---- a/tools/pygrub/Makefile -+++ b/tools/pygrub/Makefile -@@ -10,14 +10,17 @@ INSTALL_LOG = build/installed_files.txt - all: build - .PHONY: build - build: -- CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build -+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build $(DISTUTILS_BUILD_ARGS) - - .PHONY: install - install: all - $(INSTALL_DIR) $(DESTDIR)/$(bindir) - CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) \ - setup.py install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ -- --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force -+ --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force \ -+ $(DISTUTILS_INSTALL_ARGS) -+ rm -f $(DESTDIR)/$(LIBEXEC_BIN)/pygrub -+ $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub - set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \ - "`readlink -f $(DESTDIR)/$(bindir)`" != \ - "`readlink -f $(LIBEXEC_BIN)`" ]; then \ -diff --git a/tools/python/Makefile b/tools/python/Makefile -index 541858e..4d4a344 100644 ---- a/tools/python/Makefile -+++ b/tools/python/Makefile -@@ -10,7 +10,7 @@ INSTALL_LOG = build/installed_files.txt - - .PHONY: build - build: -- CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build -+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build $(DISTUTILS_BUILD_ARGS) - - .PHONY: install - install: -@@ -18,7 +18,7 @@ install: - - CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) \ - setup.py install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ -- --root="$(DESTDIR)" --force -+ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS) - - $(INSTALL_PYTHON_PROG) scripts/convert-legacy-stream $(DESTDIR)$(LIBEXEC_BIN) - $(INSTALL_PYTHON_PROG) scripts/verify-stream-v2 $(DESTDIR)$(LIBEXEC_BIN) diff --git a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch index 35cd9a81..476f5ddc 100644 --- a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch +++ b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch @@ -4,7 +4,7 @@ From: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> Date: Fri, 19 Oct 2018 11:01:37 +0200 Subject: [PATCH] python,pygrub: pass DISTUTILS env vars as setup.py args -Upstream-Status: Xen: Inappropriate [oe specific, python install issues] +Upstream-Status: Inappropriate [oe specific, python install issues] Allow to respect the target install dir (PYTHON_SITEPACKAGES_DIR) as well as other parameters set by the OpenEmbedded build system. diff --git a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch new file mode 100644 index 00000000..7ac1a399 --- /dev/null +++ b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch @@ -0,0 +1,43 @@ +Upstream-Status: Pending + +diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile +index 4963bc89c6..c1c05eb421 100644 +--- a/tools/pygrub/Makefile ++++ b/tools/pygrub/Makefile +@@ -13,14 +13,14 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA + all: build + .PHONY: build + build: +- $(setup.py) build ++ $(setup.py) build $(DISTUTILS_BUILD_ARGS) + + .PHONY: install + install: all + $(INSTALL_DIR) $(DESTDIR)/$(bindir) + $(INSTALL_DIR) $(DESTDIR)/$(LIBEXEC_BIN) + $(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ +- --root="$(DESTDIR)" --force ++ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS) + $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub + set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \ + "`readlink -f $(DESTDIR)/$(bindir)`" != \ +diff --git a/tools/python/Makefile b/tools/python/Makefile +index 437431c48e..0a99c2067e 100644 +--- a/tools/python/Makefile ++++ b/tools/python/Makefile +@@ -16,13 +16,13 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA + + .PHONY: build + build: +- $(setup.py) build ++ $(setup.py) build $(DISTUTILS_BUILD_ARGS) + + .PHONY: install + install: + $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN) + $(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ +- --root="$(DESTDIR)" --force ++ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS) + $(INSTALL_PYTHON_PROG) scripts/convert-legacy-stream $(DESTDIR)$(LIBEXEC_BIN) + $(INSTALL_PYTHON_PROG) scripts/verify-stream-v2 $(DESTDIR)$(LIBEXEC_BIN) + diff --git a/recipes-extended/xen/files/0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch b/recipes-extended/xen/files/0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch deleted file mode 100644 index 001b196d..00000000 --- a/recipes-extended/xen/files/0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 0eae016b6e3dce69e3fb86aca5c4f221591a2f12 Mon Sep 17 00:00:00 2001 -From: Andrew Cooper <andrew.cooper3@citrix.com> -Date: Thu, 25 Feb 2021 19:15:08 +0000 -Subject: [PATCH] tools/firmware: Build firmware as -ffreestanding - -firmware should always have been -ffreestanding, as it doesn't execute in the -host environment. -ffreestanding implies -fno-builtin, so replace the option. - -inttypes.h isn't a freestanding header, but the 32bitbios_support.c only wants -the stdint.h types so switch to the more appropriate include. - -This removes the build time dependency on a 32bit libc just to compile the -hvmloader and friends. - -Update README and the TravisCI configuration. - -Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> -Reviewed-by: Jan Beulich <jbeulich@suse.com> -Reviewed-by: Ian Jackson <iwj@xenproject.org> -Release-Acked-by: Ian Jackson <iwj@xenproject.org> -Applied to m-v Xen 4.14 series: Christopher Clark <christopher.w.clark@gmail.com> ---- - .travis.yml | 1 - - README | 3 --- - tools/firmware/Rules.mk | 2 +- - tools/firmware/hvmloader/32bitbios_support.c | 2 +- - 4 files changed, 2 insertions(+), 6 deletions(-) - -diff --git a/.travis.yml b/.travis.yml -index 15ca9e9047..2362475f7a 100644 ---- a/.travis.yml -+++ b/.travis.yml -@@ -58,7 +58,6 @@ addons: - - acpica-tools - - bin86 - - bcc -- - libc6-dev-i386 - - libnl-3-dev - - ocaml-nox - - libfindlib-ocaml-dev -diff --git a/README b/README -index 6e15242ae1..8c99c30986 100644 ---- a/README -+++ b/README -@@ -62,9 +62,6 @@ provided by your OS distributor: - * GNU bison and GNU flex - * GNU gettext - * ACPI ASL compiler (iasl) -- * Libc multiarch package (e.g. libc6-dev-i386 / glibc-devel.i686). -- Required when building on a 64-bit platform to build -- 32-bit components which are enabled on a default build. - - In addition to the above there are a number of optional build - prerequisites. Omitting these will cause the related features to be -diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk -index cb388b7011..9f78a7dec9 100644 ---- a/tools/firmware/Rules.mk -+++ b/tools/firmware/Rules.mk -@@ -16,7 +16,7 @@ CFLAGS += -Werror - $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) - - # Extra CFLAGS suitable for an embedded type of environment. --CFLAGS += -fno-builtin -msoft-float -+CFLAGS += -ffreestanding -msoft-float - - # Use our own set of stand alone headers to build firmware. - # -diff --git a/tools/firmware/hvmloader/32bitbios_support.c b/tools/firmware/hvmloader/32bitbios_support.c -index 114135022e..ef681d4f57 100644 ---- a/tools/firmware/hvmloader/32bitbios_support.c -+++ b/tools/firmware/hvmloader/32bitbios_support.c -@@ -20,7 +20,7 @@ - * this program; If not, see <http://www.gnu.org/licenses/>. - */ - --#include <inttypes.h> -+#include <stdint.h> - #include <elf.h> - #ifdef __sun__ - #include <sys/machelf.h> --- -2.25.1 - diff --git a/recipes-extended/xen/files/0001-tools-xenstore-xenstored_control.c-correctly-print-t.patch b/recipes-extended/xen/files/0001-tools-xenstore-xenstored_control.c-correctly-print-t.patch new file mode 100644 index 00000000..bf99f5e8 --- /dev/null +++ b/recipes-extended/xen/files/0001-tools-xenstore-xenstored_control.c-correctly-print-t.patch @@ -0,0 +1,34 @@ +From c7c43c4531fe1cd188f62d9905c3f5c7a29a6fb0 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Wed, 12 Apr 2023 10:30:18 +0200 +Subject: [PATCH] tools/xenstore/xenstored_control.c: correctly print time_t + +On 32 bit systems with 64 bit time_t (hello, Y2038 problem), +the following error occurs otherwise: + +| xenstored_control.c: In function 'lu_reject_reason': +| xenstored_control.c:646:70: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'time_t' {aka 'long long int'} [-Werror=format=] + +Upstream-Status: Submitted [by email to xen-devel@lists.xenproject.org and maintainers as suggested by add_maintainers.pl script] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + tools/xenstore/xenstored_control.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c +index d1aaa00bf4..8d318c0399 100644 +--- a/tools/xenstore/xenstored_control.c ++++ b/tools/xenstore/xenstored_control.c +@@ -643,10 +643,10 @@ static const char *lu_reject_reason(const void *ctx) + list_for_each_entry(conn, &connections, list) { + if (conn->ta_start_time && + (now - conn->ta_start_time >= lu_status->timeout)) { +- ret = talloc_asprintf(ctx, "%s\nDomain %u: %ld s", ++ ret = talloc_asprintf(ctx, "%s\nDomain %u: %jd s", + ret ? : "Domains with long running transactions:", + conn->id, +- now - conn->ta_start_time); ++ (intmax_t)now - conn->ta_start_time); + } + } + diff --git a/recipes-extended/xen/files/xen-arm64-implement-atomic-fetch-add.patch b/recipes-extended/xen/files/xen-arm64-implement-atomic-fetch-add.patch deleted file mode 100644 index 6e957a50..00000000 --- a/recipes-extended/xen/files/xen-arm64-implement-atomic-fetch-add.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Christopher Clark <christopher.w.clark@gmail.com> -Date: Fri, 26 June 2020 16:34:00 -0800 -Subject: [PATCH] xen: implement atomic op to fix arm64 compilation - -Xen's ARM implementation of arch_fetch_and_add since f9cc3cd9 -uses a builtin, despite the build being performed with -fno-builtin. -With gcc 10.1.0, this now breaks prelinking spinlock.c, so -implement the one atomic operation that is required with logic -derived from Linux's atomic_ll_sc.h: ATOMIC_FETCH_OP and comparison with -the binary produced with and without the patch with gcc 9.2.0. - -Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com> -diff --git a/xen/include/asm-arm/system.h b/xen/include/asm-arm/system.h -index e5d062667d..c46dd3ac71 100644 ---- a/xen/include/asm-arm/system.h -+++ b/xen/include/asm-arm/system.h -@@ -55,7 +55,32 @@ static inline int local_abort_is_enabled(void) - return !(flags & PSR_ABT_MASK); - } - -+#ifdef CONFIG_ARM_64 -+ -+/* see atomic_ll_sc.h: ATOMIC_FETCH_OP(name, mb, acq, rel, cl, op, asm_op, constraint) */ -+static inline int arch_fetch_and_add(unsigned int *ptr, unsigned long i) -+{ -+ int register lptr asm("x0"); -+ int register result asm("w1"); -+ int register newval asm("w2"); -+ int register status asm("w3"); -+ -+ asm volatile( -+ " mov %[lptr], %[ptr]\n" -+ "1: ldxr %w[result], [%[lptr]]\n" -+ " add %w[newval], %w[result], %w[i]\n" -+ " stlxr %w[status], %w[newval], [%[lptr]]\n" -+ " cbnz %w[status], 1b\n" -+ " dmb ish\n" -+ : [result] "=&r" (result), [lptr] "=&r" (lptr), [newval] "=&r" (newval), [status] "=&r" (status), [i] "+r" (i), "+Q" (*ptr) -+ : [ptr] "r" (ptr), "r" (i) -+ : "memory"); -+ -+ return result; -+} -+#else - #define arch_fetch_and_add(x, v) __sync_fetch_and_add(x, v) -+#endif - - extern struct vcpu *__context_switch(struct vcpu *prev, struct vcpu *next); - diff --git a/recipes-extended/xen/xen-blktap.inc b/recipes-extended/xen/xen-blktap.inc index 5f385ddc..2c8cb1fd 100644 --- a/recipes-extended/xen/xen-blktap.inc +++ b/recipes-extended/xen/xen-blktap.inc @@ -20,45 +20,45 @@ BLKTAP_PROVIDES ?= " \ " BLKTAP_RRECOMMENDS ?= " \ - virtual/blktap \ - virtual/libblktap \ - virtual/libblktapctl \ - virtual/libvhd \ + virtual-blktap \ + virtual-libblktap \ + virtual-libblktapctl \ + virtual-libvhd \ " -RPROVIDES_${PN}-blktap = "virtual/blktap" -RPROVIDES_${PN}-libblktap = "virtual/libblktap" -RPROVIDES_${PN}-libblktapctl = "virtual/libblktapctl" -RPROVIDES_${PN}-libvhd = "virtual/libvhd" +RPROVIDES:${PN}-blktap = "virtual-blktap" +RPROVIDES:${PN}-libblktap = "virtual-libblktap" +RPROVIDES:${PN}-libblktapctl = "virtual-libblktapctl" +RPROVIDES:${PN}-libvhd = "virtual-libvhd" -FILES_${PN}-blktap-staticdev += "\ +FILES:${PN}-blktap-staticdev += "\ ${libdir}/libblktapctl.a \ ${libdir}/libvhd.a \ ${libdir}/libblktap.a \ " -FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*" -FILES_${PN}-libblktapctl-dev = " \ +FILES:${PN}-libblktapctl = "${libdir}/libblktapctl.so.*" +FILES:${PN}-libblktapctl-dev = " \ ${libdir}/libblktapctl.so \ ${libdir}/pkgconfig/xenblktapctl.pc \ ${datadir}/pkgconfig/xenblktapctl.pc \ " -FILES_${PN}-libvhd = "${libdir}/libvhd.so.*" -FILES_${PN}-libvhd-dev = " \ +FILES:${PN}-libvhd = "${libdir}/libvhd.so.*" +FILES:${PN}-libvhd-dev = " \ ${libdir}/libvhd.so \ ${libdir}/pkgconfig/vhd.pc \ ${datadir}/pkgconfig/vhd.pc \ " -FILES_${PN}-libblktap = "${libdir}/libblktap.so.*" -FILES_${PN}-libblktap-dev = " \ +FILES:${PN}-libblktap = "${libdir}/libblktap.so.*" +FILES:${PN}-libblktap-dev = " \ ${libdir}/libblktap.so \ ${libdir}/pkgconfig/blktap.pc \ ${datadir}/pkgconfig/blktap.pc \ " -FILES_${PN}-blktap = "\ +FILES:${PN}-blktap = "\ ${sbindir}/blktapctrl \ ${sbindir}/img2qcow \ ${sbindir}/lock-util \ diff --git a/recipes-extended/xen/xen-hypervisor.inc b/recipes-extended/xen/xen-hypervisor.inc index 916bd3ce..6f3d24d0 100644 --- a/recipes-extended/xen/xen-hypervisor.inc +++ b/recipes-extended/xen/xen-hypervisor.inc @@ -17,7 +17,7 @@ PACKAGES = " \ ${PN}-efi \ " -FILES_${PN} = " \ +FILES:${PN} = " \ /boot/xen-* \ /boot/xen \ /boot/xen-*.gz \ @@ -25,9 +25,9 @@ FILES_${PN} = " \ /boot/xen-syms-* \ " -FILES_${PN}-dbg += "${libdir}/debug/*" +FILES:${PN}-dbg += "${libdir}/debug/*" -FILES_${PN}-efi = " \ +FILES:${PN}-efi = " \ /boot/xen.efi \ ${exec_prefix}/lib64/efi/xen* \ " @@ -48,8 +48,17 @@ do_configure() { fi } +# The hypervisor binary for arm must not be built with the hard floating point +# ABI. Override CC and CPP when invoking make so that they do not contain +# TUNE_CCARGS. +EXTRA_OEMAKE:arm += "CC='${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} \ + ${CC_REPRODUCIBLE_OPTIONS}' \ + CPP='${CCACHE}${HOST_PREFIX}gcc -E ${TOOLCHAIN_OPTIONS} \ + ${CC_REPRODUCIBLE_OPTIONS}'" + do_compile() { - oe_runmake xen PYTHON="${PYTHON}" + oe_runmake xen PYTHON="${PYTHON}" \ + EXTRA_CFLAGS_XEN_CORE="${EXTRA_CFLAGS_XEN_CORE}" } do_install() { @@ -102,3 +111,7 @@ CROSS_CURSES_LIB += "-L${STAGING_LIBDIR_NATIVE}" # Specify the root dir of the .config file for do_menuconfig and do_diffconfig # tasks KCONFIG_CONFIG_ROOTDIR = "${S}/xen" + +# Xen is setting all CC flags on its own. Make sure that they are not modified +# for aarch64, e.g. with architecture-specific optimizations. +TUNE_CCARGS:aarch64="" diff --git a/recipes-extended/xen/xen-tools.inc b/recipes-extended/xen/xen-tools.inc index e939c459..5f010a5d 100644 --- a/recipes-extended/xen/xen-tools.inc +++ b/recipes-extended/xen/xen-tools.inc @@ -6,7 +6,7 @@ COMPATIBLE_HOST = 'i686-.*-linux|(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux inherit setuptools3 update-rc.d systemd deploy require xen-blktap.inc -RDEPENDS_${PN} = "\ +RDEPENDS:${PN} = "\ bash perl xz \ ${PN}-console \ ${PN}-libxenguest \ @@ -24,20 +24,16 @@ RDEPENDS_${PN} = "\ ${PN}-xencommons \ ${PN}-xendomains \ ${PN}-xenstore \ - virtual/xenstored \ + virtual-xenstored \ ${PN}-xl \ " -RDEPENDS_${PN}-dev = "" +RDEPENDS:${PN}-dev = "" -# Qemu is necessary on ARM platforms, and to support HVM guests on x86 -QEMU = "${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'qemu', '', d)}" -QEMU_arm = "qemu" -QEMU_aarch64 = "qemu" - -RRECOMMENDS_${PN} = " \ - ${QEMU} \ - ${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'seabios', '', d)} \ +RRECOMMENDS:${PN} = " \ + qemu \ + ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-x86_64 qemu-i386', '', d)} \ + ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'seabios ipxe vgabios', '', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \ ${PN}-flask \ ${PN}-hvmloader \ @@ -49,87 +45,88 @@ RRECOMMENDS_${PN} = " \ ${PN}-xenhypfs \ " -RDEPENDS_${PN}-devd = " \ +RDEPENDS:${PN}-devd = " \ ${PN}-xl \ " -RDEPENDS_${PN}-fsimage = " \ +RDEPENDS:${PN}-fsimage = " \ libext2fs \ " -RDEPENDS_${PN}-misc = " \ +RDEPENDS:${PN}-misc = " \ perl \ python3 \ ${PN}-xencov \ " -RSUGGESTS_${PN}-misc = " \ +RSUGGESTS:${PN}-misc = " \ ${PN}-xencons \ ${PN}-xenpvnetboot \ " -RDEPENDS_${PN}-python = " \ +RDEPENDS:${PN}-python = " \ python3 \ " -RDEPENDS_${PN}-pygrub = " \ +RDEPENDS:${PN}-pygrub = " \ python3 \ ${PN}-python \ " -RDEPENDS_${PN}-remus = "bash" +RDEPENDS:${PN}-remus = "bash" -RDEPENDS_${PN}-scripts-block = "\ +RDEPENDS:${PN}-scripts-block = "\ bash \ ${PN}-scripts-common \ ${PN}-volatiles \ " -RDEPENDS_${PN}-scripts-common = "bash" +RDEPENDS:${PN}-scripts-common = "bash" -RDEPENDS_${PN}-scripts-network = "\ +RDEPENDS:${PN}-scripts-network = "\ bash \ bridge-utils \ ${PN}-scripts-common \ ${PN}-volatiles \ " -RSUGGESTS_${PN}-scripts-network = "\ +RRECOMMENDS:${PN}-scripts-network = "\ ifupdown \ " -RSUGGESTS_${PN}-xencov = "${PN}-xencov-split" +RSUGGESTS:${PN}-xencov = "${PN}-xencov-split" -RDEPENDS_${PN}-xencommons = "\ +RDEPENDS:${PN}-xencommons = "\ bash \ + util-linux-prlimit \ ${PN}-console \ ${PN}-xenstore \ - virtual/xenstored \ + virtual-xenstored \ ${PN}-xl \ ${PN}-scripts-common \ " -RDEPENDS_${PN}-xendomains = "\ +RDEPENDS:${PN}-xendomains = "\ bash \ ${PN}-console \ ${PN}-scripts-block \ ${PN}-scripts-common \ - virtual/xenstored \ + virtual-xenstored \ " -RDEPENDS_${PN}-xenhypfs = " \ +RDEPENDS:${PN}-xenhypfs = " \ ${PN}-libxenhypfs \ " -RDEPENDS_${PN}-xl = "libgcc" +RDEPENDS:${PN}-xl = "libgcc" -RDEPENDS_${PN}-xenmon = " \ +RDEPENDS:${PN}-xenmon = " \ python3 \ " -RSUGGESTS_${PN}-xentrace = "${PN}-xentrace-format" +RSUGGESTS:${PN}-xentrace = "${PN}-xentrace-format" -RDEPENDS_${PN}-xen-watchdog = "bash" +RDEPENDS:${PN}-xen-watchdog = "bash" PACKAGES = " \ ${PN} \ @@ -213,18 +210,21 @@ PACKAGES = " \ ${PN}-xm-examples \ ${PN}-xen-access \ ${PN}-xen-memshare \ + ${PN}-test \ + ${PN}-xen-vmtrace \ + ${PN}-xen-mceinj \ " PROVIDES =+ " \ - virtual/xenstored \ + virtual-xenstored \ ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_PROVIDES}', d)} \ " # There are multiple implementations of the XenStore daemon, so we use a # virtual package to allow for substitution. -RPROVIDES_${PN}-xenstored = "virtual/xenstored" +RPROVIDES:${PN}-xenstored = "virtual-xenstored" -FILES_${PN}-dbg += "\ +FILES:${PN}-dbg += "\ ${libdir}/xen/bin/.debug \ ${nonarch_libdir}/${PYTHON_DIR}/site-packages/.debug \ ${nonarch_libdir}/${PYTHON_DIR}/site-packages/xen/lowlevel/.debug \ @@ -244,18 +244,18 @@ FILES_${PN}-dbg += "\ ${nonarch_libdir}/${PYTHON_DIR}/dist-packages/xen/lowlevel/.debug \ " -FILES_${PN}-dev = "\ +FILES:${PN}-dev = "\ ${includedir} \ " -FILES_${PN}-doc = "\ +FILES:${PN}-doc = "\ ${sysconfdir}/xen/README \ ${sysconfdir}/xen/README.incompatibilities \ ${datadir}/doc \ ${datadir}/man \ " -FILES_${PN}-staticdev += "\ +FILES:${PN}-staticdev += "\ ${libdir}/libxenguest.a \ ${libdir}/libxenlight.a \ ${libdir}/libxenvchan.a \ @@ -265,122 +265,122 @@ FILES_${PN}-staticdev += "\ ${libdir}/libxenstore.a \ " -FILES_${PN}-libxencall = "${libdir}/libxencall.so.*" -FILES_${PN}-libxencall-dev = " \ +FILES:${PN}-libxencall = "${libdir}/libxencall.so.*" +FILES:${PN}-libxencall-dev = " \ ${libdir}/libxencall.so \ ${libdir}/pkgconfig/xencall.pc \ ${datadir}/pkgconfig/xencall.pc \ " -FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*" -FILES_${PN}-libxenctrl-dev = " \ +FILES:${PN}-libxenctrl = "${libdir}/libxenctrl.so.*" +FILES:${PN}-libxenctrl-dev = " \ ${libdir}/libxenctrl.so \ ${libdir}/pkgconfig/xencontrol.pc \ ${datadir}/pkgconfig/xencontrol.pc \ " -FILES_${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*" -FILES_${PN}-libxendevicemodel-dev = " \ +FILES:${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*" +FILES:${PN}-libxendevicemodel-dev = " \ ${libdir}/libxendevicemodel.so \ ${libdir}/pkgconfig/xendevicemodel.pc \ ${datadir}/pkgconfig/xendevicemodel.pc \ " -FILES_${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*" -FILES_${PN}-libxenevtchn-dev = " \ +FILES:${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*" +FILES:${PN}-libxenevtchn-dev = " \ ${libdir}/libxenevtchn.so \ ${libdir}/pkgconfig/xenevtchn.pc \ ${datadir}/pkgconfig/xenevtchn.pc \ " -FILES_${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*" -FILES_${PN}-libxenforeignmemory-dev = " \ +FILES:${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*" +FILES:${PN}-libxenforeignmemory-dev = " \ ${libdir}/libxenforeignmemory.so \ ${libdir}/pkgconfig/xenforeignmemory.pc \ ${datadir}/pkgconfig/xenforeignmemory.pc \ " -FILES_${PN}-libxengnttab = "${libdir}/libxengnttab.so.*" -FILES_${PN}-libxengnttab-dev = " \ +FILES:${PN}-libxengnttab = "${libdir}/libxengnttab.so.*" +FILES:${PN}-libxengnttab-dev = " \ ${libdir}/libxengnttab.so \ ${libdir}/pkgconfig/xengnttab.pc \ ${datadir}/pkgconfig/xengnttab.pc \ " -FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*" -FILES_${PN}-libxenguest-dev = " \ +FILES:${PN}-libxenguest = "${libdir}/libxenguest.so.*" +FILES:${PN}-libxenguest-dev = " \ ${libdir}/libxenguest.so \ ${libdir}/pkgconfig/xenguest.pc \ ${datadir}/pkgconfig/xenguest.pc \ " -FILES_${PN}-libxenhypfs = "${libdir}/libxenhypfs.so.*" -FILES_${PN}-libxenhypfs-dev = " \ +FILES:${PN}-libxenhypfs = "${libdir}/libxenhypfs.so.*" +FILES:${PN}-libxenhypfs-dev = " \ ${libdir}/libxenhypfs.so \ ${libdir}/pkgconfig/xenhypfs.pc \ " -FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*" -FILES_${PN}-libxenlight-dev = " \ +FILES:${PN}-libxenlight = "${libdir}/libxenlight.so.*" +FILES:${PN}-libxenlight-dev = " \ ${libdir}/libxenlight.so \ ${libdir}/pkgconfig/xenlight.pc \ ${datadir}/pkgconfig/xenlight.pc \ " -FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*" -FILES_${PN}-libxenstat-dev = " \ +FILES:${PN}-libxenstat = "${libdir}/libxenstat.so.*" +FILES:${PN}-libxenstat-dev = " \ ${libdir}/libxenstat.so \ ${libdir}/pkgconfig/xenstat.pc \ ${datadir}/pkgconfig/xenstat.pc \ " -FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*" -FILES_${PN}-libxenstore-dev = " \ +FILES:${PN}-libxenstore = "${libdir}/libxenstore.so.*" +FILES:${PN}-libxenstore-dev = " \ ${libdir}/libxenstore.so \ ${libdir}/pkgconfig/xenstore.pc \ ${datadir}/pkgconfig/xenstore.pc \ " -FILES_${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*" -FILES_${PN}-libxentoolcore-dev = " \ +FILES:${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*" +FILES:${PN}-libxentoolcore-dev = " \ ${libdir}/libxentoolcore.so \ ${libdir}/pkgconfig/xentoolcore.pc \ ${datadir}/pkgconfig/xentoolcore.pc \ " -FILES_${PN}-libxentoollog = "${libdir}/libxentoollog.so.*" -FILES_${PN}-libxentoollog-dev = " \ +FILES:${PN}-libxentoollog = "${libdir}/libxentoollog.so.*" +FILES:${PN}-libxentoollog-dev = " \ ${libdir}/libxentoollog.so \ ${libdir}/pkgconfig/xentoollog.pc \ ${datadir}/pkgconfig/xentoollog.pc \ " -FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*" -FILES_${PN}-libxenvchan-dev = " \ +FILES:${PN}-libxenvchan = "${libdir}/libxenvchan.so.*" +FILES:${PN}-libxenvchan-dev = " \ ${libdir}/libxenvchan.so \ ${libdir}/pkgconfig/xenvchan.pc \ ${datadir}/pkgconfig/xenvchan.pc \ " -FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*" -FILES_${PN}-libxlutil-dev = " \ +FILES:${PN}-libxlutil = "${libdir}/libxlutil.so.*" +FILES:${PN}-libxlutil-dev = " \ ${libdir}/libxlutil.so \ ${libdir}/pkgconfig/xlutil.pc \ ${datadir}/pkgconfig/xlutil.pc \ " -FILES_${PN}-libvhd = "${libdir}/libvhd.so.*" -FILES_${PN}-libvhd-dev = " \ +FILES:${PN}-libvhd = "${libdir}/libvhd.so.*" +FILES:${PN}-libvhd-dev = " \ ${libdir}/libvhd.so \ ${libdir}/pkgconfig/vhd.pc \ ${datadir}/pkgconfig/vhd.pc \ " -FILES_${PN}-libfsimage = " \ +FILES:${PN}-libfsimage = " \ ${libdir}/libfsimage.so.* \ ${libdir}/libxenfsimage.so.* \ " -FILES_${PN}-libfsimage-dev = " \ +FILES:${PN}-libfsimage-dev = " \ ${libdir}/libfsimage.so \ ${libdir}/libxenfsimage.so \ ${libdir}/pkgconfig/fsimage.pc \ @@ -389,38 +389,38 @@ FILES_${PN}-libfsimage-dev = " \ ${datadir}/pkgconfig/xenfsimage.pc \ " -FILES_${PN}-fsimage = " \ +FILES:${PN}-fsimage = " \ ${libdir}/fs/**/[a-z]*fsimage.so \ ${libdir}/xenfsimage/**/fsimage.so \ " -FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain" +FILES:${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain" -FILES_${PN} = "\ +FILES:${PN} = "\ ${sysconfdir}/xen/auto \ ${sysconfdir}/xen/cpupool \ ${localstatedir}/xen/dump \ " -FILES_${PN}-console = "\ +FILES:${PN}-console = "\ ${libdir}/xen/bin/xenconsole \ ${sbindir}/xenconsoled \ " -FILES_${PN}-cpuid = "\ +FILES:${PN}-cpuid = "\ ${bindir}/xen-cpuid \ " -FILES_${PN}-devd = "\ +FILES:${PN}-devd = "\ ${sysconfdir}/init.d/xendriverdomain \ ${systemd_unitdir}/system/xendriverdomain.service \ " -FILES_${PN}-flask = "\ +FILES:${PN}-flask = "\ /boot/xenpolicy-* \ " -FILES_${PN}-flask-tools = "\ +FILES:${PN}-flask-tools = "\ ${sbindir}/flask-get-bool \ ${sbindir}/flask-getenforce \ ${sbindir}/flask-label-pci \ @@ -429,25 +429,25 @@ FILES_${PN}-flask-tools = "\ ${sbindir}/flask-setenforce \ " -FILES_${PN}-gdbsx = "\ +FILES:${PN}-gdbsx = "\ ${sbindir}/gdbsx \ " -INSANE_SKIP_${PN}-hvmloader = "arch" -FILES_${PN}-hvmloader = "\ +INSANE_SKIP:${PN}-hvmloader = "arch" +FILES:${PN}-hvmloader = "\ ${libdir}/xen/boot/hvmloader \ " -FILES_${PN}-kdd = "\ +FILES:${PN}-kdd = "\ ${sbindir}/kdd \ ${sbindir}/xen-kdd \ " -FILES_${PN}-livepatch += " \ +FILES:${PN}-livepatch += " \ ${sbindir}/xen-livepatch \ " -FILES_${PN}-misc = "\ +FILES:${PN}-misc = "\ ${bindir}/xen-detect \ ${libdir}/xen/bin/depriv-fd-checker \ ${sbindir}/gtracestat \ @@ -470,22 +470,22 @@ FILES_${PN}-misc = "\ ${libdir}/xen/bin/convert-legacy-stream \ " -FILES_${PN}-pygrub = "\ +FILES:${PN}-pygrub = "\ ${bindir}/pygrub \ ${libdir}/xen/bin/pygrub \ " # Depending on the version of Xen libdir or nonarch libdir is used -FILES_${PN}-python = "\ +FILES:${PN}-python = "\ ${libdir}/${PYTHON_DIR} \ ${nonarch_libdir}/${PYTHON_DIR} \ " -FILES_${PN}-remus = "\ +FILES:${PN}-remus = "\ ${sysconfdir}/xen/scripts/remus-netbuf-setup \ " -FILES_${PN}-scripts-network = " \ +FILES:${PN}-scripts-network = " \ ${sysconfdir}/xen/scripts/colo-proxy-setup \ ${sysconfdir}/xen/scripts/network-bridge \ ${sysconfdir}/xen/scripts/network-nat \ @@ -500,7 +500,7 @@ FILES_${PN}-scripts-network = " \ ${sysconfdir}/xen/scripts/vif-setup \ " -FILES_${PN}-scripts-block = " \ +FILES:${PN}-scripts-block = " \ ${sysconfdir}/xen/scripts/blktap \ ${sysconfdir}/xen/scripts/block \ ${sysconfdir}/xen/scripts/block-common.sh \ @@ -513,7 +513,7 @@ FILES_${PN}-scripts-block = " \ ${sysconfdir}/xen/scripts/vscsi \ " -FILES_${PN}-scripts-common = " \ +FILES:${PN}-scripts-common = " \ ${sysconfdir}/xen/scripts/external-device-migrate \ ${sysconfdir}/xen/scripts/hotplugpath.sh \ ${sysconfdir}/xen/scripts/locking.sh \ @@ -524,59 +524,59 @@ FILES_${PN}-scripts-common = " \ ${sysconfdir}/xen/scripts/xen-script-common.sh \ " -INSANE_SKIP_${PN}-shim = "arch" -FILES_${PN}-shim = " \ +INSANE_SKIP:${PN}-shim = "arch" +FILES:${PN}-shim = " \ ${libdir}/xen/boot/xen-shim \ " -FILES_${PN}-ucode = "\ +FILES:${PN}-ucode = "\ ${sbindir}/xen-ucode \ " -FILES_${PN}-vchan = "\ +FILES:${PN}-vchan = "\ ${bindir}/vchan-socket-proxy \ " -FILES_${PN}-volatiles = "\ +FILES:${PN}-volatiles = "\ ${sysconfdir}/default/volatiles/99_xen \ ${sysconfdir}/tmpfiles.d/xen.conf \ " -FILES_${PN}-xcutils = "\ +FILES:${PN}-xcutils = "\ ${libdir}/xen/bin/lsevtchn \ ${libdir}/xen/bin/readnotes \ ${libdir}/xen/bin/xc_restore \ ${libdir}/xen/bin/xc_save \ " -FILES_${PN}-xencov = "\ +FILES:${PN}-xencov = "\ ${sbindir}/xencov \ " -FILES_${PN}-xend-examples = "\ +FILES:${PN}-xend-examples = "\ ${sysconfdir}/xen/xend-config.sxp \ ${sysconfdir}/xen/xend-pci-permissive.sxp \ ${sysconfdir}/xen/xend-pci-quirks.sxp \ " -FILES_${PN}-xenhypfs = "\ +FILES:${PN}-xenhypfs = "\ ${sbindir}/xenhypfs \ " -FILES_${PN}-xenpaging = "\ +FILES:${PN}-xenpaging = "\ ${libdir}/xen/bin/xenpaging \ ${localstatedir}/lib/xen/xenpaging \ " -FILES_${PN}-xenpmd = "\ +FILES:${PN}-xenpmd = "\ ${sbindir}/xenpmd \ " -FILES_${PN}-xenstat = "\ +FILES:${PN}-xenstat = "\ ${sbindir}/xentop \ " -FILES_${PN}-xenstore = "\ +FILES:${PN}-xenstore = "\ ${bindir}/xenstore \ ${bindir}/xenstore-chmod \ ${bindir}/xenstore-control \ @@ -589,12 +589,12 @@ FILES_${PN}-xenstore = "\ ${bindir}/xenstore-write \ " -FILES_${PN}-xenstored = "\ +FILES:${PN}-xenstored = "\ ${sbindir}/xenstored \ ${localstatedir}/lib/xenstored \ " -FILES_${PN}-xentrace = "\ +FILES:${PN}-xentrace = "\ ${bindir}/xentrace \ ${bindir}/xentrace_setsize \ ${libdir}/xen/bin/xenctx \ @@ -604,28 +604,29 @@ FILES_${PN}-xentrace = "\ ${sbindir}/xentrace_setmask \ " -FILES_${PN}-xen-watchdog = "\ +FILES:${PN}-xen-watchdog = "\ ${sbindir}/xenwatchdogd \ ${sysconfdir}/init.d/xen-watchdog \ ${systemd_unitdir}/system/xen-watchdog.service \ " -FILES_${PN}-xl = "\ +FILES:${PN}-xl = "\ ${sysconfdir}/bash_completion.d/xl.sh \ ${sysconfdir}/bash_completion.d/xl \ ${sysconfdir}/xen/xl.conf \ ${libdir}/xen/bin/libxl-save-helper \ ${sbindir}/xl \ ${libdir}/xen/bin/xen-init-dom0 \ + ${libdir}/xen/bin/init-dom0less \ " -FILES_${PN}-xl-examples = "\ +FILES:${PN}-xl-examples = "\ ${sysconfdir}/xen/xlexample.hvm \ ${sysconfdir}/xen/xlexample.pvlinux \ ${sysconfdir}/xen/xlexample.pvhlinux \ " -FILES_${PN}-xm-examples = "\ +FILES:${PN}-xm-examples = "\ ${sysconfdir}/xen/xmexample1 \ ${sysconfdir}/xen/xmexample2 \ ${sysconfdir}/xen/xmexample3 \ @@ -636,86 +637,112 @@ FILES_${PN}-xm-examples = "\ ${sysconfdir}/xen/xmexample.vti \ " -FILES_${PN}-xenmon = "\ +FILES:${PN}-xenmon = "\ ${sbindir}/xenbaked \ ${sbindir}/xenmon.py \ ${sbindir}/xenmon \ " -FILES_${PN}-xm = "\ +FILES:${PN}-xm = "\ ${sysconfdir}/xen/xm-config.xml \ ${datadir}/xen/create.dtd \ ${sbindir}/xm \ " -FILES_${PN}-xencommons += "\ +FILES:${PN}-xencommons += "\ + ${nonarch_libdir}/modules-load.d/xen.conf \ ${sysconfdir}/default/xencommons \ - ${sysconfdir}/init.d/xencommons \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${sysconfdir}/init.d/xencommons', d)} \ ${sysconfdir}/xen/scripts/launch-xenstore \ - ${systemd_unitdir}/modules-load.d/xen.conf \ ${systemd_unitdir}/system/proc-xen.mount \ - ${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service \ - ${systemd_unitdir}/system/xenconsoled.service \ - ${systemd_unitdir}/system/xen-init-dom0.service \ - ${systemd_unitdir}/system/xenstored.service \ - ${systemd_unitdir}/system/var-lib-xenstored.mount \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xenconsoled.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xen-init-dom0.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xenstored.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/var-lib-xenstored.mount', '', d)} \ + ${localstatedir} \ " -FILES_${PN}-xend += " \ +FILES:${PN}-xend += " \ ${sysconfdir}/init.d/xend \ ${sbindir}/xend \ " -FILES_${PN}-xendomains += "\ +FILES:${PN}-xendomains += "\ ${libdir}/xen/bin/xendomains \ ${sysconfdir}/default/xendomains \ ${sysconfdir}/init.d/xendomains \ ${sysconfdir}/sysconfig/xendomains \ ${systemd_unitdir}/system/xendomains.service \ " -FILES_${PN}-xen-access += "\ +FILES:${PN}-xen-access += "\ ${sbindir}/xen-access \ " -FILES_${PN}-xen-memshare += "\ +FILES:${PN}-xen-memshare += "\ ${sbindir}/xen-memshare \ " # memshare is only built for x86, so allow empty package for other archs -ALLOW_EMPTY_${PN}-xen-memshare = "1" +ALLOW_EMPTY:${PN}-xen-memshare = "1" + +FILES:${PN}-test += "\ + ${libdir}/xen/bin/test-xenstore \ + ${libdir}/xen/bin/test-resource \ + ${libdir}/xen/bin/test-cpu-policy \ + ${libdir}/xen/bin/test-tsx \ + ${libdir}/xen/bin/test-paging-mempool \ + " + +# test-xenstore and test-resource currently only exist in 4.16 +# test-cpu-policy and test-tsx only exist in 4.16 for x86 +ALLOW_EMPTY:${PN}-test = "1" + +FILES:${PN}-xen-mceinj +="\ + ${sbindir}/xen-mceinj \ + " + +# xen-mceinj is only built for x86 4.16, so allow empty package +ALLOW_EMPTY:${PN}-xen-mceinj = "1" -INSANE_SKIP_${PN} = "already-stripped" +FILES:${PN}-xen-vmtrace +="\ + ${sbindir}/xen-vmtrace \ + " + +# xen-vmtrace is only built for x86 4.16, so allow empty package +ALLOW_EMPTY:${PN}-xen-vmtrace = "1" + +INSANE_SKIP:${PN} = "already-stripped" # configure init.d scripts -INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd" -INITSCRIPT_NAME_${PN}-xencommons = "xencommons" -INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80" -INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog" -INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81" -INITSCRIPT_NAME_${PN}-xend = "xend" -INITSCRIPT_PARAMS_${PN}-xend = "defaults 82" -INITSCRIPT_NAME_${PN}-xendomains = "xendomains" -INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83" -INITSCRIPT_NAME_${PN}-devd = "xendriverdomain" -INITSCRIPT_PARAMS_${PN}-devd = "defaults 82" +INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd" +INITSCRIPT_PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${PN}-xencommons', d)}" +INITSCRIPT_NAME:${PN}-xencommons = "xencommons" +INITSCRIPT_PARAMS:${PN}-xencommons = "defaults 80" +INITSCRIPT_NAME:${PN}-xen-watchdog = "xen-watchdog" +INITSCRIPT_PARAMS:${PN}-xen-watchdog = "defaults 81" +INITSCRIPT_NAME:${PN}-xend = "xend" +INITSCRIPT_PARAMS:${PN}-xend = "defaults 82" +INITSCRIPT_NAME:${PN}-xendomains = "xendomains" +INITSCRIPT_PARAMS:${PN}-xendomains = "defaults 83" +INITSCRIPT_NAME:${PN}-devd = "xendriverdomain" +INITSCRIPT_PARAMS:${PN}-devd = "defaults 82" # systemd packages SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains ${PN}-devd" -SYSTEMD_SERVICE_${PN}-devd = "xendriverdomain.service" -SYSTEMD_SERVICE_${PN}-xen-watchdog = "xen-watchdog.service" -SYSTEMD_SERVICE_${PN}-xencommons = " \ +SYSTEMD_SERVICE:${PN}-devd = "xendriverdomain.service" +SYSTEMD_SERVICE:${PN}-xen-watchdog = "xen-watchdog.service" +SYSTEMD_SERVICE:${PN}-xencommons = " \ proc-xen.mount \ - var-lib-xenstored.mount \ xen-qemu-dom0-disk-backend.service \ xenconsoled.service \ xen-init-dom0.service \ xenstored.service \ " -SYSTEMD_SERVICE_${PN}-xendomains = "xendomains.service" +SYSTEMD_SERVICE:${PN}-xendomains = "xendomains.service" EXTRA_OECONF += " \ --with-systemd=${systemd_unitdir}/system \ - --with-systemd-modules-load=${systemd_unitdir}/modules-load.d \ --with-initddir=${INIT_D_DIR} \ --with-sysconfig-leaf-dir=default \ --with-system-qemu=${bindir}/qemu-system-i386 \ @@ -725,12 +752,10 @@ do_configure() { do_configure_common } -# Workaround when compiling with gcc-11 -EXTRA_CFLAGS_XEN_TOOLS_append = " -Wno-vla-parameter" - do_compile() { cd ${S} - oe_runmake tools EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}" PYTHON="${PYTHON}" + oe_runmake tools PYTHON="${PYTHON}" \ + EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}" } do_install() { @@ -781,16 +806,27 @@ do_install() { done fi - # fixup default path to qemu-system-i386 - sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons - if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then sed -i 's#ExecStart=.*qemu-system-i386\(.*\)$#ExecStart=/usr/bin/qemu-system-i386\1#' \ ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service fi + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + rm -f ${D}/${sysconfdir}/init.d/xencommons + else + # fixup default path to qemu-system-i386 + sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons + + # remove the uncondiontally installed systemd service files + rm -f ${D}/${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service + rm -f ${D}/${systemd_unitdir}/system/xenconsoled.service + rm -f ${D}/${systemd_unitdir}/system/xen-init-dom0.service + rm -f ${D}/${systemd_unitdir}/system/xenstored.service + rm -f ${D}/${systemd_unitdir}/system/var-lib-xenstored.mount + fi } -pkg_postinst_${PN}-volatiles() { +pkg_postinst:${PN}-volatiles() { if [ -z "$D" ]; then if command -v systemd-tmpfiles >/dev/null; then systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/xen.conf diff --git a/recipes-extended/xen/xen-tools_4.14.bb b/recipes-extended/xen/xen-tools_4.14.bb deleted file mode 100644 index 10982a2c..00000000 --- a/recipes-extended/xen/xen-tools_4.14.bb +++ /dev/null @@ -1,20 +0,0 @@ -SRCREV ?= "ad844aa352559a8b1f36e391a27d9d7dbddbdc36" - -XEN_REL ?= "4.14" -XEN_BRANCH ?= "stable-${XEN_REL}" - -SRC_URI = " \ - git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ - file://0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch \ - file://0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch \ - file://0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch \ - " - -LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5" - -PV = "${XEN_REL}+stable${SRCPV}" - -S = "${WORKDIR}/git" - -require xen.inc -require xen-tools.inc diff --git a/recipes-extended/xen/xen-tools_4.15.bb b/recipes-extended/xen/xen-tools_4.15.bb deleted file mode 100644 index 314dc52e..00000000 --- a/recipes-extended/xen/xen-tools_4.15.bb +++ /dev/null @@ -1,18 +0,0 @@ -SRCREV ?= "e25aa9939ae0cd8317605be3d5c5611b76bc4ab4" - -XEN_REL ?= "4.15" -XEN_BRANCH ?= "stable-${XEN_REL}" - -SRC_URI = " \ - git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ - file://0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch \ - " - -LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5" - -PV = "${XEN_REL}+stable${SRCPV}" - -S = "${WORKDIR}/git" - -require xen.inc -require xen-tools.inc diff --git a/recipes-extended/xen/xen-tools_4.17.bb b/recipes-extended/xen/xen-tools_4.17.bb new file mode 100644 index 00000000..72deed01 --- /dev/null +++ b/recipes-extended/xen/xen-tools_4.17.bb @@ -0,0 +1,19 @@ +# xen 4.17.2 release sha +SRCREV ?= "0ebd2e49bcd0f566ba6b9158555942aab8e41332" + +XEN_REL ?= "4.17" +XEN_BRANCH ?= "stable-${XEN_REL}" + +SRC_URI = "git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + file://0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch \ + file://0001-tools-xenstore-xenstored_control.c-correctly-print-t.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" + +PV = "${XEN_REL}+stable" + +S = "${WORKDIR}/git" + +require xen.inc +require xen-tools.inc diff --git a/recipes-extended/xen/xen-tools_4.18.bb b/recipes-extended/xen/xen-tools_4.18.bb new file mode 100644 index 00000000..5dbe180a --- /dev/null +++ b/recipes-extended/xen/xen-tools_4.18.bb @@ -0,0 +1,21 @@ +# tag: RELEASE-4.18.0 +SRCREV ?= "4da8ca9cb9cfdb92c9dd09d5270ae16a3b2dbc89" + +XEN_REL ?= "4.18" +XEN_BRANCH ?= "stable-4.18" + +SRC_URI = " \ + git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + file://0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" + +PV = "${XEN_REL}+stable" + +S = "${WORKDIR}/git" + +DEFAULT_PREFERENCE ??= "-1" + +require xen.inc +require xen-tools.inc diff --git a/recipes-extended/xen/xen-tools_git.bb b/recipes-extended/xen/xen-tools_git.bb index 0188bddf..8397178e 100644 --- a/recipes-extended/xen/xen-tools_git.bb +++ b/recipes-extended/xen/xen-tools_git.bb @@ -1,16 +1,17 @@ -SRCREV ?= "e680cc48b7184d3489873d6776f84ba1fc238ced" +# master status on 2023-05-26 +SRCREV ?= "03cf7ca23e0e876075954c558485b267b7d02406" -XEN_REL ?= "4.16" +XEN_REL ?= "4.18" XEN_BRANCH ?= "master" SRC_URI = " \ git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ - file://0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch \ + file://0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch \ " -LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5" +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" -PV = "${XEN_REL}+git${SRCPV}" +PV = "${XEN_REL}+git" S = "${WORKDIR}/git" diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc index 2fbdb3a4..dcd281b5 100644 --- a/recipes-extended/xen/xen.inc +++ b/recipes-extended/xen/xen.inc @@ -1,21 +1,20 @@ HOMEPAGE = "http://xen.org" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" SECTION = "console/tools" -inherit autotools-brokensep +TOOLCHAIN = "gcc" + +inherit autotools-brokensep pkgconfig require xen-arch.inc PACKAGECONFIG ??= " \ - sdl \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ - ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'hvm', '', d)} \ " -PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl," +PACKAGECONFIG[lzo] = ",,lzo" PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native," PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd," -PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios," PACKAGECONFIG[externalblktap] = ",,," DEPENDS = " \ @@ -43,7 +42,6 @@ DEPENDS = " \ procps \ python3 \ libaio \ - lzo \ util-linux \ xz \ yajl \ @@ -90,8 +88,19 @@ export CROSS_COMPILE="${TARGET_PREFIX}" # overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'" export LDFLAGS="" -# Pass through the Yocto distro compiler flags via the Xen-provided variables. -# Special handling: +# No additional C flags for the main hypervisor build +EXTRA_CFLAGS_XEN_CORE ?= "" +# Add prefix maps to support buildpaths QA test and reproducibility +DEBUG_PREFIX_MAP:append = " \ + -ffile-prefix-map=${S}=${PN}-source \ + -fdebug-prefix-map=${WORKDIR}=${PN} \ + " + +# - The Xen tools build for x86 systems with HVM-mode enabled includes hvmloader +# which fails to build when "-m64" is included in flags set via the +# EXTRA_CFLAGS_XEN_TOOLS: so clear TUNE_CCARGS on x86 to prevent that. +TUNE_CCARGS:x86-64="" + # - Yocto supplies the _FORTIFY_SOURCE flag via CC/CPP/CXX but then passes the # optimization -O via C*FLAGS which is problematic when the CFLAGS are cleared # within the build because compilation fails with the compiler stating @@ -101,18 +110,15 @@ export LDFLAGS="" # It must not be compiled with SSE compiler options enabled and the Xen build # explicitly clears CFLAGS to ensure that, so such options must not be passed # in via the tool variable. hvmloader is required to run HVM-mode guest VMs. -CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${CC_REPRODUCIBLE_OPTIONS}" -EXTRA_CFLAGS_XEN_CORE="${HOST_CC_ARCH} ${CFLAGS}" +CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}" # 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed # in CC to ensure that configure can compile binaries for the right arch. -CC_arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${CC_REPRODUCIBLE_OPTIONS}" -EXTRA_CFLAGS_XEN_CORE_arm="${SECURITY_CFLAGS} ${CFLAGS}" -EXTRA_CFLAGS_XEN_TOOLS_arm="${SECURITY_CFLAGS} ${CFLAGS}" +CC:arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" # There are no Xen-provided variables for C++, so append to the tool variables: -CPP_append = " ${CPPFLAGS}" -CXX_append = " ${CXXFLAGS}" +CPP:append = " ${CPPFLAGS}" +CXX:append = " ${CXXFLAGS}" EXTRA_OECONF += " \ --exec-prefix=${prefix} \ @@ -125,11 +131,13 @@ EXTRA_OECONF += " \ --disable-rombios \ --disable-ocamltools \ --disable-qemu-traditional \ - ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', '--enable-pvshim', '--disable-pvshim', d)} \ + ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', \ + '--enable-pvshim --with-system-seabios="/usr/share/firmware/bios.bin"', \ + '--disable-pvshim --disable-seabios', d)} \ " -EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.bin" -EXTRA_OEMAKE += "CIRRUSVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.cirrus.bin" +EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.bin" +EXTRA_OEMAKE += "CIRRUSVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.cirrus.bin" EXTRA_OEMAKE += "SEABIOS_ROM=${STAGING_DIR_HOST}/usr/share/firmware/bios.bin" EXTRA_OEMAKE += "ETHERBOOT_ROMS=${STAGING_DIR_HOST}/usr/share/firmware/rtl8139.rom" @@ -151,9 +159,7 @@ EXTRA_OEMAKE += "${@['', 'XEN_WHOAMI=${PF} XEN_DOMAIN=${DISTRO} XEN_BUILD_HOST=$ [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}${@get_build_time_vars(d)}" # Improve build reproducibility: compiler flags to remove filesystem differences. -CC_REPRODUCIBLE_OPTIONS = "${@['', '-gno-record-gcc-switches ' + \ - '-ffile-prefix-map=${S}=${PN}-source ' + \ - '-fdebug-prefix-map=${WORKDIR}=${PN}'] \ +CC_REPRODUCIBLE_OPTIONS = "${@['', '-gno-record-gcc-switches'] \ [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}" # check for XSM in package config to allow XSM_ENABLE to be set @@ -186,12 +192,6 @@ do_post_patch() { fi } -do_post_patch_append_arm() { - # The hypervisor binary must not be built with the hard floating point ABI. - echo "CC := \$(filter-out ${TUNE_CCARGS},\$(CC))" >> ${S}/xen/arch/arm/Rules.mk - echo "CPP := \$(filter-out ${TUNE_CCARGS},\$(CPP))" >> ${S}/xen/arch/arm/Rules.mk -} - addtask post_patch after do_patch before do_configure # Allow all hypervisor settings in a defconfig @@ -222,13 +222,13 @@ do_configure_common() { PYTHON="${PYTHON}" } -do_compile_prepend() { +do_compile:prepend() { # workaround for build bug when CFLAGS is exported # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html unset CFLAGS } -do_install_prepend() { +do_install:prepend() { # CFLAGS is used to set PY_CFLAGS which affects the pygrub install # so also need to unset CFLAGS here: unset CFLAGS diff --git a/recipes-extended/xen/xen_4.14.bb b/recipes-extended/xen/xen_4.14.bb deleted file mode 100644 index 653e3b63..00000000 --- a/recipes-extended/xen/xen_4.14.bb +++ /dev/null @@ -1,19 +0,0 @@ -SRCREV ?= "ad844aa352559a8b1f36e391a27d9d7dbddbdc36" - -XEN_REL ?= "4.14" -XEN_BRANCH ?= "stable-${XEN_REL}" - -SRC_URI = " \ - git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ - file://xen-arm64-implement-atomic-fetch-add.patch \ - file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ - " - -LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5" - -PV = "${XEN_REL}+stable${SRCPV}" - -S = "${WORKDIR}/git" - -require xen.inc -require xen-hypervisor.inc diff --git a/recipes-extended/xen/xen_4.15.bb b/recipes-extended/xen/xen_4.17.bb index 2842c0af..d83fa97f 100644 --- a/recipes-extended/xen/xen_4.15.bb +++ b/recipes-extended/xen/xen_4.17.bb @@ -1,19 +1,22 @@ -SRCREV ?= "e25aa9939ae0cd8317605be3d5c5611b76bc4ab4" +# xen 4.17.2 release sha +SRCREV ?= "0ebd2e49bcd0f566ba6b9158555942aab8e41332" -XEN_REL ?= "4.15" +XEN_REL ?= "4.17" XEN_BRANCH ?= "stable-${XEN_REL}" SRC_URI = " \ git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ - file://xen-arm64-implement-atomic-fetch-add.patch \ file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ " -LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5" +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" -PV = "${XEN_REL}+stable${SRCPV}" +PV = "${XEN_REL}+stable" S = "${WORKDIR}/git" require xen.inc require xen-hypervisor.inc + +TOOLCHAIN = "gcc" +LDFLAGS:remove = "-fuse-ld=lld" diff --git a/recipes-extended/xen/xen_4.18.bb b/recipes-extended/xen/xen_4.18.bb new file mode 100644 index 00000000..2ad7704e --- /dev/null +++ b/recipes-extended/xen/xen_4.18.bb @@ -0,0 +1,21 @@ +# tag: RELEASE-4.18.0 +SRCREV ?= "4da8ca9cb9cfdb92c9dd09d5270ae16a3b2dbc89" + +XEN_REL ?= "4.18" +XEN_BRANCH ?= "stable-4.18" + +SRC_URI = " \ + git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" + +PV = "${XEN_REL}+stable" + +S = "${WORKDIR}/git" + +DEFAULT_PREFERENCE ??= "-1" + +require xen.inc +require xen-hypervisor.inc diff --git a/recipes-extended/xen/xen_git.bb b/recipes-extended/xen/xen_git.bb index eaf39566..79078878 100644 --- a/recipes-extended/xen/xen_git.bb +++ b/recipes-extended/xen/xen_git.bb @@ -1,17 +1,17 @@ -SRCREV ?= "e680cc48b7184d3489873d6776f84ba1fc238ced" +# master status on 2023-11-24 +SRCREV ?= "03cf7ca23e0e876075954c558485b267b7d02406" -XEN_REL ?= "4.16" +XEN_REL ?= "4.19" XEN_BRANCH ?= "master" SRC_URI = " \ git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ - file://xen-arm64-implement-atomic-fetch-add.patch \ file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ " -LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5" +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" -PV = "${XEN_REL}+git${SRCPV}" +PV = "${XEN_REL}+git" S = "${WORKDIR}/git" diff --git a/recipes-extended/xen/xtf_git.bb b/recipes-extended/xen/xtf_git.bb index 35803241..f1e76f7b 100644 --- a/recipes-extended/xen/xtf_git.bb +++ b/recipes-extended/xen/xtf_git.bb @@ -5,14 +5,14 @@ LICENSE = "BSD-2-Clause" # For additional reference on XTF, please see: # https://static.sched.com/hosted_files/xendeveloperanddesignsummit2017/79/xtf.pdf -SRC_URI = "git://xenbits.xen.org/xtf" -SRCREV = "b0bc49846c154b79243f39d461a4515804bcaf53" +SRC_URI = "git://xenbits.xen.org/xtf;branch=master" +SRCREV = "3e800027016ea4eb19887bf626b46f45fc43fa5d" COMPATIBLE_HOST = '(x86_64.*).*-linux' LIC_FILES_CHKSUM = "file://COPYING;md5=a5680865974e05cf0510615ee1d745d8" -PV = "0+git${SRCPV}" +PV = "0+git" S = "${WORKDIR}/git" @@ -20,18 +20,19 @@ inherit python3native PACKAGES = "${PN}" -FILES_${PN} = " \ +FILES:${PN} = " \ ${libexecdir}/* \ " -RDEPENDS_${PN} = " \ +RDEPENDS:${PN} = " \ xen-tools-xl \ python3 \ " do_compile() { - oe_runmake CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" \ + oe_runmake CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP}" \ CPP="${CPP}" \ + LD="${LD}" \ OBJCOPY="${OBJCOPY}" \ PYTHON="${PYTHON}" # switch the shebang to python3 @@ -50,6 +51,6 @@ do_install() { INSANE_SKIP = "arch" # xen-tools-xl is a runtime but not build time dependency -INSANE_SKIP_${PN} = "build-deps" +INSANE_SKIP:${PN} = "build-deps" INHIBIT_PACKAGE_STRIP = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch b/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch deleted file mode 100644 index 221a314c..00000000 --- a/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 417184cc41cfd33ae7b4c11c8396e0f47f43e2ba Mon Sep 17 00:00:00 2001 -From: Jean-Christophe Dubois <jcd@tribudubois.net> -Date: Fri, 8 May 2020 15:17:36 +0200 -Subject: [PATCH] EMULATORS: Allow Xvisor to compile with gcc 10. - -With gcc 10 because some header files do not declare some variable -definition as extern, the variable get duplicated in all files -using it. - -This patch allow xvisor to compile with the latest gcc. - -Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net> -Reviewed-by: Anup Patel <anup@brainfault.org> ---- - drivers/mmc/core/core.h | 2 +- - emulators/display/drawfn.h | 10 +++++----- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h -index d75d135a..e2ca3141 100644 ---- a/drivers/mmc/core/core.h -+++ b/drivers/mmc/core/core.h -@@ -64,7 +64,7 @@ int mmc_go_idle(struct mmc_host *host); - * Note: Must be called with host->lock held. - */ - extern struct vmm_bus sdio_bus_type; --struct vmm_device_type sdio_func_type; -+extern struct vmm_device_type sdio_func_type; - - int __sdio_attach(struct mmc_host *host); - -diff --git a/emulators/display/drawfn.h b/emulators/display/drawfn.h -index f9163cff..385deaf6 100644 ---- a/emulators/display/drawfn.h -+++ b/emulators/display/drawfn.h -@@ -69,14 +69,14 @@ typedef void (*drawfn)(struct vmm_surface *, - DRAWFN_ORDER_MAX * \ - DRAWFN_FORMAT_MAX) - --drawfn drawfn_surface_fntable_8[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_8[DRAWFN_FNTABLE_SIZE]; - --drawfn drawfn_surface_fntable_15[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_15[DRAWFN_FNTABLE_SIZE]; - --drawfn drawfn_surface_fntable_16[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_16[DRAWFN_FNTABLE_SIZE]; - --drawfn drawfn_surface_fntable_24[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_24[DRAWFN_FNTABLE_SIZE]; - --drawfn drawfn_surface_fntable_32[DRAWFN_FNTABLE_SIZE]; -+extern drawfn drawfn_surface_fntable_32[DRAWFN_FNTABLE_SIZE]; - - #endif diff --git a/recipes-extended/xvisor/files/0001-build-use-usr-bin-env-for-python-scripts.patch b/recipes-extended/xvisor/files/0001-build-use-usr-bin-env-for-python-scripts.patch new file mode 100644 index 00000000..1e37c49e --- /dev/null +++ b/recipes-extended/xvisor/files/0001-build-use-usr-bin-env-for-python-scripts.patch @@ -0,0 +1,38 @@ +From eb351ca63a86f53cfb18987284a1445d543dfe56 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Mon, 29 Nov 2021 17:20:00 -0500 +Subject: [PATCH] build: use /usr/bin/env for python scripts + +Without this, we break on hosts without /usr/bin/python + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + tools/scripts/d2c.py | 2 +- + tools/scripts/memimg.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/scripts/d2c.py b/tools/scripts/d2c.py +index b46a7bc4..0a6bce08 100755 +--- a/tools/scripts/d2c.py ++++ b/tools/scripts/d2c.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python3 + #/** + # Copyright (c) 2013 Anup Patel. + # All rights reserved. +diff --git a/tools/scripts/memimg.py b/tools/scripts/memimg.py +index 423c9c33..ba2f06cb 100755 +--- a/tools/scripts/memimg.py ++++ b/tools/scripts/memimg.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python3 + #/** + # Copyright (c) 2011 Anup Patel. + # All rights reserved. +-- +2.19.1 + diff --git a/recipes-extended/xvisor/xvisor-configs.inc b/recipes-extended/xvisor/xvisor-configs.inc index f53bba25..cd873cb3 100644 --- a/recipes-extended/xvisor/xvisor-configs.inc +++ b/recipes-extended/xvisor/xvisor-configs.inc @@ -9,7 +9,7 @@ def get_oemake_config(a, d): elif re.match('riscv32(eb|)$', a): return 'generic-32b-defconfig' elif re.match('riscv64(eb|)$', a): return 'generic-64b-defconfig' else: - bb.error("cannot map '%s' to a Xvisor defconfig" % a) + bb.note("cannot map '%s' to a Xvisor defconfig" % a) def map_xvisor_arch(a, d): import re @@ -22,4 +22,4 @@ def map_xvisor_arch(a, d): elif re.match('aarch64_be_ilp32$', a): return 'arm' elif re.match('riscv(32|64|)(eb|)$', a): return 'riscv' else: - bb.error("cannot map '%s' to a Xvisor architecture" % a) + bb.note("cannot map '%s' to a Xvisor architecture" % a) diff --git a/recipes-extended/xvisor/xvisor_git.bb b/recipes-extended/xvisor/xvisor_git.bb index 831c943b..205951e9 100644 --- a/recipes-extended/xvisor/xvisor_git.bb +++ b/recipes-extended/xvisor/xvisor_git.bb @@ -1,6 +1,6 @@ SUMMARY = "Xvisor is an open-source type-1 hypervisor, which aims at providing a monolithic, light-weight, portable, and flexible virtualization solution." DESCRIPTION = "Xvisor primarily supports Full virtualization hence, supports a wide range of unmodified guest operating systems. Paravirtualization is optional for Xvisor and will be supported in an architecture independent manner (such as VirtIO PCI/MMIO devices) to ensure no-change in guest OS for using paravirtualization." -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS += "dtc-native dosfstools-native mtools-native" @@ -8,11 +8,13 @@ require xvisor-configs.inc inherit autotools-brokensep +PV = "0.3.0+git" + # This version support the RISC-V v0.5.0 Hypervisor extensions -SRCREV = "b3dac5b1f61f23f21dc59b3880897cff78f3b618" -SRC_URI = "git://github.com/avpatel/xvisor-next.git \ +SRCREV = "6b23764a1439f9d08b2ed2f363da522460d8a22b" +SRC_URI = "git://github.com/avpatel/xvisor-next.git;branch=master;protocol=https \ file://0001-TESTS-Don-t-specify-mabi-or-march-for-RISC-V.patch \ - file://0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch \ + file://0001-build-use-usr-bin-env-for-python-scripts.patch \ " S = "${WORKDIR}/git" @@ -25,7 +27,7 @@ do_configure() { oe_runmake ${CONFIG} } -do_install_append() { +do_install:append() { install -d ${D} install -m 755 ${B}/build/vmm.* ${D}/ @@ -44,12 +46,12 @@ do_deploy () { addtask deploy after do_install -FILES_${PN} += "/vmm.*" -FILES_${PN} += "/*.dtb" +FILES:${PN} += "/vmm.*" +FILES:${PN} += "/*.dtb" COMPATIBLE_HOST = "(aarch64|riscv64|riscv32).*" INHIBIT_PACKAGE_STRIP = "1" # ERROR: xvisor-git-r0 do_package_qa: QA Issue: File /vmm.elf in package xvisor doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags] # ERROR: xvisor-git-r0 do_package_qa: QA Issue: xvisor: ELF binary /vmm.elf has relocations in .text [textrel] -INSANE_SKIP_${PN} += "ldflags textrel" +INSANE_SKIP:${PN} += "ldflags textrel" diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_xen.inc b/recipes-graphics/xorg-xserver/xserver-xorg_xen.inc index 95034045..1b7e06b2 100644 --- a/recipes-graphics/xorg-xserver/xserver-xorg_xen.inc +++ b/recipes-graphics/xorg-xserver/xserver-xorg_xen.inc @@ -5,9 +5,9 @@ # REMOVED_OPENGL_PKGCONFIGS = "" XEN_REMOVED_OPENGL_PKGCONFIGS ?= "glamor" -XEN_REMOVED_OPENGL_PKGCONFIGS_x86 = "" -XEN_REMOVED_OPENGL_PKGCONFIGS_x86-64 = "" +XEN_REMOVED_OPENGL_PKGCONFIGS:x86 = "" +XEN_REMOVED_OPENGL_PKGCONFIGS:x86-64 = "" REMOVED_OPENGL_PKGCONFIGS ?= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', "${XEN_REMOVED_OPENGL_PKGCONFIGS}", '', d)}" -OPENGL_PKGCONFIGS_remove = "${REMOVED_OPENGL_PKGCONFIGS}" +OPENGL_PKGCONFIGS:remove = "${REMOVED_OPENGL_PKGCONFIGS}" diff --git a/recipes-kernel/linux/linux-%.bbappend b/recipes-kernel/linux/linux-%.bbappend index 5f315787..dbae9b14 100644 --- a/recipes-kernel/linux/linux-%.bbappend +++ b/recipes-kernel/linux/linux-%.bbappend @@ -4,7 +4,35 @@ LINUX_MAJOR = "${@(d.getVar('LINUX_VERSION') or "x.y").split('.')[0]}" LINUX_MINOR = "${@(d.getVar('LINUX_VERSION') or "x.y").split('.')[1]}" - -KERNEL_META_TYPE = "${@'yocto' if d.getVar('SRC_URI').find('type=kmeta') > 0 else 'none'}" +KERNEL_META_TYPE = "${@'yocto' if d.getVar('SRC_URI').find('type=kmeta') > 0 and d.getVar('SKIP_META_VIRT_KERNEL_INCLUDE') == None else 'none'}" include ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-${KERNEL_META_TYPE}_${LINUX_MAJOR}.${LINUX_MINOR}_virtualization.inc', '', d)} + +python __anonymous () { + # Gather the variables + virt_enabled = bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'True', '', d ) + skip_kernel_include_enabled = d.getVar('SKIP_META_VIRT_KERNEL_INCLUDE') + kmeta_type = d.getVar('SRC_URI').find('type=kmeta') + inhibit_skip_kernel_check_warning = d.getVar('META_VIRT_KERNEL_CHECK_WARNING_INHIBIT') + + # + # We warn if: + # - the kernel has the capability of merging fragments + # - virtualiation is enabled + # - and the user has decided to force skip the include + # + # .. because they have knowingly opted-out of our tested + # kernel configurations, and need to be warned. + # + # BUT, it can also be annoying to get a warning when you + # have explcitly opted out. So we have one more warning + # that indicates that the impacts are understood and this + # really is on purpse. If META_VIRT_KERNEL_CHECK_WARNING_INHIBIT + # is set, we won't do the warning. + # + if virt_enabled and kmeta_type > 0 and skip_kernel_include_enabled: + if not inhibit_skip_kernel_check_warning: + bb.warn( "You have a kernel-yocto enabled kernel, but have inhibited \ +virtualization kernel features. Some runtime issues may be present in \ +your final image" ) +} diff --git a/recipes-kernel/linux/linux-yocto-dev.bbappend b/recipes-kernel/linux/linux-yocto-dev.bbappend deleted file mode 100644 index 20eeba95..00000000 --- a/recipes-kernel/linux/linux-yocto-dev.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-yocto_virtualization.inc', '', d)} diff --git a/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.cfg b/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.cfg deleted file mode 100644 index 417ca249..00000000 --- a/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.cfg +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MIT -# -# This requires CONFIG_HUGETLBFS - -CONFIG_CGROUP_HUGETLB=y diff --git a/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc b/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc deleted file mode 100644 index 7d1f9997..00000000 --- a/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MIT -define KFEATURE_DESCRIPTION "Enable hugetlb cgroup" -define KFEATURE_COMPATIBILITY all - -kconf non-hardware cgroup-hugetlb.cfg diff --git a/recipes-kernel/linux/linux-yocto/docker.cfg b/recipes-kernel/linux/linux-yocto/docker.cfg deleted file mode 100644 index 79012a6a..00000000 --- a/recipes-kernel/linux/linux-yocto/docker.cfg +++ /dev/null @@ -1,12 +0,0 @@ -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -CONFIG_IP_NF_FILTER=m -CONFIG_NF_NAT=m -CONFIG_NF_CONNTRACK=y - -CONFIG_DM_THIN_PROVISIONING=m - - -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_TARGET_MASQUERADE=m - -CONFIG_OVERLAY_FS=y diff --git a/recipes-kernel/linux/linux-yocto/docker.scc b/recipes-kernel/linux/linux-yocto/docker.scc deleted file mode 100644 index e317456c..00000000 --- a/recipes-kernel/linux/linux-yocto/docker.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Enable Features needed by docker in addition to LXC features" -define KFEATURE_COMPATIBILITY board - -kconf non-hardware docker.cfg diff --git a/recipes-kernel/linux/linux-yocto/ebtables.cfg b/recipes-kernel/linux/linux-yocto/ebtables.cfg deleted file mode 100644 index a3c514e1..00000000 --- a/recipes-kernel/linux/linux-yocto/ebtables.cfg +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_EBT_T_NAT=m diff --git a/recipes-kernel/linux/linux-yocto/ebtables.scc b/recipes-kernel/linux/linux-yocto/ebtables.scc deleted file mode 100644 index b3895e58..00000000 --- a/recipes-kernel/linux/linux-yocto/ebtables.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Enable ebtables support" -define KFEATURE_COMPATIBILITY board - -kconf non-hardware ebtables.cfg diff --git a/recipes-kernel/linux/linux-yocto/extra-configs.cfg b/recipes-kernel/linux/linux-yocto/extra-configs.cfg new file mode 100644 index 00000000..a43bbcbc --- /dev/null +++ b/recipes-kernel/linux/linux-yocto/extra-configs.cfg @@ -0,0 +1 @@ +# placeholder config fragment for local enable and debug
\ No newline at end of file diff --git a/recipes-kernel/linux/linux-yocto/kubernetes.cfg b/recipes-kernel/linux/linux-yocto/kubernetes.cfg deleted file mode 100644 index c3e90d43..00000000 --- a/recipes-kernel/linux/linux-yocto/kubernetes.cfg +++ /dev/null @@ -1,19 +0,0 @@ -CONFIG_BLK_CGROUP=y -CONFIG_BLK_DEV_THROTTLING=y -CONFIG_CGROUP_PERF=y -CONFIG_CGROUP_HUGETLB=y -CONFIG_NET_CLS_CGROUP=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_IP_NF_TARGET_REDIRECT=y -CONFIG_IP_SET=m -CONFIG_IP_VS=y -CONFIG_IP_VS_NFCT=y -CONFIG_IP_VS_PROTO_TCP=y -CONFIG_IP_VS_PROTO_UDP=y -CONFIG_IP_VS_RR=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_CONNMARK=m - diff --git a/recipes-kernel/linux/linux-yocto/kubernetes.scc b/recipes-kernel/linux/linux-yocto/kubernetes.scc deleted file mode 100644 index 1e93b704..00000000 --- a/recipes-kernel/linux/linux-yocto/kubernetes.scc +++ /dev/null @@ -1,2 +0,0 @@ -include docker.scc -kconf non-hardware kubernetes.cfg diff --git a/recipes-kernel/linux/linux-yocto/lxc.cfg b/recipes-kernel/linux/linux-yocto/lxc.cfg deleted file mode 100644 index e195c15b..00000000 --- a/recipes-kernel/linux/linux-yocto/lxc.cfg +++ /dev/null @@ -1,32 +0,0 @@ -CONFIG_CGROUP_DEVICE=y -CONFIG_CPUSETS=y -CONFIG_PROC_PID_CPUSET=y -CONFIG_MEMCG=y -CONFIG_CGROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_CHECKPOINT_RESTORE=y -CONFIG_NAMESPACES=y -CONFIG_UTS_NS=y -CONFIG_IPC_NS=y -CONFIG_USER_NS=y -CONFIG_PID_NS=y -CONFIG_NET_NS=y - -CONFIG_NET_CLS_CGROUP=m -CONFIG_BLK_CGROUP=y -CONFIG_CGROUP_NET_PRIO=y - -# Virtual drivers -CONFIG_HVC_DRIVER=y - -# Base support for live boot -CONFIG_BLK_DEV_LOOP=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_VFAT_FS=y -CONFIG_RD_GZIP=y - -# Support for virtual ethernet and LXC -CONFIG_VETH=y -CONFIG_MACVLAN=y -CONFIG_VXLAN=m diff --git a/recipes-kernel/linux/linux-yocto/lxc.scc b/recipes-kernel/linux/linux-yocto/lxc.scc deleted file mode 100644 index ee518835..00000000 --- a/recipes-kernel/linux/linux-yocto/lxc.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Enable Features needed by LxC, namespaces, cgroups et.c." -define KFEATURE_COMPATIBILITY board - -kconf non-hardware lxc.cfg diff --git a/recipes-kernel/linux/linux-yocto/vswitch.cfg b/recipes-kernel/linux/linux-yocto/vswitch.cfg deleted file mode 100644 index b1fefc0c..00000000 --- a/recipes-kernel/linux/linux-yocto/vswitch.cfg +++ /dev/null @@ -1,3 +0,0 @@ -CONFIG_OPENVSWITCH=m -CONFIG_NET_SCH_INGRESS=m -CONFIG_NET_ACT_POLICE=m diff --git a/recipes-kernel/linux/linux-yocto/vswitch.scc b/recipes-kernel/linux/linux-yocto/vswitch.scc deleted file mode 100644 index 2790b4fe..00000000 --- a/recipes-kernel/linux/linux-yocto/vswitch.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Enable in kernel OpenvSwitch module" -define KFEATURE_COMPATIBILITY board - -kconf non-hardware vswitch.cfg diff --git a/recipes-kernel/linux/linux-yocto/xen.cfg b/recipes-kernel/linux/linux-yocto/xen.cfg deleted file mode 100644 index af821d2f..00000000 --- a/recipes-kernel/linux/linux-yocto/xen.cfg +++ /dev/null @@ -1,49 +0,0 @@ -CONFIG_HYPERVISOR_GUEST=y -CONFIG_PARAVIRT=y -CONFIG_XEN=y -CONFIG_XEN_DOM0=y -CONFIG_XEN_PVHVM=y -CONFIG_XEN_SAVE_RESTORE=y -# CONFIG_XEN_DEBUG_FS is not set -CONFIG_XEN_PVH=y -CONFIG_MMU_NOTIFIER=y -CONFIG_HIBERNATE_CALLBACKS=y -CONFIG_PCI_XEN=y -CONFIG_XEN_PCIDEV_FRONTEND=y -CONFIG_SYS_HYPERVISOR=y -CONFIG_XEN_BLKDEV_FRONTEND=y -CONFIG_XEN_BLKDEV_BACKEND=m -CONFIG_XEN_SCSI_FRONTEND=m -CONFIG_XEN_NETDEV_FRONTEND=y -CONFIG_XEN_NETDEV_BACKEND=m -CONFIG_INPUT_MISC=y -CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y -CONFIG_HVC_IRQ=y -CONFIG_HVC_XEN=y -CONFIG_HVC_XEN_FRONTEND=y -CONFIG_XEN_WDT=m -CONFIG_FB_SYS_FILLRECT=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_IMAGEBLIT=y -CONFIG_FB_SYS_FOPS=y -CONFIG_FB_DEFERRED_IO=y -CONFIG_XEN_FBDEV_FRONTEND=y -CONFIG_XEN_BALLOON=y -CONFIG_XEN_SCRUB_PAGES_DEFAULT=y -CONFIG_XEN_DEV_EVTCHN=y -CONFIG_XEN_BACKEND=y -CONFIG_XENFS=y -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_XEN_XENBUS_FRONTEND=y -CONFIG_XEN_GNTDEV=m -CONFIG_XEN_GRANT_DEV_ALLOC=m -CONFIG_SWIOTLB_XEN=y -CONFIG_XEN_PCIDEV_BACKEND=m -CONFIG_XEN_PRIVCMD=y -CONFIG_XEN_ACPI_PROCESSOR=m -CONFIG_XEN_MCE_LOG=y -CONFIG_XEN_HAVE_PVMMU=y -CONFIG_XEN_EFI=y -CONFIG_XEN_AUTO_XLATE=y -CONFIG_XEN_ACPI=y diff --git a/recipes-kernel/linux/linux-yocto/xen.scc b/recipes-kernel/linux/linux-yocto/xen.scc deleted file mode 100644 index b588e5df..00000000 --- a/recipes-kernel/linux/linux-yocto/xen.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Xen Kernel Support" -define KFEATURE_COMPATIBILITY arch - -kconf non-hardware xen.cfg diff --git a/recipes-kernel/linux/linux-yocto/xt-checksum.cfg b/recipes-kernel/linux/linux-yocto/xt-checksum.cfg deleted file mode 100644 index 58afbff6..00000000 --- a/recipes-kernel/linux/linux-yocto/xt-checksum.cfg +++ /dev/null @@ -1 +0,0 @@ -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m diff --git a/recipes-kernel/linux/linux-yocto/xt-checksum.scc b/recipes-kernel/linux/linux-yocto/xt-checksum.scc deleted file mode 100644 index d3804f0c..00000000 --- a/recipes-kernel/linux/linux-yocto/xt-checksum.scc +++ /dev/null @@ -1,4 +0,0 @@ -define KFEATURE_DESCRIPTION "Add extra iptables modules" -define KFEATURE_COMPATIBILITY board - -kconf non-hardware xt-checksum.cfg diff --git a/recipes-kernel/linux/linux-yocto_5.4_virtualization.inc b/recipes-kernel/linux/linux-yocto_5.4_virtualization.inc deleted file mode 100644 index 59311487..00000000 --- a/recipes-kernel/linux/linux-yocto_5.4_virtualization.inc +++ /dev/null @@ -1,4 +0,0 @@ -# include the baseline meta virtualization configuration options -# after this include, we can do version specific things - -include linux-yocto_virtualization.inc diff --git a/recipes-kernel/linux/linux-yocto_5.10_virtualization.inc b/recipes-kernel/linux/linux-yocto_6.6_virtualization.inc index 59311487..59311487 100644 --- a/recipes-kernel/linux/linux-yocto_5.10_virtualization.inc +++ b/recipes-kernel/linux/linux-yocto_6.6_virtualization.inc diff --git a/recipes-kernel/linux/linux-yocto_virtualization.inc b/recipes-kernel/linux/linux-yocto_virtualization.inc index 321dda20..9a6554d1 100644 --- a/recipes-kernel/linux/linux-yocto_virtualization.inc +++ b/recipes-kernel/linux/linux-yocto_virtualization.inc @@ -1,25 +1,61 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto:" +FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:" -SRC_URI += "file://xt-checksum.scc \ - file://ebtables.scc \ - file://vswitch.scc \ - file://lxc.scc \ - file://docker.scc \ - file://cgroup-hugetlb.scc \ - " -KERNEL_FEATURES_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'features/kvm/qemu-kvm-enable.scc', '', d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'kvm', ' features/kvm/qemu-kvm-enable.scc', '', d)}" KERNEL_MODULE_AUTOLOAD += "nf_conntrack_ipv6 openvswitch" KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm', '', d)}" # aufs kernel support required for xen-image-minimal -KERNEL_FEATURES_append += "${@bb.utils.contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}" +KERNEL_FEATURES:append = "${@bb.utils.contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}" -KERNEL_FEATURES_append = " cfg/virtio.scc" +# Always add a local/layer fragment for easy debug and enabling of options +SRC_URI += "file://extra-configs.cfg" + +# if the kernel-yocto meta-data routine automatically starts to add the +# recipe-sysroot-native, we can do away with this conditional, since all +# features will be found at the same relative offset from a search +# directory +def kernel_cache_cond_feature(src_uri,feature): + import re + kernel_cache = re.search("kernel-cache", src_uri ) + if kernel_cache: + return feature + + return "../recipe-sysroot-native/kcfg/" + feature + +# no conditional, just use the yocto-kernel-cache addition, yes +# the src_uri isn't used, but we may need to check it in the future +def kernel_cache_feature(src_uri,feature): + return "../recipe-sysroot-native/kcfg/" + feature + +def distro_cond_feature(feature_fragment,distro_feature,d): + import bb + feat = kernel_cache_feature("",feature_fragment) + return bb.utils.contains('DISTRO_FEATURES', distro_feature, ' ' + feat, ' ', d) + +KERNEL_CACHE_FEATURES ?= "${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/virtio.scc')} \ + ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/xt-checksum.scc')} \ + ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/vswitch.scc')} \ + ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/lxc.scc')} \ + ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/docker.scc')} \ + ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/cgroup-hugetlb.scc')} \ + ${@kernel_cache_feature(d.getVar('SRC_URI'),'cfg/criu.scc')} \ + " +KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}" + +# if kernel-yocto has been inherited (how we can check for configuration +# fragment merging suport at the moment, then add a dependency on the +# configuration fragment repository. This allows us to be sure that our +# features can be enabled via the fragments +do_kernel_metadata[depends] += "${@['', 'yocto-cfg-fragments-native:do_populate_sysroot'][(bb.data.inherits_class('kernel-yocto', d))]}" # xen kernel support -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}" +# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}" +KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/xen.scc', 'xen', d )}" # k8s and k3s kernel support -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k8s', ' file://kubernetes.scc', '', d)}" -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k3s', ' file://kubernetes.scc', '', d)}"
\ No newline at end of file +# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k8s', ' file://kubernetes.scc', '', d)}" +# SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'k3s', ' file://kubernetes.scc', '', d)}" +KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/kubernetes.scc', 'k8s', d )}" +KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/kubernetes.scc', 'k3s', d )}" + diff --git a/recipes-kernel/linux/yocto-cfg-fragments.bb b/recipes-kernel/linux/yocto-cfg-fragments.bb new file mode 100644 index 00000000..e6815715 --- /dev/null +++ b/recipes-kernel/linux/yocto-cfg-fragments.bb @@ -0,0 +1,37 @@ +HOMEPAGE = "https://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/" +SUMMARY = "Kernel configuration fragments" +DESCRIPTION = "Typically used as part of a kernel clone, this is the standalone \ +fragment repository. Making it available to other fragment management schemes \ +" +SECTION = "devel" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" +INHIBIT_DEFAULT_DEPS = "1" + +LINUX_VERSION ?= "6.6" +PV = "v${LINUX_VERSION}+git${SRCREV}" + +SRCREV = "eb283ea577df80542d48f0c498365960b4c4ecd9" +SRC_URI = "\ + git://git.yoctoproject.org/yocto-kernel-cache;branch=yocto-${LINUX_VERSION} \ + " + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}${base_prefix}/kcfg + + # copy the configuration fragments over to the native deploy + cp -r ${S}/* ${D}${base_prefix}/kcfg + # scripts bring in a bash dependency we don't want + rm -rf ${D}${base_prefix}/kcfg/scripts +} + +FILES:${PN} += "kcfg/" +SYSROOT_DIRS += "${base_prefix}/kcfg" +BBCLASSEXTEND = "native nativesdk" + diff --git a/recipes-kernel/lopper/lopper_git.bb b/recipes-kernel/lopper/lopper_git.bb new file mode 100644 index 00000000..5e2ca69a --- /dev/null +++ b/recipes-kernel/lopper/lopper_git.bb @@ -0,0 +1,34 @@ +SUMMARY = "Device Tree Lopper" +DESCRIPTION = "Tool for manipulation of system device tree files" +LICENSE = "BSD-3-Clause" +SECTION = "bootloader" + +SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" +SRCREV = "9159040dab25e2f1e7b447fcbfcd5397b1d618e8" +S = "${WORKDIR}/git" + +BASEVERSION = "1.0.2" +PV = "v${BASEVERSION}+git" + +PYPA_WHEEL = "${PIP_INSTALL_DIST_PATH}/${BPN}-${BASEVERSION}-*.whl" + +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8e5f5f691f01c9fdfa7a7f2d535be619" + +RDEPENDS:${PN} = " \ + python3-core \ + python3-dtc \ + python3-humanfriendly \ + " + +inherit setuptools3 + +INHIBIT_PACKAGE_STRIP = "1" + +do_install:append() { + # we have to remove the vendor'd libfdt, since an attempt to strip it + # will be made, and it will fail in a cross environment. + rm -rf ${D}/${PYTHON_SITEPACKAGES_DIR}/${BPN}/vendor +} + +BBCLASSEXTEND = "native nativesdk" + diff --git a/recipes-networking/cni/README.md b/recipes-networking/cni/README.md new file mode 100644 index 00000000..3f5f6401 --- /dev/null +++ b/recipes-networking/cni/README.md @@ -0,0 +1,3 @@ +# CNI debug tip: + +CNI_PATH=/opt/cni/bin /opt/cni/bin/cnitool add uniquename /var/run/netns/testingns
\ No newline at end of file diff --git a/recipes-networking/cni/cni_git.bb b/recipes-networking/cni/cni_git.bb index f7bead08..fda7af60 100644 --- a/recipes-networking/cni/cni_git.bb +++ b/recipes-networking/cni/cni_git.bb @@ -9,35 +9,58 @@ Because of this focus, CNI has a wide range of support and the specification \ is simple to implement. \ " -SRCREV_cni = "b5ab16f010e822936eb974690ecec38ba69afc01" -# Version 0.8.5 -SRCREV_plugins = "fa48f7515b50272b7106702a662fadbf2ead3d18" +SRCREV_cni = "b62753aa2bfa365c1ceaff6f25774a8047c896b5" +SRCREV_plugins = "b6a0e0bc96906f0d3bd6bfcaab0b5ae72292f46c" +SRCREV_flannel_plugin = "6464faacf5c00e25321573225d74638455ef03a0" +SRCREV_FORMAT = "cni_plugins" SRC_URI = "\ - git://github.com/containernetworking/cni.git;nobranch=1;name=cni \ - git://github.com/containernetworking/plugins.git;nobranch=1;destsuffix=${S}/src/github.com/containernetworking/plugins;name=plugins \ + git://github.com/containernetworking/cni.git;branch=main;name=cni;protocol=https \ + git://github.com/containernetworking/plugins.git;branch=main;destsuffix=${S}/src/github.com/containernetworking/plugins;name=plugins;protocol=https \ + git://github.com/flannel-io/cni-plugin;branch=main;name=flannel_plugin;protocol=https;destsuffix=${S}/src/github.com/containernetworking/plugins/plugins/meta/flannel \ + file://modules.txt \ " -RPROVIDES_${PN} += "kubernetes-cni" +# generated via: +# ./scripts/oe-go-mod-autogen.py --repo https://github.com/containernetworking/cni.git --rev <insert your rev here> +include src_uri.inc + +DEPENDS = " \ + rsync-native \ + " LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" GO_IMPORT = "import" -PV = "v0.8.0+git${SRCREV_cni}" +PV = "v1.2.0-rc0+git${SRCREV_cni}" inherit go inherit goarch +# https://github.com/llvm/llvm-project/issues/53999 +TOOLCHAIN = "gcc" + +# sets the "sites" variable. +include relocation.inc + do_compile() { mkdir -p ${S}/src/github.com/containernetworking ln -sfr ${S}/src/import ${S}/src/github.com/containernetworking/cni + # our copied .go files are to be used for the build + ln -sf vendor.copy vendor + + # inform go that we know what we are doing + cp ${WORKDIR}/modules.txt vendor/ + + export GO111MODULE=off + cd ${B}/src/github.com/containernetworking/cni/libcni - ${GO} build + ${GO} build ${GOBUILDFLAGS} cd ${B}/src/github.com/containernetworking/cni/cnitool - ${GO} build + ${GO} build ${GOBUILDFLAGS} cd ${B}/src/github.com/containernetworking/plugins PLUGINS="$(ls -d plugins/meta/*; ls -d plugins/ipam/*; ls -d plugins/main/* | grep -v windows)" @@ -45,10 +68,12 @@ do_compile() { for p in $PLUGINS; do plugin="$(basename "$p")" echo "building: $p" - ${GO} build -mod=vendor -o ${B}/plugins/bin/$plugin github.com/containernetworking/plugins/$p + ${GO} build ${GOBUILDFLAGS} -o ${B}/plugins/bin/$plugin github.com/containernetworking/plugins/$p done } +do_compile[cleandirs] = "${B}/plugins" + do_install() { localbindir="${libexecdir}/cni/" @@ -63,10 +88,10 @@ do_install() { ln -sf ${libexecdir}/cni/ ${D}/opt/cni/bin } -FILES_${PN} += "${libexecdir}/cni/* /opt/cni/bin" +FILES:${PN} += "${libexecdir}/cni/* /opt/cni/bin" -INSANE_SKIP_${PN} += "ldflags already-stripped" +INSANE_SKIP:${PN} += "ldflags already-stripped" deltask compile_ptest_base -RDEPENDS_${PN} += " ca-certificates"
\ No newline at end of file +RDEPENDS:${PN} += " ca-certificates" diff --git a/recipes-networking/cni/files/modules.txt b/recipes-networking/cni/files/modules.txt new file mode 100644 index 00000000..38217c96 --- /dev/null +++ b/recipes-networking/cni/files/modules.txt @@ -0,0 +1,26 @@ +# github.com/Masterminds/semver/v3 v3.2.1 +## explicit +# github.com/onsi/ginkgo/v2 v2.13.2 +## explicit +# github.com/onsi/gomega v1.30.0 +## explicit +# github.com/vishvananda/netns v0.0.4 +## explicit +# github.com/go-logr/logr v1.3.0 +## explicit +# github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 +## explicit +# github.com/google/go-cmp v0.6.0 +## explicit +# github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 +## explicit +# golang.org/x/net v0.17.0 +## explicit +# golang.org/x/sys v0.14.0 +## explicit +# golang.org/x/text v0.13.0 +## explicit +# golang.org/x/tools v0.14.0 +## explicit +# gopkg.in/yaml.v3 v3.0.1 +## explicit diff --git a/recipes-networking/cni/relocation.inc b/recipes-networking/cni/relocation.inc new file mode 100644 index 00000000..456e2c8a --- /dev/null +++ b/recipes-networking/cni/relocation.inc @@ -0,0 +1,30 @@ +export sites="golang.org/x/net:golang.org/x/net:force \ + golang.org/x/sys:golang.org/x/sys:force \ + gopkg.in/yaml.v3:gopkg.in/yaml.v3:force \ + golang.org/x/text:golang.org/x/text:force \ + golang.org/x/tools:golang.org/x/tools:force \ + github.com/onsi/gomega:github.com/onsi/gomega:force \ + github.com/go-logr/logr:github.com/go-logr/logr:force \ + github.com/google/pprof:github.com/google/pprof:force \ + github.com/google/go-cmp:github.com/google/go-cmp:force \ + github.com/onsi/ginkgo/v2:github.com/onsi/ginkgo/v2:force \ + github.com/vishvananda/netns:github.com/vishvananda/netns:force \ + github.com/go-task/slim-sprig:github.com/go-task/slim-sprig:force \ + github.com/Masterminds/semver/v3:github.com/Masterminds/semver/v3:force" + +do_compile:prepend() { + cd ${S}/src/import + for s in $sites; do + site_dest=$(echo $s | cut -d: -f1) + site_source=$(echo $s | cut -d: -f2) + force_flag=$(echo $s | cut -d: -f3) + mkdir -p vendor.copy/$site_dest + if [ -n "$force_flag" ]; then + echo "[INFO] $site_dest: force copying .go files" + rm -rf vendor.copy/$site_dest + rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest + else + [ -n "$(ls -A vendor.copy/$site_dest/*.go 2> /dev/null)" ] && { echo "[INFO] vendor.fetch/$site_source -> $site_dest: go copy skipped (files present)" ; true ; } || { echo "[INFO] $site_dest: copying .go files" ; rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest ; } + fi + done +} diff --git a/recipes-networking/cni/src_uri.inc b/recipes-networking/cni/src_uri.inc new file mode 100644 index 00000000..6cda91ab --- /dev/null +++ b/recipes-networking/cni/src_uri.inc @@ -0,0 +1,65 @@ +# golang.org/x/net v0.17.0 +# [1] git ls-remote https://go.googlesource.com/net b225e7ca6dde1ef5a5ae5ce922861bda011cfabd +SRCREV_net="b225e7ca6dde1ef5a5ae5ce922861bda011cfabd" +SRC_URI += "git://go.googlesource.com/net;name=net;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/net" + +# golang.org/x/sys v0.14.0 +# [1] git ls-remote https://go.googlesource.com/sys cb378ae1ff8cd45e69d4f172df8370bc844e1f86 +SRCREV_sys="cb378ae1ff8cd45e69d4f172df8370bc844e1f86" +SRC_URI += "git://go.googlesource.com/sys;name=sys;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/sys" + +# gopkg.in/yaml.v3 v3.0.1 +# [1] git ls-remote https://github.com/go-yaml/yaml f6f7691b1fdeb513f56608cd2c32c51f8194bf51 +SRCREV_yaml.v3="f6f7691b1fdeb513f56608cd2c32c51f8194bf51" +SRC_URI += "git://github.com/go-yaml/yaml;name=yaml.v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/yaml.v3" + +# golang.org/x/text v0.13.0 +# [1] git ls-remote https://go.googlesource.com/text f488e191e67ed95a5b9b7b39024e5a5f5f1ffd02 +SRCREV_text="f488e191e67ed95a5b9b7b39024e5a5f5f1ffd02" +SRC_URI += "git://go.googlesource.com/text;name=text;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/text" + +# golang.org/x/tools v0.14.0 +# [1] git ls-remote https://go.googlesource.com/tools 3f4194ee29d7db9b59757dfff729ef55cf89661c +SRCREV_tools="3f4194ee29d7db9b59757dfff729ef55cf89661c" +SRC_URI += "git://go.googlesource.com/tools;name=tools;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/tools" + +# github.com/onsi/gomega v1.30.0 +# [1] git ls-remote https://github.com/onsi/gomega f804ac6ada8d36164ecae0513295de8affce1245 +SRCREV_gomega="f804ac6ada8d36164ecae0513295de8affce1245" +SRC_URI += "git://github.com/onsi/gomega;name=gomega;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/onsi/gomega" + +# github.com/go-logr/logr v1.3.0 +# [1] git ls-remote https://github.com/go-logr/logr 8adefbede0fe82bdee4fb8c9c9bdc7bc5d91388f +SRCREV_logr="8adefbede0fe82bdee4fb8c9c9bdc7bc5d91388f" +SRC_URI += "git://github.com/go-logr/logr;name=logr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-logr/logr" + +# github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 +# [1] git ls-remote https://github.com/google/pprof 94a9f03dee38882adc8bdfc42cdd6a04f8e7056e +SRCREV_pprof="94a9f03dee38882adc8bdfc42cdd6a04f8e7056e" +SRC_URI += "git://github.com/google/pprof;name=pprof;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/pprof" + +# github.com/google/go-cmp v0.6.0 +# [1] git ls-remote https://github.com/google/go-cmp c3ad8435e7bef96af35732bc0789e5a2278c6d5f +SRCREV_go-cmp="c3ad8435e7bef96af35732bc0789e5a2278c6d5f" +SRC_URI += "git://github.com/google/go-cmp;name=go-cmp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/go-cmp" + +# github.com/onsi/ginkgo/v2 v2.13.2 +# [1] git ls-remote https://github.com/onsi/ginkgo 931dc0b144749710bd085d4eb7cd4192a22972d7 +SRCREV_v2="931dc0b144749710bd085d4eb7cd4192a22972d7" +SRC_URI += "git://github.com/onsi/ginkgo;name=v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/onsi/ginkgo/v2" + +# github.com/vishvananda/netns v0.0.4 +# [1] git ls-remote https://github.com/vishvananda/netns 7a452d2d15292b2bfb2a2d88e6bdeac156a761b9 +SRCREV_netns="7a452d2d15292b2bfb2a2d88e6bdeac156a761b9" +SRC_URI += "git://github.com/vishvananda/netns;name=netns;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/vishvananda/netns" + +# github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 +# [1] git ls-remote https://github.com/go-task/slim-sprig 52ccab3ef572c7e1a2c258be183f9a9296d60152 +SRCREV_slim-sprig="52ccab3ef572c7e1a2c258be183f9a9296d60152" +SRC_URI += "git://github.com/go-task/slim-sprig;name=slim-sprig;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-task/slim-sprig" + +# github.com/Masterminds/semver/v3 v3.2.1 +# [1] git ls-remote https://github.com/Masterminds/semver e06051f8fcc4c8b4a4990c337b9862a2448722e5 +SRCREV_v3="e06051f8fcc4c8b4a4990c337b9862a2448722e5" +SRC_URI += "git://github.com/Masterminds/semver;name=v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Masterminds/semver/v3" + diff --git a/recipes-networking/netns/netns_git.bb b/recipes-networking/netns/netns_git.bb index da6aac21..357275c1 100644 --- a/recipes-networking/netns/netns_git.bb +++ b/recipes-networking/netns/netns_git.bb @@ -1,13 +1,13 @@ HOMEPAGE = "https://github.com/jfrazelle/netns" SUMMARY = "Runc hook for setting up default bridge networking." LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=48ef0979a2bcc3fae14ff30b8a7f5dbf" +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=7bac31faf84a2d7e88972f562a3ebbe5" -SRC_URI = "git://github.com/genuinetools/netns;branch=master \ +SRC_URI = "git://github.com/genuinetools/netns;branch=master;protocol=https \ file://Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch \ " -SRCREV = "9b103a19b917cc3762a33b7d78244b1d5e45ccfd" -PV = "0.5.3" +SRCREV = "00d5d07ab1c8afcf481ffa5958719943b6ecfde4" +PV = "0.5.3+git" GO_IMPORT = "import" S = "${WORKDIR}/git" @@ -19,7 +19,7 @@ EXTRA_OEMAKE = "GO='${GO}'" do_compile() { export GOARCH="${TARGET_GOARCH}" - export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go" + export GOROOT="${STAGING_LIBDIR}/go" # Setup vendor directory so that it can be used in GOPATH. # # Go looks in a src directory under any directory in GOPATH but netns @@ -29,8 +29,7 @@ do_compile() { # they are not under the src directory. ln -sfn . "${S}/src/import/vendor/src" mkdir -p "${S}/src/import/vendor/src/github.com/genuinetools/netns" - ln -sfn "${S}/src/import/ipallocator" "${S}/src/import/vendor/src/github.com/genuinetools/netns/ipallocator" - ln -sfn "${S}/src/import/version" "${S}/src/import/vendor/src/github.com/genuinetools/netns/version" + export GOPATH="${S}/src/import/vendor" # Pass the needed cflags/ldflags so that cgo @@ -38,8 +37,9 @@ do_compile() { export CGO_ENABLED="1" export CFLAGS="" export LDFLAGS="" - export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" - export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" + export CGO_CFLAGS="${TARGET_CFLAGS}" + export CGO_LDFLAGS="${TARGET_LDFLAGS}" + export GOFLAGS="-mod=vendor -trimpath" cd ${S}/src/import # Static builds work but are not recommended. See Makefile*cgo patch. diff --git a/recipes-networking/openvswitch/files/0001-ovs-use-run-instead-of-var-run-for-in-systemd-units.patch b/recipes-networking/openvswitch/files/0001-ovs-use-run-instead-of-var-run-for-in-systemd-units.patch deleted file mode 100644 index f7ec3fa0..00000000 --- a/recipes-networking/openvswitch/files/0001-ovs-use-run-instead-of-var-run-for-in-systemd-units.patch +++ /dev/null @@ -1,106 +0,0 @@ -From ae55fa8168b4b9692ad757c54255a89f935c587e Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Thu, 11 Mar 2021 11:35:24 +0800 -Subject: [PATCH] ovs: use /run instead of /var/run for in systemd units - -Upstream-Status: Pending - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - rhel/etc_logrotate.d_openvswitch | 4 ++-- - rhel/usr_lib_systemd_system_openvswitch-ipsec.service | 2 +- - ...sr_lib_systemd_system_ovs-delete-transient-ports.service | 2 +- - rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 6 +++--- - rhel/usr_lib_systemd_system_ovsdb-server.service | 6 +++--- - 5 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/rhel/etc_logrotate.d_openvswitch b/rhel/etc_logrotate.d_openvswitch -index f4302ffbc..c0f476744 100644 ---- a/rhel/etc_logrotate.d_openvswitch -+++ b/rhel/etc_logrotate.d_openvswitch -@@ -13,8 +13,8 @@ - missingok - postrotate - # Tell Open vSwitch daemons to reopen their log files -- if [ -d /var/run/openvswitch ]; then -- for ctl in /var/run/openvswitch/*.ctl; do -+ if [ -d /run/openvswitch ]; then -+ for ctl in /run/openvswitch/*.ctl; do - ovs-appctl -t "$ctl" vlog/reopen 2>/dev/null || : - done - fi -diff --git a/rhel/usr_lib_systemd_system_openvswitch-ipsec.service b/rhel/usr_lib_systemd_system_openvswitch-ipsec.service -index d8f47af68..92dad44f9 100644 ---- a/rhel/usr_lib_systemd_system_openvswitch-ipsec.service -+++ b/rhel/usr_lib_systemd_system_openvswitch-ipsec.service -@@ -5,7 +5,7 @@ After=openvswitch.service - - [Service] - Type=forking --PIDFile=/var/run/openvswitch/ovs-monitor-ipsec.pid -+PIDFile=/run/openvswitch/ovs-monitor-ipsec.pid - ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ - --ike-daemon=libreswan start-ovs-ipsec - ExecStop=/usr/share/openvswitch/scripts/ovs-ctl stop-ovs-ipsec -diff --git a/rhel/usr_lib_systemd_system_ovs-delete-transient-ports.service b/rhel/usr_lib_systemd_system_ovs-delete-transient-ports.service -index 4cd4d7f57..d4d7b204b 100644 ---- a/rhel/usr_lib_systemd_system_ovs-delete-transient-ports.service -+++ b/rhel/usr_lib_systemd_system_ovs-delete-transient-ports.service -@@ -2,7 +2,7 @@ - Description=Open vSwitch Delete Transient Ports - After=ovsdb-server.service - Before=ovs-vswitchd.service --AssertPathExists=/var/run/openvswitch/db.sock -+AssertPathExists=/run/openvswitch/db.sock - - [Service] - Type=oneshot -diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in -index f88b57cae..82748bf2d 100644 ---- a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in -+++ b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in -@@ -4,14 +4,14 @@ After=ovsdb-server.service network-pre.target systemd-udev-settle.service - Before=network.target network.service - Requires=ovsdb-server.service - ReloadPropagatedFrom=ovsdb-server.service --AssertPathIsReadWrite=/var/run/openvswitch/db.sock -+AssertPathIsReadWrite=/run/openvswitch/db.sock - PartOf=openvswitch.service - - [Service] - Type=forking --PIDFile=/var/run/openvswitch/ovs-vswitchd.pid -+PIDFile=/run/openvswitch/ovs-vswitchd.pid - Restart=on-failure --Environment=XDG_RUNTIME_DIR=/var/run/openvswitch -+Environment=XDG_RUNTIME_DIR=/run/openvswitch - EnvironmentFile=/etc/openvswitch/default.conf - EnvironmentFile=-/etc/sysconfig/openvswitch - EnvironmentFile=-/run/openvswitch.useropts -diff --git a/rhel/usr_lib_systemd_system_ovsdb-server.service b/rhel/usr_lib_systemd_system_ovsdb-server.service -index 74e5acb7f..39698f238 100644 ---- a/rhel/usr_lib_systemd_system_ovsdb-server.service -+++ b/rhel/usr_lib_systemd_system_ovsdb-server.service -@@ -7,7 +7,7 @@ PartOf=openvswitch.service - - [Service] - Type=forking --PIDFile=/var/run/openvswitch/ovsdb-server.pid -+PIDFile=/run/openvswitch/ovsdb-server.pid - Restart=on-failure - EnvironmentFile=/etc/openvswitch/default.conf - EnvironmentFile=-/etc/sysconfig/openvswitch -@@ -17,8 +17,8 @@ EnvironmentFile=-/run/openvswitch.useropts - # remove openvswitch.useropts first to reload a fresh - # OVS_USER_ID from default.conf or sysconfig. - ExecStartPre=/bin/rm -f /run/openvswitch.useropts --ExecStartPre=-/bin/mkdir /var/run/openvswitch /var/log/openvswitch --ExecStartPre=-/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch -+ExecStartPre=-/bin/mkdir /run/openvswitch /var/log/openvswitch -+ExecStartPre=-/bin/chown ${OVS_USER_ID} /run/openvswitch /var/log/openvswitch - ExecStartPre=/bin/sh -c '/bin/echo "OVS_USER_ID=${OVS_USER_ID}" > /run/openvswitch.useropts' - ExecStartPre=/bin/sh -c 'if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /bin/echo "OVS_USER_OPT=--ovs-user=${OVS_USER_ID}" >> /run/openvswitch.useropts; fi' - ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ --- -2.17.1 - diff --git a/recipes-networking/openvswitch/files/openvswitch-add-ptest.patch b/recipes-networking/openvswitch/files/openvswitch-add-ptest.patch index cb708dea..4fe3abd8 100644 --- a/recipes-networking/openvswitch/files/openvswitch-add-ptest.patch +++ b/recipes-networking/openvswitch/files/openvswitch-add-ptest.patch @@ -1,5 +1,7 @@ Add test-install rule to support ptest execution +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Radu Patriu <radu.patriu@enea.com> Index: openvswitch-2.1.2/Makefile.am diff --git a/recipes-networking/openvswitch/files/python-switch-remaining-scripts-to-use-python3.patch b/recipes-networking/openvswitch/files/python-switch-remaining-scripts-to-use-python3.patch index 113bc91d..ffa8af0e 100644 --- a/recipes-networking/openvswitch/files/python-switch-remaining-scripts-to-use-python3.patch +++ b/recipes-networking/openvswitch/files/python-switch-remaining-scripts-to-use-python3.patch @@ -5,6 +5,8 @@ Subject: [PATCH] python: switch remaining scripts to use python3 Work to remove the main openvswitch package's dependency on python 2. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> --- diff --git a/recipes-networking/openvswitch/openvswitch-git/Makefile.am-set-the-python3-interpreter-with-usr-bin.patch b/recipes-networking/openvswitch/openvswitch-git/Makefile.am-set-the-python3-interpreter-with-usr-bin.patch new file mode 100644 index 00000000..472ecb57 --- /dev/null +++ b/recipes-networking/openvswitch/openvswitch-git/Makefile.am-set-the-python3-interpreter-with-usr-bin.patch @@ -0,0 +1,43 @@ +From 5053d98f6595653dc02485810fda94348b6e8a1b Mon Sep 17 00:00:00 2001 +From: Xiangyu Chen <xiangyu.chen@windriver.com> +Date: Fri, 21 Jul 2023 08:47:51 +0000 +Subject: [PATCH] Makefile.am: set the python3 interpreter with /usr/bin/env + +The variable "PYTHON3" just python3, this cause the following scripts error: +/usr/sbin/ovs-bugtool Not found the interpreter python3 +/usr/bin/ovs-pcap Not found the interpreter python3 +/usr/bin/ovs-test Not found the interpreter python3 +/usr/bin/ovs-tcpdump Not found the interpreter python3 +/usr/bin/ovs-tcpundump Not found the interpreter python3 +/usr/bin/ovs-vlan-test Not found the interpreter python3 +/usr/bin/ovs-l3ping Not found the interpreter python3 +/usr/bin/ovs-parse-backtrace Not found the interpreter python3 +/usr/bin/ovs-dpctl-top Not found the interpreter python3 +/usr/share/openvswitch/scripts/ovs-check-dead-ifs Not found the interpreter python3 +/usr/share/openvswitch/scripts/ovs-check-dead-ifs Not found the interpreter python3 +/usr/share/openvswitch/scripts/ovs-monitor-ipsec Not found the interpreter python3 +/usr/share/openvswitch/scripts/ovs-vtep Not found the interpreter python3 + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 28e85d422..031bbf39c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -154,7 +154,7 @@ SUFFIXES += .in + -e 's,[@]PKIDIR[@],$(PKIDIR),g' \ + -e 's,[@]LOGDIR[@],$(LOGDIR),g' \ + -e 's,[@]DBDIR[@],$(DBDIR),g' \ +- -e 's,[@]PYTHON3[@],$(PYTHON3),g' \ ++ -e 's,[@]PYTHON3[@],/usr/bin/env $(PYTHON3),g' \ + -e 's,[@]RUNDIR[@],$(RUNDIR),g' \ + -e 's,[@]VERSION[@],$(VERSION),g' \ + -e 's,[@]localstatedir[@],$(localstatedir),g' \ +-- +2.35.5 + diff --git a/recipes-networking/openvswitch/openvswitch-git/disable_m4_check.patch b/recipes-networking/openvswitch/openvswitch-git/disable_m4_check.patch index 711a1487..43735132 100644 --- a/recipes-networking/openvswitch/openvswitch-git/disable_m4_check.patch +++ b/recipes-networking/openvswitch/openvswitch-git/disable_m4_check.patch @@ -3,17 +3,19 @@ From: Amy Fong <amy.fong@windriver.com> Date: Thu, 29 Jan 2015 09:56:03 -0500 Subject: [PATCH] Disable m4 file test where sources are built from git. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Amy Fong <amy.fong@windriver.com> --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Makefile.am b/Makefile.am -index ff7d70a..2fc1f13 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -187,7 +187,7 @@ CLEAN_LOCAL += clean-pycov +Index: git/Makefile.am +=================================================================== +--- git.orig/Makefile.am ++++ git/Makefile.am +@@ -194,7 +194,7 @@ # If we're checked out from a Git repository, make sure that every # file that is in Git is distributed. @@ -21,4 +23,4 @@ index ff7d70a..2fc1f13 100644 +# ALL_LOCAL += dist-hook-git dist-hook-git: distfiles @if test -e $(srcdir)/.git && (git --version) >/dev/null 2>&1; then \ - (cd datapath && $(MAKE) distfiles); \ + (cd $(srcdir) && git ls-files) | grep -v '\.gitignore$$' | \ diff --git a/recipes-networking/openvswitch/openvswitch-git/kernel_module.patch b/recipes-networking/openvswitch/openvswitch-git/kernel_module.patch deleted file mode 100644 index 5e5a38d9..00000000 --- a/recipes-networking/openvswitch/openvswitch-git/kernel_module.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9b7fb1346702d59af67435487254ef35940bc16a Mon Sep 17 00:00:00 2001 -From: "Hongzhi.Song" <hongzhi.song@windriver.com> -Date: Wed, 23 Jan 2019 03:41:30 -0500 -Subject: [PATCH] datapatch/linux: Specify install path for kernel module - -Signed-off-by: Amy Fong <amy.fong@windriver.com> -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com> ---- - datapath/linux/Makefile.main.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/datapath/linux/Makefile.main.in b/datapath/linux/Makefile.main.in -index 328bbfb..6dcc8d0 100644 ---- a/datapath/linux/Makefile.main.in -+++ b/datapath/linux/Makefile.main.in -@@ -71,8 +71,8 @@ default: - $(MAKE) -C $(KSRC) $(if @KARCH@,ARCH=@KARCH@) M=$(builddir) modules - - modules_install: -- $(MAKE) -C $(KSRC) $(if @KARCH@,ARCH=@KARCH@) M=$(builddir) modules_install -- /sbin/depmod `sed -n 's/#define UTS_RELEASE "\([^"]*\)"/\1/p' $(KSRC)/include/generated/utsrelease.h` -+ $(MAKE) -C $(KSRC) $(if @KARCH@,ARCH=@KARCH@) M=$(builddir) modules_install INSTALL_MOD_PATH=${INSTALL_MOD_PATH} -+ #/sbin/depmod `sed -n 's/#define UTS_RELEASE "\([^"]*\)"/\1/p' $(KSRC)/include/generated/utsrelease.h` - endif - - # Much of the kernel build system in this file is derived from Intel's --- -2.8.1 - diff --git a/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-71d553b995d0bd527d3ab1e9fbaf5a2ae34de2f3.patch b/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-71d553b995d0bd527d3ab1e9fbaf5a2ae34de2f3.patch index fc74debb..571753a5 100644 --- a/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-71d553b995d0bd527d3ab1e9fbaf5a2ae34de2f3.patch +++ b/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-71d553b995d0bd527d3ab1e9fbaf5a2ae34de2f3.patch @@ -15,6 +15,8 @@ Signed-off-by: He Zhe <zhe.he@windriver.com> refresh patch to fix patch-fuzz warning Signed-off-by: Changqing Li <changqing.li@windriver.com> + +Upstream-Status: Inappropriate [embedded specific] --- Makefile.am | 1 + test.mk | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ diff --git a/recipes-networking/openvswitch/openvswitch-git/systemd-create-runtime-dirs.patch b/recipes-networking/openvswitch/openvswitch-git/systemd-create-runtime-dirs.patch index 12b9e17a..1505d47a 100644 --- a/recipes-networking/openvswitch/openvswitch-git/systemd-create-runtime-dirs.patch +++ b/recipes-networking/openvswitch/openvswitch-git/systemd-create-runtime-dirs.patch @@ -9,24 +9,23 @@ upstream service file uses 'chown' we will match this by using 'mkdir'. Without this the service will fail to start since these directories won't exist. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> --- rhel/usr_lib_systemd_system_ovsdb-server.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/rhel/usr_lib_systemd_system_ovsdb-server.service b/rhel/usr_lib_systemd_system_ovsdb-server.service -index 5002ddf10..74e5acb7f 100644 ---- a/rhel/usr_lib_systemd_system_ovsdb-server.service -+++ b/rhel/usr_lib_systemd_system_ovsdb-server.service -@@ -17,7 +17,7 @@ EnvironmentFile=-/run/openvswitch.useropts +Index: git/rhel/usr_lib_systemd_system_ovsdb-server.service +=================================================================== +--- git.orig/rhel/usr_lib_systemd_system_ovsdb-server.service ++++ git/rhel/usr_lib_systemd_system_ovsdb-server.service +@@ -17,7 +17,7 @@ # remove openvswitch.useropts first to reload a fresh # OVS_USER_ID from default.conf or sysconfig. ExecStartPre=/bin/rm -f /run/openvswitch.useropts - +ExecStartPre=-/bin/mkdir /var/run/openvswitch /var/log/openvswitch - ExecStartPre=-/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch + ExecStartPre=-/bin/chown ${OVS_USER_ID} /run/openvswitch /var/log/openvswitch ExecStartPre=/bin/sh -c '/bin/echo "OVS_USER_ID=${OVS_USER_ID}" > /run/openvswitch.useropts' ExecStartPre=/bin/sh -c 'if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /bin/echo "OVS_USER_OPT=--ovs-user=${OVS_USER_ID}" >> /run/openvswitch.useropts; fi' --- -2.17.1 - diff --git a/recipes-networking/openvswitch/openvswitch-git/systemd-update-tool-paths.patch b/recipes-networking/openvswitch/openvswitch-git/systemd-update-tool-paths.patch index be6fa5d9..7fe0236e 100644 --- a/recipes-networking/openvswitch/openvswitch-git/systemd-update-tool-paths.patch +++ b/recipes-networking/openvswitch/openvswitch-git/systemd-update-tool-paths.patch @@ -6,17 +6,19 @@ Subject: [PATCH 1/2] systemd: update tool paths We are using the rhel files but we install our tools in a slightly different path, update accordingly. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> --- rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 4 ++-- rhel/usr_lib_systemd_system_ovsdb-server.service | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) -diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in -index ff43dae96..f88b57cae 100644 ---- a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in -+++ b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in -@@ -17,8 +17,8 @@ EnvironmentFile=-/etc/sysconfig/openvswitch +Index: git/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in +=================================================================== +--- git.orig/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in ++++ git/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in +@@ -17,8 +17,8 @@ EnvironmentFile=-/run/openvswitch.useropts LimitSTACK=2M @begin_dpdk@ @@ -27,26 +29,23 @@ index ff43dae96..f88b57cae 100644 @end_dpdk@ ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ --no-ovsdb-server --no-monitor --system-id=random \ -diff --git a/rhel/usr_lib_systemd_system_ovsdb-server.service b/rhel/usr_lib_systemd_system_ovsdb-server.service -index 98338b9df..5002ddf10 100644 ---- a/rhel/usr_lib_systemd_system_ovsdb-server.service -+++ b/rhel/usr_lib_systemd_system_ovsdb-server.service -@@ -16,11 +16,11 @@ EnvironmentFile=-/run/openvswitch.useropts +Index: git/rhel/usr_lib_systemd_system_ovsdb-server.service +=================================================================== +--- git.orig/rhel/usr_lib_systemd_system_ovsdb-server.service ++++ git/rhel/usr_lib_systemd_system_ovsdb-server.service +@@ -16,11 +16,11 @@ # Environment is reloaded for each Exec*, make sure to # remove openvswitch.useropts first to reload a fresh # OVS_USER_ID from default.conf or sysconfig. -ExecStartPre=/usr/bin/rm -f /run/openvswitch.useropts +ExecStartPre=/bin/rm -f /run/openvswitch.useropts - --ExecStartPre=-/usr/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch + +-ExecStartPre=-/usr/bin/chown ${OVS_USER_ID} /run/openvswitch /var/log/openvswitch -ExecStartPre=/bin/sh -c '/usr/bin/echo "OVS_USER_ID=${OVS_USER_ID}" > /run/openvswitch.useropts' -ExecStartPre=/bin/sh -c 'if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /usr/bin/echo "OVS_USER_OPT=--ovs-user=${OVS_USER_ID}" >> /run/openvswitch.useropts; fi' -+ExecStartPre=-/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch ++ExecStartPre=-/bin/chown ${OVS_USER_ID} /run/openvswitch /var/log/openvswitch +ExecStartPre=/bin/sh -c '/bin/echo "OVS_USER_ID=${OVS_USER_ID}" > /run/openvswitch.useropts' +ExecStartPre=/bin/sh -c 'if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /bin/echo "OVS_USER_OPT=--ovs-user=${OVS_USER_ID}" >> /run/openvswitch.useropts; fi' ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ --no-ovs-vswitchd --no-monitor --system-id=random \ ${OVS_USER_OPT} \ --- -2.17.1 - diff --git a/recipes-networking/openvswitch/openvswitch.inc b/recipes-networking/openvswitch/openvswitch.inc index 37fbe5ab..767a41e6 100644 --- a/recipes-networking/openvswitch/openvswitch.inc +++ b/recipes-networking/openvswitch/openvswitch.inc @@ -9,22 +9,22 @@ DESCRIPTION = "\ HOMEPAGE = "http://openvswitch.org/" SECTION = "networking" -LICENSE = "Apache-2" +LICENSE = "Apache-2.0" DEPENDS += "bridge-utils openssl python3 perl python3-six-native coreutils-native" -RDEPENDS_${PN} += "util-linux-uuidgen util-linux-libuuid coreutils \ +RDEPENDS:${PN} += "util-linux-uuidgen util-linux-libuuid coreutils \ python3 perl perl-module-strict ${PN}-switch \ bash python3-twisted python3-six" -RDEPENDS_${PN}-testcontroller = "${PN} ${PN}-pki" -RDEPENDS_${PN}-switch = "${PN} openssl procps util-linux-uuidgen" -RDEPENDS_${PN}-pki = "${PN}" -RDEPENDS_${PN}-brcompat = "${PN} ${PN}-switch" +RDEPENDS:${PN}-testcontroller = "${PN} ${PN}-pki" +RDEPENDS:${PN}-switch = "${PN} openssl procps util-linux-uuidgen" +RDEPENDS:${PN}-pki = "${PN}" +RDEPENDS:${PN}-brcompat = "${PN} ${PN}-switch" # Some installers will fail because of an install order based on # rdeps. E.g. ovs-pki calls sed in the postinstall. sed may be # queued for install later. -RDEPENDS_${PN} += "sed gawk grep" +RDEPENDS:${PN} += "sed gawk grep" SRC_URI = "\ file://openvswitch-switch \ @@ -45,19 +45,19 @@ CONFIGUREOPT_DEPTRACK = "" # distro layers can enable with EXTRA_OECONF_pn_openvswitch += "" # EXTRA_OECONF = "--with-linux=${STAGING_KERNEL_DIR} KARCH=${TARGET_ARCH}" -ALLOW_EMPTY_${PN}-pki = "1" +ALLOW_EMPTY:${PN}-pki = "1" PACKAGES =+ "${PN}-testcontroller ${PN}-switch ${PN}-brcompat ${PN}-pki" -FILES_${PN}-testcontroller = "\ +FILES:${PN}-testcontroller = "\ ${sysconfdir}/init.d/openvswitch-testcontroller \ ${sysconfdir}/default/openvswitch-testcontroller \ ${sysconfdir}/openvswitch-testcontroller \ ${bindir}/ovs-testcontroller \ " -FILES_${PN}-brcompat = "${sbindir}/ovs-brcompatd" +FILES:${PN}-brcompat = "${sbindir}/ovs-brcompatd" -FILES_${PN}-switch = "\ +FILES:${PN}-switch = "\ ${sysconfdir}/init.d/openvswitch-switch \ ${sysconfdir}/default/openvswitch-switch \ ${systemd_unitdir}/system/ovs-vswitchd.service \ @@ -68,33 +68,33 @@ FILES_${PN}-switch = "\ " # silence a warning -FILES_${PN} += "${datadir}/ovsdbmonitor" -FILES_${PN} += "/run" +FILES:${PN} += "${datadir}/ovsdbmonitor" +FILES:${PN} += "/run" -FILES_${PN} += "${libdir}/python${PYTHON_BASEVERSION}/" -inherit autotools update-rc.d systemd python3native +FILES:${PN} += "${libdir}/python${PYTHON_BASEVERSION}/" +inherit pkgconfig autotools update-rc.d systemd python3native SYSTEMD_PACKAGES = "${PN}-switch" -SYSTEMD_SERVICE_${PN}-switch = " \ +SYSTEMD_SERVICE:${PN}-switch = " \ ovsdb-server.service \ ovs-vswitchd.service \ openvswitch.service \ " INITSCRIPT_PACKAGES = "${PN}-switch ${PN}-testcontroller" -INITSCRIPT_NAME_${PN}-switch = "openvswitch-switch" -INITSCRIPT_PARAMS_${PN}-switch = "defaults 71" +INITSCRIPT_NAME:${PN}-switch = "openvswitch-switch" +INITSCRIPT_PARAMS:${PN}-switch = "defaults 71" -INITSCRIPT_NAME_${PN}-testcontroller = "openvswitch-testcontroller" -INITSCRIPT_PARAMS_${PN}-testcontroller = "defaults 72" +INITSCRIPT_NAME:${PN}-testcontroller = "openvswitch-testcontroller" +INITSCRIPT_PARAMS:${PN}-testcontroller = "defaults 72" -do_configure_prepend() { +do_configure:prepend() { # Work around the for Makefile CC=$(if ....) by swapping out any # "-Wa," assembly directives with "-Xassembler CC=`echo '${CC}' | sed 's/-Wa,/-Xassembler /g'` } -do_install_prepend() { +do_install:prepend() { SERVICE_FILE="${S}/rhel/usr_lib_systemd_system_ovs-vswitchd.service" ${S}/build-aux/dpdkstrip.py \ ${@bb.utils.contains('PACKAGECONFIG','dpdk','--dpdk','--nodpdk',d)} \ @@ -102,7 +102,7 @@ do_install_prepend() { > ${SERVICE_FILE} } -do_install_append() { +do_install:append() { install -d ${D}/${sysconfdir}/default/ install -m 660 ${WORKDIR}/openvswitch-switch-setup ${D}/${sysconfdir}/default/openvswitch-switch install -d ${D}/${sysconfdir}/openvswitch-testcontroller @@ -132,18 +132,17 @@ do_install_append() { install -d ${D}/usr/share/openvswitch/scripts/ install -m 755 ${S}/rhel/usr_share_openvswitch_scripts_ovs-systemd-reload ${D}/usr/share/openvswitch/scripts/ovs-systemd-reload - oe_runmake modules_install INSTALL_MOD_PATH=${D} install -d ${D}${libdir}/python${PYTHON_BASEVERSION}/site-packages cp -r ${S}/python/ovstest/ ${D}${libdir}/python${PYTHON_BASEVERSION}/site-packages/ } -pkg_postinst_ontarget_${PN}-pki () { +pkg_postinst_ontarget:${PN}-pki () { if test ! -d $D/${datadir}/${PN}/pki; then ovs-pki init --dir=$D/${datadir}/${PN}/pki fi } -pkg_postinst_ontarget_${PN}-testcontroller () { +pkg_postinst_ontarget:${PN}-testcontroller () { if test ! -d $D/${datadir}/${PN}/pki; then ovs-pki init --dir=$D/${datadir}/${PN}/pki fi diff --git a/recipes-networking/openvswitch/openvswitch_git.bb b/recipes-networking/openvswitch/openvswitch_git.bb index 616bc277..b7d9b8dd 100644 --- a/recipes-networking/openvswitch/openvswitch_git.bb +++ b/recipes-networking/openvswitch/openvswitch_git.bb @@ -4,7 +4,7 @@ DEPENDS += "virtual/kernel" PACKAGE_ARCH = "${MACHINE_ARCH}" -RDEPENDS_${PN}-ptest += "\ +RDEPENDS:${PN}-ptest += "\ python3-logging python3-syslog python3-io python3-core \ python3-fcntl python3-shell python3-xml python3-math \ python3-datetime python3-netclient python3 sed \ @@ -14,28 +14,25 @@ RDEPENDS_${PN}-ptest += "\ " S = "${WORKDIR}/git" -PV = "2.15+${SRCPV}" -CVE_VERSION = "2.13.0" +PV = "3.3.0" +CVE_VERSION = "3.3.0" -FILESEXTRAPATHS_append := "${THISDIR}/${PN}-git:" +FILESEXTRAPATHS:append := "${THISDIR}/${PN}-git:" -SRCREV = "8dc1733eaea866dce033b3c44853e1b09bf59fc7" -SRC_URI += "git://github.com/openvswitch/ovs.git;protocol=git;branch=branch-2.15 \ +SRCREV = "1c1f173ce8a8534e262083bc4db3ee15f05231c0" +SRC_URI += "git://github.com/openvswitch/ovs.git;protocol=https;branch=branch-3.3 \ file://openvswitch-add-ptest-71d553b995d0bd527d3ab1e9fbaf5a2ae34de2f3.patch \ file://run-ptest \ file://disable_m4_check.patch \ - file://kernel_module.patch \ file://systemd-update-tool-paths.patch \ file://systemd-create-runtime-dirs.patch \ - file://0001-ovs-use-run-instead-of-var-run-for-in-systemd-units.patch \ + file://Makefile.am-set-the-python3-interpreter-with-usr-bin.patch \ " LIC_FILES_CHKSUM = "file://LICENSE;md5=1ce5d23a6429dff345518758f13aaeab" -DPDK_INSTALL_DIR ?= "/opt/dpdk" - PACKAGECONFIG ?= "libcap-ng" -PACKAGECONFIG[dpdk] = "--with-dpdk=${STAGING_DIR_TARGET}${DPDK_INSTALL_DIR}/share/${TARGET_ARCH}-native-linuxapp-gcc,,dpdk,dpdk" +PACKAGECONFIG[dpdk] = "--with-dpdk=shared,,dpdk,dpdk" PACKAGECONFIG[libcap-ng] = "--enable-libcapng,--disable-libcapng,libcap-ng," PACKAGECONFIG[ssl] = ",--disable-ssl,openssl," @@ -45,7 +42,7 @@ PACKAGECONFIG[ssl] = ",--disable-ssl,openssl," # EXTRA_OECONF += "--with-linux=${STAGING_KERNEL_BUILDDIR} --with-linux-source=${STAGING_KERNEL_DIR} KARCH=${TARGET_ARCH}" # silence a warning -FILES_${PN} += "/lib/modules" +FILES:${PN} += "/lib/modules" inherit ptest @@ -55,6 +52,3 @@ do_install_ptest() { oe_runmake test-install } -do_install_append() { - oe_runmake modules_install INSTALL_MOD_PATH=${D} -} diff --git a/recipes-networking/slirp4netns/slirp4netns_0.4.1.bb b/recipes-networking/slirp4netns/slirp4netns_git.bb index b47df968..33a5636a 100644 --- a/recipes-networking/slirp4netns/slirp4netns_0.4.1.bb +++ b/recipes-networking/slirp4netns/slirp4netns_git.bb @@ -3,14 +3,21 @@ DESCRIPTION = "slirp4netns allows connecting a network namespace to the \ Internet in a completely unprivileged way, by connecting a TAP device in a \ network namespace to the usermode TCP/IP stack ("slirp")." -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=1e2efd29c201480c6be2744d9edade26" -SRCREV = "4d38845e2e311b684fc8d1c775c725bfcd5ddc27" -SRC_URI = "git://github.com/rootless-containers/slirp4netns.git;nobranch=1" +SRCREV = "323aa69a68362a432f15d5e8050e74a0637aaf1e" +SRC_URI = "git://github.com/rootless-containers/slirp4netns.git;nobranch=1;protocol=https" -DEPENDS = "glib-2.0 libcap libseccomp" +PV = "1.2.0+git" + +inherit features_check +REQUIRED_DISTRO_FEATURES ?= "seccomp" + +DEPENDS = "glib-2.0 libcap libseccomp libslirp" S = "${WORKDIR}/git" +RRECOMMENDS:${PN} += "kernel-module-tun" + inherit autotools pkgconfig diff --git a/scripts/README-oe-go-mod-autogen.txt b/scripts/README-oe-go-mod-autogen.txt new file mode 100644 index 00000000..80a35e52 --- /dev/null +++ b/scripts/README-oe-go-mod-autogen.txt @@ -0,0 +1,120 @@ +Description: + + oe-go-mod-autogen.py is a helper script for go mod recipes. It is based + on intiial efforts to use only the git fetcher versus golangs module + infrastructure. + + Example: + + a) generate + + cmd: <path_to>/meta-virtualization/scripts/oe-go-mod-autogen.py \ + --repo https://github.com/docker/compose --rev v2.20.3 + output: src_uri.inc, relocation.inc, modules.txt + + b) Copy the three generated files to replace the original ones. + + c) update SRCREV + + Edit the recipe to update PV and the main SRCREV, and + docker-compose is upgraded. + + See --help for more explanations and examples. + + Below are some technical details. + + * get module's repo from module name + + This script checks the following two URLs to determine the module's repo. + 1. https://<module_name_tweaked>?=go-get=1 + 2. https://pkg.go.dev/<module_name_tweaked> + + The module_name_tweaked is derived from module_name, with the last components + removed one by one. Let me use two examples to explain this. + + For module_name sigs.k8s.io/json, the sigs.k8s.io/json is first used as + module_name_tweaked for searching. And we can correctly get the repo URL, so + the search stops. + + For module_name github.com/k3s-io/etcd/api/v3, the following ones are used + as module_name_tweaked: + github.com/k3s-io/etcd/api/v3 + github.com/k3s-io/etcd/api + github.com/k3s-io/etcd + And when searching 'github.com/k3s-io/etcd', we get the repo URL, so the search + stops. + + * determine the srcdir:destdir mapping in 'vendor' creation + + To correctly form the 'vendor' directory, the mapping is critical. + This script makes use of tag matching and path matching to determine + the subpath in the repo for the module. + + * avoid subpath being overriden by parent path + + We need to avoid subpath being overriden by parent path. This is needed + for both SRC_URI ordering in src_uri.inc and the sites mapping ordering + in relocation.inc. This script simply uses the length as the ordering key, + simply for the reason that if a path is a subpath of another path, it must + be longer. + + * the .git suffix is removed to sync with each other + + Unlike normal recipes, go mod recipe usually have many SRC_URIs. This script + remove the '.git' suffix from repo URL so that the repo URLs are in sync + with each. + + * basic directory hierarchy and caching mechanism + + <cwd>/repos: hold the repos downloaded and checked + <cwd>/wget-contents: hold the contents to determine the module's repo + <cwd>/wget-contents/<module_name>.repo_url.cache: the repo value cache + This is to avoid unnecessary URL fetching and repo cloning. + + * the ERROR_OUT_ON_FETCH_AND_CHECKOUT_FAILURE switch in script + + The script must get the correct repo_url, fullsrc_rev and subpath for + each required module in go.mod to correctly generate the src_uri.inc and + relocation.inc files. If this process fails for any required module, this + script stop immediately, as I deliberately set ERROR_OUT_ON_FETCH_AND_CHECKOUT_FAILURE + to True in this script. The purpose is to encourage people to report + problems to meta-virt so that we can improve this script according to + these feedbacks. But this variable can set to False, then the script + only records the failed modules in self.modules_unhandled with reasons + added, people can modify the generated src_uri.inc and relocation.inc + to manually handle these unhandled modules if they are urgent to + add/upgrade some go mod recipes. + + +Debug tips: + +If the do_compile task exits with a go mod / fetch error, this is due +to some sort of compilation error during the go build. The log file +can be huge. To figure out what broke, try the following: + + % cd ${S}/src/import + % grep -v ^HASH ../../../temp/log.do_compile + +This will likely highlight what broke. It is often that either the wrong +revision was used (and there will be go build errors) or that a fetched +repository used the wrong source or destination. Seeing what module +couldn't be found, will allow you to locate the SRC_URI fetch in question, +how it was relocated. Either the source or destination may be wrong. + +As an example, k3s was failing with the following error: + + go: finding module for package sigs.k8s.io/kustomize/kustomize/v5/commands/build + vendor/k8s.io/kubectl/pkg/cmd/kustomize/kustomize.go:25:2: cannot query module due to -mod=vendor + WARNING: exit code 1 from a shell command. + +Which leads to looking at the SRC_URI and vendor fetch, which was not +using the proper source for kustomize. + + sigs.k8s.io/kustomize/kustomize/v5:sigs.k8s.io/kustomize/kustomize:force \ + +had to be changed to: + + sigs.k8s.io/kustomize/kustomize/v5:sigs.k8s.io/kustomize/kustomize/v5/kustomize:force \ + +To get the commands/build subirectory from the source into the proper +vendor location. diff --git a/scripts/oe-go-mod-autogen.py b/scripts/oe-go-mod-autogen.py new file mode 100755 index 00000000..c44c096a --- /dev/null +++ b/scripts/oe-go-mod-autogen.py @@ -0,0 +1,800 @@ +#!/usr/bin/env python3 + +# SPDX-License-Identifier: GPL-2.0-only +# +# go-dep processor +# +# Copyright (C) 2022 Bruce Ashfield +# Copyright (C) 2023 Chen Qi +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import os +import sys +import logging +import argparse +from collections import OrderedDict +import subprocess +import textwrap + +# This switch is used to make this script error out ASAP, mainly for debugging purpose +ERROR_OUT_ON_FETCH_AND_CHECKOUT_FAILURE = True + +logger = logging.getLogger('oe-go-mod-autogen') +loggerhandler = logging.StreamHandler() +loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) +logger.addHandler(loggerhandler) +logger.setLevel(logging.INFO) + +class GoModTool(object): + def __init__(self, repo, rev, workdir): + self.repo = repo + self.rev = rev + self.workdir = workdir + + # Stores the actual module name and its related information + # {module: (repo_url, repo_dest_dir, fullsrcrev)} + self.modules_repoinfo = {} + + # {module_name: (url, version, destdir, fullsrcrev)} + # + # url: place to get the source codes, we only support git repo + # version: module version, git tag or git rev + # destdir: place to put the fetched source codes + # fullsrcrev: full src rev which is the value of SRC_REV + # + # e.g. + # For 'github.com/Masterminds/semver/v3 v3.1.1' in go.mod: + # module_name = github.com/Masterminds/semver/v3 + # url = https://github.com/Masterminds/semver + # version = v3.1.1 + # destdir = ${WORKDIR}/${BP}/src/${GO_IMPORT}/vendor/github.com/Masterminds/semver/v3 + # fullsrcrev = d387ce7889a157b19ad7694dba39a562051f41b0 + self.modules_require = OrderedDict() + + # {orig_module: (actual_module, actual_version)} + self.modules_replace = OrderedDict() + + # Unhandled modules + self.modules_unhandled = OrderedDict() + + # store subpaths used to form srcpath + # {actual_module_name: subpath} + self.modules_subpaths = OrderedDict() + + # modules's actual source paths, record those that are not the same with the module itself + self.modules_srcpaths = OrderedDict() + + # store lines, comment removed + self.require_lines = [] + self.replace_lines = [] + + # fetch repo + self.fetch_and_checkout_repo(self.repo.split('://')[1], self.repo, self.rev, checkout=True, get_subpath=False) + + def show_go_mod_info(self): + # Print modules_require, modules_replace and modules_unhandled + print("modules required:") + for m in self.modules_require: + url, version, destdir, fullrev = self.modules_require[m] + print("%s %s %s %s" % (m, version, url, fullrev)) + + print("modules replace:") + for m in self.modules_replace: + actual_module, actual_version = self.modules_replace[m] + print("%s => %s %s" % (m, actual_module, actual_version)) + + print("modules unhandled:") + for m in self.modules_unhandled: + reason = self.modules_unhandled[m] + print("%s unhandled: %s" % (m, reason)) + + def parse(self): + # check if this repo needs autogen + repo_url, repo_dest_dir, repo_fullrev = self.modules_repoinfo[self.repo.split('://')[1]] + if os.path.isdir(os.path.join(repo_dest_dir, 'vendor')): + logger.info("vendor direcotry has already existed for %s, no need to add other repos" % self.repo) + return + go_mod_file = os.path.join(repo_dest_dir, 'go.mod') + if not os.path.exists(go_mod_file): + logger.info("go.mod file does not exist for %s, no need to add otehr repos" % self.repo) + return + self.parse_go_mod(go_mod_file) + self.show_go_mod_info() + + def fetch_and_checkout_repo(self, module_name, repo_url, rev, default_protocol='https://', checkout=False, get_subpath=True): + """ + Fetch repo_url to <workdir>/repos/repo_base_name + """ + protocol = default_protocol + if '://' in repo_url: + repo_url_final = repo_url + else: + repo_url_final = default_protocol + repo_url + logger.debug("fetch and checkout %s %s" % (repo_url_final, rev)) + repos_dir = os.path.join(self.workdir, 'repos') + if not os.path.exists(repos_dir): + os.makedirs(repos_dir) + repo_basename = repo_url.split('/')[-1].split('.git')[0] + repo_dest_dir = os.path.join(repos_dir, repo_basename) + module_last_name = module_name.split('/')[-1] + git_action = "fetch" + if os.path.exists(repo_dest_dir): + if checkout: + # check if current HEAD is rev + try: + headrev = subprocess.check_output('git rev-list -1 HEAD', shell=True, cwd=repo_dest_dir).decode('utf-8').strip() + requiredrev = subprocess.check_output('git rev-list -1 %s 2>/dev/null || git rev-list -1 %s/%s' % (rev, module_last_name, rev), shell=True, cwd=repo_dest_dir).decode('utf-8').strip() + if headrev == requiredrev: + logger.info("%s has already been fetched and checked out as required, skipping" % repo_url) + self.modules_repoinfo[module_name] = (repo_url, repo_dest_dir, requiredrev) + return + else: + logger.info("HEAD of %s is not %s, will do a clean clone" % (repo_dest_dir, requiredrev)) + git_action = "clone" + except: + logger.info("'git rev-list' in %s failed, will do a clean clone" % repo_dest_dir) + git_action = "clone" + else: + # determine if the current repo points to the desired remote repo + try: + remote_origin_url = subprocess.check_output('git config --get remote.origin.url', shell=True, cwd=repo_dest_dir).decode('utf-8').strip() + if remote_origin_url.endswith('.git'): + if not repo_url_final.endswith('.git'): + remote_origin_url = remote_origin_url[:-4] + else: + if repo_url_final.endswith('.git'): + remote_origin_url = remote_origin_url + '.git' + if remote_origin_url != repo_url_final: + logger.info("remote.origin.url for %s is not %s, will do a clean clone" % (repo_dest_dir, repo_url_final)) + git_action = "clone" + except: + logger.info("'git config --get remote.origin.url' in %s failed, will do a clean clone" % repo_dest_dir) + git_action = "clone" + else: + # No local repo, clone it. + git_action = "clone" + + if git_action == "clone": + logger.info("Removing %s" % repo_dest_dir) + subprocess.check_call('rm -rf %s' % repo_dest_dir, shell=True) + + # clone/fetch repo + try: + git_cwd = repos_dir if git_action == "clone" else repo_dest_dir + logger.info("git %s %s in %s" % (git_action, repo_url_final, git_cwd)) + subprocess.check_call('git %s %s >/dev/null 2>&1' % (git_action, repo_url_final), shell=True, cwd=git_cwd) + except: + logger.warning("Failed to %s %s in %s" % (git_action, repo_url_final, git_cwd)) + return + + def get_requiredrev(get_subpath): + import re + # check if rev is a revision or a version + if len(rev) == 12 and re.match('[0-9a-f]+', rev): + rev_is_version = False + else: + rev_is_version = True + + # if rev is not a version, 'git rev-list -1 <rev>' should just succeed! + if not rev_is_version: + try: + rev_return = subprocess.check_output('git rev-list -1 %s 2>/dev/null' % rev, shell=True, cwd=repo_dest_dir).decode('utf-8').strip() + if get_subpath: + cmd = 'git branch -M toremove && git checkout -b check_subpath %s && git branch -D toremove' % rev_return + subprocess.check_call(cmd, shell=True, cwd=repo_dest_dir) + # try to get the subpath for this module + module_name_parts = module_name.split('/') + while (len(module_name_parts) > 0): + subpath = '/'.join(module_name_parts) + dir_to_check = repo_dest_dir + '/' + '/'.join(module_name_parts) + if os.path.isdir(dir_to_check): + self.modules_subpaths[module_name] = subpath + break + else: + module_name_parts.pop(0) + return rev_return + except: + logger.warning("Revision (%s) not in repo(%s)" % (rev, repo_dest_dir)) + return None + + # the following codes deals with case where rev is a version + # determine the longest match tag, in this way, we can get the current srcpath to be used in relocation.inc + # we first get the initial tag, which is formed from module_name and rev + module_parts = module_name.split('/') + if rev.startswith(module_parts[-1] + '.'): + tag = '/'.join(module_parts[:-1]) + '/' + rev + last_module_part_replaced = True + else: + tag = '/'.join(module_parts) + '/' + rev + last_module_part_replaced = False + logger.debug("use %s as the initial tag for %s" % (tag, module_name)) + tag_parts = tag.split('/') + while(len(tag_parts) > 0): + try: + rev_return = subprocess.check_output('git rev-list -1 %s 2>/dev/null' % tag, shell=True, cwd=repo_dest_dir).decode('utf-8').strip() + if len(tag_parts) > 1: + # ensure that the subpath exists + if get_subpath: + cmd = 'git branch -M toremove && git checkout -b check_subpath %s && git branch -D toremove' % rev_return + subprocess.check_call(cmd, shell=True, cwd=repo_dest_dir) + # get subpath for the actual_module_name + if last_module_part_replaced: + subpath = '/'.join(tag_parts[:-1]) + '/' + module_parts[-1] + if not os.path.isdir(repo_dest_dir + '/' + subpath): + subpath = '/'.join(tag_parts[:-1]) + else: + subpath = '/'.join(tag_parts[:-1]) + if not os.path.isdir(repo_dest_dir + '/' + subpath): + logger.warning("subpath (%s) derived from tag matching does not exist in %s" % (subpath, repo_dest_dir)) + return None + self.modules_subpaths[module_name] = subpath + logger.info("modules_subpath[%s] = %s" % (module_name, subpath)) + return rev_return + except: + tag_parts.pop(0) + tag = '/'.join(tag_parts) + logger.warning("No tag matching %s" % rev) + return None + + requiredrev = get_requiredrev(get_subpath) + if requiredrev: + logger.info("Got module(%s) requiredrev: %s" % (module_name, requiredrev)) + if checkout: + subprocess.check_call('git checkout -b gomodautogen %s' % requiredrev, shell=True, cwd=repo_dest_dir) + self.modules_repoinfo[module_name] = (repo_url, repo_dest_dir, requiredrev) + else: + logger.warning("Failed to get requiredrev, repo_url = %s, rev = %s, module_name = %s" % (repo_url, rev, module_name)) + + def parse_go_mod(self, go_mod_path): + """ + Parse go.mod file to get the modules info + """ + # First we get the require and replace lines + # The parsing logic assumes the replace lines come *after* the require lines + inrequire = False + inreplace = False + with open(go_mod_path, 'r') as f: + lines = f.readlines() + for line in lines: + if line.startswith('require ('): + inrequire = True + continue + if line.startswith(')'): + inrequire = False + continue + if line.startswith('require ') or inrequire: + # we have one line require + require_line = line.lstrip('require ').split('//')[0].strip() + if require_line: + self.require_lines.append(require_line) + continue + # we can deal with requires and replaces separately because go.mod always writes requires before replaces + if line.startswith('replace ('): + inreplace = True + continue + if line.startswith(')'): + inreplace = False + continue + if line.startswith('replace ') or inreplace: + replace_line = line.lstrip('replace ').split('//')[0].strip() + if replace_line: + self.replace_lines.append(replace_line) + continue + # + # parse the require_lines and replace_lines to form self.modules_require and self.modules_replace + # + logger.debug("Parsing require_lines and replace_lines ...") + # A typical replace line is as below: + # github.com/hashicorp/golang-lru => github.com/ktock/golang-lru v0.5.5-0.20211029085301-ec551be6f75c + # It means that the github.com/hashicorp/golang-lru module is replaced by github.com/ktock/golang-lru + # with the version 'v0.5.5-0.20211029085301-ec551be6f75c'. + # So the destdir is vendor/github.com/hashicorp/golang-lru while the contents are from github.com/ktock/golang-lru + for line in self.replace_lines: + orig_module, actual = line.split('=>') + actual_module, actual_version = actual.split() + orig_module = orig_module.strip() + actual_module = actual_module.strip() + actual_version = actual_version.strip() + self.modules_replace[orig_module] = (actual_module, actual_version) + # + # Typical require lines are as below: + # github.com/Masterminds/semver/v3 v3.1.1 + # golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064 + # + # We need to first try https://<module_name>?=go-get=1 to see it contains + # line starting with '<meta name="go-import" content='. + # + # If so, get root-path vcs repo-url from content. See https://go.dev/ref/mod#vcs-find + # For example, the above 'wget https://golang.org/x/crypto?go-get=1' gives you + # <meta name="go-import" content="golang.org/x/crypto git https://go.googlesource.com/crypto"> + # In such case, the self.modules_require has the following contents: + # module_name: golang.org/x/crypto + # url: https://go.googlesource.com/crypto + # version: v0.0.0-20220321153916-2c7772ba3064 + # destdir: ${WORKDIR}/${BP}/src/import/vendor.fetch/golang.org/x/crypto + # fullsrcrev: 2c7772ba30643b7a2026cbea938420dce7c6384d (git rev-list -1 2c7772ba3064) + # + # If not, try https://pkg.go.dev/<module_name>, and find the 'Repository'. + # For example, 'wget https://pkg.go.dev/github.com/Masterminds/semver/v3' gives: + # github.com/Masterminds/semver + # In such case, the self.modules has the following contents: + # module_name: github.com/Masterminds/semver/v3 + # url: https://github.com/Masterminds/semver + # version: v3.1.1 + # destdir: ${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/Masterminds/semver/v3 + # fullsrcrev: 7bb0c843b53d6ad21a3f619cb22c4b442bb3ef3e (git rev-list -1 v3.1.1) + # + # As a last resort, if the last component of <module_name> matches 'v[0-9]+', + # remove the last component and try wget https://<module_name_with_last_component_removed>?go-get=1, + # then try using the above matching method. + # + for line in self.require_lines: + module_name, version = line.strip().split() + logger.debug("require line: %s" % line) + logger.debug("module_name = %s; version = %s" % (module_name, version)) + # take the modules_replace into consideration to get the actual version and actual module name + # note that the module_name is used in destdir, and the actual_module_name and actual_version + # are used to determine the url and fullsrcrev + destdir = '${WORKDIR}/${BP}/src/import/vendor.fetch/%s' % module_name + actual_module_name = module_name + actual_version = version + if module_name in self.modules_replace: + actual_module_name, actual_version = self.modules_replace[module_name] + logger.debug("actual_module_name = %s; actual_version = %s" % (actual_module_name, actual_version)) + url, fullsrcrev = self.get_url_srcrev(actual_module_name, actual_version) + logger.debug("url = %s; fullsrcrev = %s" % (url, fullsrcrev)) + if url and fullsrcrev: + self.modules_require[module_name] = (url, version, destdir, fullsrcrev) + # form srcpath, actual_module_name/<subpath> + if actual_module_name in self.modules_subpaths: + subpath = self.modules_subpaths[actual_module_name] + srcpath = '%s/%s' % (actual_module_name, subpath) + self.modules_srcpaths[module_name] = srcpath + logger.info("self.modules_srcpaths[%s] = %s" % (module_name, srcpath)) + else: + self.modules_srcpaths[module_name] = actual_module_name + else: + logger.warning("get_url_srcrev(%s, %s) failed" % (actual_module_name, actual_version)) + if ERROR_OUT_ON_FETCH_AND_CHECKOUT_FAILURE: + sys.exit(1) + + def use_wget_to_get_repo_url(self, wget_content_file, url_cache_file, module_name): + """ + Use wget to get repo_url for module_name, return None if not found + """ + try: + logger.info("wget -O %s https://%s?=go-get=1" % (wget_content_file, module_name)) + subprocess.check_call('wget -O %s https://%s?=go-get=1' % (wget_content_file, module_name), shell=True) + with open(wget_content_file, 'r') as f: + for line in f.readlines(): + if '<meta name="go-import" content=' in line: + logger.info("Succeed to find go-import content for %s" % module_name) + logger.debug("The line is %s" % line) + root_path, vcs, repo_url = line.split('content=')[1].split('"')[1].split() + logger.info("%s: %s %s %s" % (module_name, root_path, vcs, repo_url)) + if vcs != 'git': + logger.warning('%s unhandled as its vcs is %s which is not supported by this script.' % (module_name, vcs)) + unhandled_reason = 'vcs %s is not supported by this script' % vcs + self.modules_unhandled[module_name] = unhandled_reason + return None + with open(url_cache_file, 'w') as f: + f.write(repo_url) + return repo_url + except: + logger.info("wget -O %s https://%s?=go-get=1 failed" % (wget_content_file, module_name)) + # if we cannot find repo url from https://<module_name>?=go-get=1, try https://pkg.go/dev/<module_name> + try: + logger.info("wget -O %s https://pkg.go.dev/%s" % (wget_content_file, module_name)) + subprocess.check_call("wget -O %s https://pkg.go.dev/%s" % (wget_content_file, module_name), shell=True) + repo_url_found = False + with open(wget_content_file, 'r') as f: + in_repo_section = False + for line in f.readlines(): + if '>Repository<' in line: + in_repo_section = True + continue + if in_repo_section: + newline = line.strip() + if newline != '' and not newline.startswith('<'): + repo_url = newline + repo_url_found = True + break + if repo_url_found: + logger.info("repo url for %s: %s" % (module_name, repo_url)) + with open(url_cache_file, 'w') as f: + f.write(repo_url) + return repo_url + else: + unhandled_reason = 'cannot determine repo_url for %s' % module_name + self.modules_unhandled[module_name] = unhandled_reason + return None + except: + logger.info("wget -O %s https://pkg.go.dev/%s failed" % (wget_content_file, module_name)) + return None + + + def get_repo_url_rev(self, module_name, version): + """ + Return (repo_url, rev) + """ + import re + # First get rev from version + v = version.split('+incompatible')[0] + version_components = v.split('-') + if len(version_components) == 1: + rev = v + elif len(version_components) == 3: + if len(version_components[2]) == 12: + rev = version_components[2] + else: + rev = v + else: + rev = v + + # + # Get repo_url + # We put a cache mechanism here, <wget_content_file>.repo_url.cache is used to store the repo url fetch before + # + wget_dir = os.path.join(self.workdir, 'wget-contents') + if not os.path.exists(wget_dir): + os.makedirs(wget_dir) + wget_content_file = os.path.join(wget_dir, module_name.replace('/', '_')) + url_cache_file = "%s.repo_url.cache" % wget_content_file + if os.path.exists(url_cache_file): + with open(url_cache_file, 'r') as f: + repo_url = f.readline().strip() + return (repo_url, rev) + module_name_parts = module_name.split('/') + while (len(module_name_parts) > 0): + module_name_to_check = '/'.join(module_name_parts) + logger.info("module_name_to_check: %s" % module_name_to_check) + repo_url = self.use_wget_to_get_repo_url(wget_content_file, url_cache_file, module_name_to_check) + if repo_url: + return (repo_url, rev) + else: + if module_name in self.modules_unhandled: + return (None, rev) + else: + module_name_parts.pop(-1) + + unhandled_reason = 'cannot determine the repo for %s' % module_name + self.modules_unhandled[module_name] = unhandled_reason + return (None, rev) + + def get_url_srcrev(self, module_name, version): + """ + Return url and fullsrcrev according to module_name and version + """ + repo_url, rev = self.get_repo_url_rev(module_name, version) + if not repo_url or not rev: + return (None, None) + self.fetch_and_checkout_repo(module_name, repo_url, rev) + if module_name in self.modules_repoinfo: + repo_url, repo_dest_dir, repo_fullrev = self.modules_repoinfo[module_name] + # remove the .git suffix to sync repos across modules with different versions and across recipes + if repo_url.endswith('.git'): + repo_url = repo_url[:-len('.git')] + return (repo_url, repo_fullrev) + else: + unhandled_reason = 'fetch_and_checkout_repo(%s, %s, %s) failed' % (module_name, repo_url, rev) + self.modules_unhandled[module_name] = unhandled_reason + return (None, None) + + def gen_src_uri_inc(self): + """ + Generate src_uri.inc file containing SRC_URIs + """ + src_uri_inc_file = os.path.join(self.workdir, 'src_uri.inc') + # record the <name> after writting SRCREV_<name>, this is to avoid modules having the same basename resulting in same SRCREV_xxx + srcrev_name_recorded = [] + template = """# %s %s +# [1] git ls-remote %s %s +SRCREV_%s="%s" +SRC_URI += "git://%s;name=%s;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/%s" + +""" + # We can't simply write SRC_URIs one by one in the order that go.mod specify them. + # Because the latter one might clean things up for the former one if the former one is a subpath of the latter one. + def take_first_len(elem): + return len(elem[0]) + + src_uri_contents = [] + with open(src_uri_inc_file, 'w') as f: + for module in self.modules_require: + # {module_name: (url, version, destdir, fullsrcrev)} + repo_url, version, destdir, fullrev = self.modules_require[module] + if module in self.modules_replace: + actual_module_name, actual_version = self.modules_replace[module] + else: + actual_module_name, actual_version = (module, version) + if '://' in repo_url: + repo_url_noprotocol = repo_url.split('://')[1] + else: + repo_url_noprotocol = repo_url + if not repo_url.startswith('https://'): + repo_url = 'https://' + repo_url + name = module.split('/')[-1] + if name in srcrev_name_recorded: + name = '-'.join(module.split('/')[-2:]) + src_uri_contents.append((actual_module_name, actual_version, repo_url, fullrev, name, fullrev, repo_url_noprotocol, name, actual_module_name)) + srcrev_name_recorded.append(name) + # sort the src_uri_contents and then write it + src_uri_contents.sort(key=take_first_len) + for content in src_uri_contents: + f.write(template % content) + logger.info("%s generated" % src_uri_inc_file) + + def gen_relocation_inc(self): + """ + Generate relocation.inc file + """ + relocation_inc_file = os.path.join(self.workdir, 'relocation.inc') + template = """export sites="%s" + +do_compile:prepend() { + cd ${S}/src/import + for s in $sites; do + site_dest=$(echo $s | cut -d: -f1) + site_source=$(echo $s | cut -d: -f2) + force_flag=$(echo $s | cut -d: -f3) + mkdir -p vendor.copy/$site_dest + if [ -n "$force_flag" ]; then + echo "[INFO] $site_dest: force copying .go files" + rm -rf vendor.copy/$site_dest + rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest + else + [ -n "$(ls -A vendor.copy/$site_dest/*.go 2> /dev/null)" ] && { echo "[INFO] vendor.fetch/$site_source -> $site_dest: go copy skipped (files present)" ; true ; } || { echo "[INFO] $site_dest: copying .go files" ; rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest ; } + fi + done +} +""" + sites = [] + for module in self.modules_require: + # <dest>:<source>[:force] + if module in self.modules_srcpaths: + srcpath = self.modules_srcpaths[module] + logger.debug("Using %s as srcpath of module (%s)" % (srcpath, module)) + else: + srcpath = module + sites.append("%s:%s:force" % (module, srcpath)) + # To avoid the former one being overriden by the latter one when the former one is a subpath of the latter one, sort sites + sites.sort(key=len) + with open(relocation_inc_file, 'w') as f: + sites_str = ' \\\n '.join(sites) + f.write(template % sites_str) + logger.info("%s generated" % relocation_inc_file) + + def gen_modules_txt(self): + """ + Generate modules.txt file + """ + modules_txt_file = os.path.join(self.workdir, 'modules.txt') + with open(modules_txt_file, 'w') as f: + for l in self.require_lines: + f.write('# %s\n' % l) + f.write('## explicit\n') + for l in self.replace_lines: + f.write('# %s\n' %l) + logger.info("%s generated" % modules_txt_file) + + def sanity_check(self): + """ + Various anity checks + """ + sanity_check_ok = True + # + # Sanity Check 1: + # For modules having the same repo, at most one is allowed to not have subpath. + # This check operates on self.modules_repoinfo and self.modules_subpaths + # + repo_modules = {} + for module in self.modules_repoinfo: + # first form {repo: [module1, module2, ...]} + repo_url, repo_dest_dir, fullsrcrev = self.modules_repoinfo[module] + if repo_url not in repo_modules: + repo_modules[repo_url] = [module] + else: + repo_modules[repo_url].append(module) + for repo in repo_modules: + modules = repo_modules[repo] + if len(modules) == 1: + continue + # for modules sharing the same repo, at most one is allowed to not have subpath + nosubpath_modules = [] + for m in modules: + if m not in self.modules_subpaths: + nosubpath_modules.append(m) + if len(nosubpath_modules) == 0: + continue + if len(nosubpath_modules) > 1: + logger.warning("Multiple modules sharing %s, but they don't have subpath: %s. Please double check." % (repo, nosubpath_modules)) + if len(nosubpath_modules) == 1: + # do further check, OK if the module is the prefix for other modules sharing the same repo + module_to_check = nosubpath_modules[0] + for m in modules: + if module_to_check == m: + continue + if not m.startswith('%s/' % module_to_check): + logger.warning("%s is sharing repo (%s) with other modules, and it might need a subpath. Please double check: %s and: %s" % (module_to_check, repo, nosubpath_modules,m)) + continue + + # + # End of Sanity Check + # + if not sanity_check_ok: + sys.exit(1) + return + +def main(): + parser = argparse.ArgumentParser( + description="go mod dependency -> SRC_URI procesing", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=textwrap.dedent('''\ + + Overview: + ========= + + go-mod-oe is a tool for processing go dependencies to generate + dependencies suitable for OE fetcher consumption. + + In particular, it creates a build structure suitable for + '-mod="vendor"' go builds. Once complete all go mod dependencies + are in the vendor/ directory, so no golang specific fetching or + network access happens during the build. + + The files src_uri.inc, relocation.inc and modules.txt are generated + and suitable for recipe inclusion. + + A recipe build can then use these files to leverage the git fetcher + and related functionality (mirrors, sstate, etc). + + Note 1: --rev does not have to be a tag, if you want to track the tip of + a branch specify the latest git has on that branch, and it will + be used. + + Note 2: This script does not generate an entire recipe, the way the + the outputs are used can be modified as required. + + Note 3: if a go.mod has a bad revision, or needs to be manually updated + to fetch fixes: go.mod in the main repository (see the repos/ + directory). If go.mod is edited, modules.txt also has to be + updated to match the revision information. + + How to use in a recipe: + ======================= + + There are examples in meta-virtualization of recipes that use this + script and stragegy for builds: docker-compose, nerdcli, k3s + + 1) The recipe should set the master repository SRCREV details, and then include + the src_uri.inc file: + + SRCREV_nerdcli = "e084a2df4a8861eb5f0b0d32df0643ef24b81093" + SRC_URI = "git://github.com/containerd/nerdctl.git;name=nerdcli;branch=master;protocol=https" + + include src_uri.inc + + This results in the SRC_URI being fully populated with the main + repository and all dependencies. + + 2) The recipe should either copy, or include the relocation.inc file. It sets + a variable "sites" that is a list of source locations (where the src_uri.inc + fetches) and destination in a vendor directory, it also has a do_compile:prepend() + that contains a loop which relocates the fetches into a vendor.copy directory. + + It is expected to be processed as follows, before compilation starts: + + # sets the "sites" variable and copies files + include relocation.inc + + The do_compile:prepend, contains the following loop: + + cd ${S}/src/import + # this moves all the fetches into the proper vendor structure + # expected for build + for s in ${sites}; do + site_dest=$(echo $s | cut -d: -f1) + site_source=$(echo $s | cut -d: -f2) + force_flag=$(echo $s | cut -d: -f3) + mkdir -p vendor.copy/$site_dest + if [ -n "$force_flag" ]; then + echo "[INFO] $site_dest: force copying .go files" + rm -rf vendor.copy/$site_dest + rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest + else + [ -n "$(ls -A vendor.copy/$site_dest/*.go 2> /dev/null)" ] && { echo "[INFO] vendor.fetch/$site_source -> $site_dest: go copy skipped (files present)" ; true ; } || { echo "[INFO] $site_dest: copying .go files" ; rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest ; } + fi + done + + The main compile() function, should set the appropriate GO variables, + copy modules.txt and build the appripriate target: + + # our copied .go files are to be used for the build + ln -sf vendor.copy vendor + + 3) The modules.txt file should be copied into the recipe directory, included + on the SRC_URI and copied into place after the relocation has been + processed. + + # patches and config + SRC_URI += "file://0001-Makefile-allow-external-specification-of-build-setti.patch \\ + file://modules.txt \ + " + + ..... + + cp ${WORKDIR}/modules.txt vendor/ + + Example: Updating the K3S recipe + ================================ + + % cd meta-virtualization/recipe-containers/k3s/ + # produces src_uri.inc, relocation.inc and modules.txt in the current directory + % ../../scripts/oe-go-mod-autogen.py --repo https://github.com/rancher/k3s.git --rev v1.27.5+k3s1 + + % cp modules.txt k3s/ + + ... add and commit files. + + + ''')) + parser.add_argument("--repo", help = "Repo for the recipe.", required=True) + parser.add_argument("--rev", help = "Revision for the recipe.", required=True) + parser.add_argument("--module", help = "Go module name. To be used with '--test'") + parser.add_argument("--version", help = "Go module version. To be used with '--test'") + parser.add_argument("--test", help = "Test to get repo url and fullsrcrev, used together with --module and --version.", action="store_true") + parser.add_argument("--workdir", help = "Working directory to hold intermediate results and output.", default=os.getcwd()) + parser.add_argument("-d", "--debug", + help = "Enable debug output", + action="store_const", const=logging.DEBUG, dest="loglevel", default=logging.INFO) + parser.add_argument("-q", "--quiet", + help = "Hide all output except error messages", + action="store_const", const=logging.ERROR, dest="loglevel") + parser.add_argument("-v", action='store_true', dest="verbose", + help="verbose") + + args = parser.parse_args() + + if args.verbose: + args.loglevel = args.verbose + args = parser.parse_args() + + logger.setLevel(args.loglevel) + logger.debug("oe-go-mod-autogen.py running for %s:%s in %s" % (args.repo, args.rev, args.workdir)) + gomodtool = GoModTool(args.repo, args.rev, args.workdir) + if args.test: + if not args.module or not args.version: + print("Please specify --module and --version") + sys.exit(1) + url, srcrev = gomodtool.get_url_srcrev(args.module, args.version) + print("url = %s, srcrev = %s" % (url, srcrev)) + if not url or not srcrev: + print("Failed to get url & srcrev for %s:%s" % (args.module, args.version)) + else: + gomodtool.parse() + gomodtool.sanity_check() + gomodtool.gen_src_uri_inc() + gomodtool.gen_relocation_inc() + gomodtool.gen_modules_txt() + + +if __name__ == "__main__": + try: + ret = main() + except Exception as esc: + ret = 1 + import traceback + traceback.print_exc() + sys.exit(ret) diff --git a/wic/qemuboot-xen-x86-64.cfg b/wic/qemuboot-xen-x86-64.cfg new file mode 100644 index 00000000..94fb0890 --- /dev/null +++ b/wic/qemuboot-xen-x86-64.cfg @@ -0,0 +1,8 @@ +DEFAULT boot +TIMEOUT 0 +PROMPT 0 +SERIAL 0 115200 + +LABEL boot + KERNEL mboot.c32 + APPEND /xen.gz console=com1,vga com1=115200,8n1 loglvl=all guest_loglvl=all --- /bZimage console=hvc0 earlyprintk=xen root=/dev/sda2 pmtmr=0 diff --git a/wic/qemuboot-xen-x86-64.wks b/wic/qemuboot-xen-x86-64.wks new file mode 100644 index 00000000..593e0a66 --- /dev/null +++ b/wic/qemuboot-xen-x86-64.wks @@ -0,0 +1,12 @@ +# short-description: Create a 'pcbios' direct disk image with Xen hypervisor and bootloader config +# long-description: Creates a partitioned legacy BIOS disk image to boot Xen +# with a bootloader config that the user can directly dd to boot media. +# Boot files are located on the first vfat partition. + +part /boot --source bootimg-biosxen --ondisk sda --label boot --active --align 1024 + +# For the main partition, it can be useful to add additional space for VMs; +# eg. increase partition size by appending: --size 10G +part / --source rootfs --ondisk sda --use-uuid --fstype=ext4 --label root --align 1024 + +bootloader --configfile="qemuboot-xen-x86-64.cfg" |