diff options
author | zer0def | 2020-10-26 16:12:22 +0100 |
---|---|---|
committer | zer0def | 2020-10-26 16:29:25 +0100 |
commit | c177f8224328e71730c081cae6b21f42f409ef4e (patch) | |
tree | 3c29bdfc7b0fccf62d0c85ff5ce402d2146034f7 | |
parent | c64ed7d7120045ef2c08123b7184846ed9fc2004 (diff) | |
download | aur-c177f8224328e71730c081cae6b21f42f409ef4e.tar.gz |
Added kernel build
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | PKGBUILD | 166 | ||||
-rw-r--r-- | rootfs-builder-Dockerfile.in | 16 |
3 files changed, 112 insertions, 93 deletions
@@ -1,6 +1,6 @@ pkgbase = kata-containers-git pkgdesc = Lightweight virtual machines for containers (Git version) - pkgver = 1.12.0~alpha0~runtime.r72.a1d993fa + pkgver = 1.12.0~rc0~runtime.r2.17cc7d6a pkgrel = 1 url = https://katacontainers.io/ arch = x86_64 @@ -8,6 +8,8 @@ pkgbase = kata-containers-git makedepends = go makedepends = yq2-bin makedepends = bc + makedepends = git + noextract = archlinux-bootstrap-2020.08.01-x86_64.tar.gz source = agent::git+https://github.com/kata-containers/agent source = ksm-throttler::git+https://github.com/kata-containers/ksm-throttler source = osbuilder::git+https://github.com/kata-containers/osbuilder @@ -15,6 +17,10 @@ pkgbase = kata-containers-git source = proxy::git+https://github.com/kata-containers/proxy source = runtime::git+https://github.com/kata-containers/runtime source = shim::git+https://github.com/kata-containers/shim + source = 0001-osbuilder-goversion.patch + source = rootfs-builder-config.sh + source = rootfs-builder-lib.sh + validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E sha512sums = SKIP sha512sums = SKIP sha512sums = SKIP @@ -22,6 +28,21 @@ pkgbase = kata-containers-git sha512sums = SKIP sha512sums = SKIP sha512sums = SKIP + sha512sums = 0cac0aa5d0f7f0d49da9185bc71ce05a089d6339ad0d660905e18724b30381cbe3fb84b56b0de21def793ca52c945f02b99f81a6b4e77e2398da250ec8e4ff6b + sha512sums = 375990194988a019f2429ed85eb996222929a028a52ec609de106df8939704db6654af6d92aec5e192693d7758fc9561f236bbb29df319c2d506b5b2d2b16553 + sha512sums = e987501a16828636b3da5cfa7b4c3af5e981aab20dee4b97d10daf8625de92e77203f7ccbfa2beff8700b32371ffa4d9f94f97216fe6abb13a475984cdf5d6e3 + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = 1f6296eb9be00329b1eb015eafb4a965c575ded58b8618cfc0af3d15072c424afbbc029fad4d65e0af3bccc5963c4304c14b4a9d4763cfaec9b4596834a0f9b0 + b2sums = SKIP + b2sums = fac2f30e6d8613e23fcb84df14b589e515510e719c3510f91db48100d6ae9284d4b71f6267f634bcd571034c0583d3b88c3a4ddfb26e51b0f08c1042f7213ef9 + b2sums = a0d55c2fbd3d94859c156e7f68033091430d523e374a7058cbcbe029cb9dc41c5c6c56560425c698438f66ab3754423f656885962ac40d8cd5aeb2f8039a77c9 + b2sums = 1c4994e2f925e7ca16298d135a29b92f55ad15b821d47ef1677d472514a906a6957022ca8366b5f4d1f4b33c6d727eebd08bb3e9d47f67851b35ab7b8bc396b8 pkgname = kata-agent-git provides = kata-agent @@ -9,15 +9,17 @@ pkgname=( #kata-linux-container-git #kata-containers-image-git ) -pkgver=1.12.0~alpha0~runtime.r72.a1d993fa +pkgver=1.12.0~rc0~runtime.r2.17cc7d6a pkgrel=1 pkgdesc="Lightweight virtual machines for containers (Git version)" arch=('x86_64') url="https://katacontainers.io/" license=('Apache') -makedepends=('go' 'yq2-bin' 'bc') +makedepends=('go' 'yq2-bin' 'bc' 'git') + _gh_org="github.com/kata-containers" _kata_kernel_ver="5.4.60" + source=( "agent::git+https://${_gh_org}/agent" "ksm-throttler::git+https://${_gh_org}/ksm-throttler" @@ -26,33 +28,44 @@ source=( "proxy::git+https://${_gh_org}/proxy" "runtime::git+https://${_gh_org}/runtime" "shim::git+https://${_gh_org}/shim" + + #"https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_kata_kernel_ver}.tar.xz" + #"https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_kata_kernel_ver}.tar.sign" + #"http://mirrors.evowise.com/archlinux/iso/2020.08.01/archlinux-bootstrap-2020.08.01-x86_64.tar.gz" + #"http://mirrors.evowise.com/archlinux/iso/2020.08.01/archlinux-bootstrap-2020.08.01-x86_64.tar.gz.sig" + + "0001-osbuilder-goversion.patch" + "rootfs-builder-config.sh" + "rootfs-builder-lib.sh" +) +sha512sums=( + SKIP SKIP SKIP SKIP SKIP SKIP SKIP + + #fb9ebada932c17d0adbc099a1df31a7d97afe3be694665b1f8171e7159bda84a36a435ceecfdce6d492d8e5075ed4253c68029dcdf952e75a3fe7ee36646327b + #SKIP + #24044fb5a9870dbe13ec7eafb60d99e664cec10d50d80a73a0445d1368c0fa95881003d92e0a1c0446f76c1bbe89b098f35ceffd0ef24e9beaa51f1a83494b98 + #SKIP + + 0cac0aa5d0f7f0d49da9185bc71ce05a089d6339ad0d660905e18724b30381cbe3fb84b56b0de21def793ca52c945f02b99f81a6b4e77e2398da250ec8e4ff6b + 375990194988a019f2429ed85eb996222929a028a52ec609de106df8939704db6654af6d92aec5e192693d7758fc9561f236bbb29df319c2d506b5b2d2b16553 + e987501a16828636b3da5cfa7b4c3af5e981aab20dee4b97d10daf8625de92e77203f7ccbfa2beff8700b32371ffa4d9f94f97216fe6abb13a475984cdf5d6e3 +) +b2sums=( + SKIP SKIP SKIP SKIP SKIP SKIP SKIP + + 1f6296eb9be00329b1eb015eafb4a965c575ded58b8618cfc0af3d15072c424afbbc029fad4d65e0af3bccc5963c4304c14b4a9d4763cfaec9b4596834a0f9b0 + SKIP + #24044fb5a9870dbe13ec7eafb60d99e664cec10d50d80a73a0445d1368c0fa95881003d92e0a1c0446f76c1bbe89b098f35ceffd0ef24e9beaa51f1a83494b98 + #SKIP + + fac2f30e6d8613e23fcb84df14b589e515510e719c3510f91db48100d6ae9284d4b71f6267f634bcd571034c0583d3b88c3a4ddfb26e51b0f08c1042f7213ef9 + a0d55c2fbd3d94859c156e7f68033091430d523e374a7058cbcbe029cb9dc41c5c6c56560425c698438f66ab3754423f656885962ac40d8cd5aeb2f8039a77c9 + 1c4994e2f925e7ca16298d135a29b92f55ad15b821d47ef1677d472514a906a6957022ca8366b5f4d1f4b33c6d727eebd08bb3e9d47f67851b35ab7b8bc396b8 +) +noextract=('archlinux-bootstrap-2020.08.01-x86_64.tar.gz') +validpgpkeys=( + 647F28654894E3BD457199BE38DBBDC86092693E # kernel ) -sha512sums=(SKIP SKIP SKIP SKIP SKIP SKIP SKIP) - -if [[ " ${pkgname[@]} " =~ " kata-linux-container-git " ]]; then - source+=( - "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_kata_kernel_ver}.tar.xz" - "http://mirrors.evowise.com/archlinux/iso/2020.08.01/archlinux-bootstrap-2020.08.01-x86_64.tar.gz" - "http://mirrors.evowise.com/archlinux/iso/2020.08.01/archlinux-bootstrap-2020.08.01-x86_64.tar.gz.sig" - - "0001-osbuilder-goversion.patch" - "rootfs-builder-config.sh" - "rootfs-builder-Dockerfile.in" # unfit for use yet - "rootfs-builder-lib.sh" - ) - sha512sums+=( - fb9ebada932c17d0adbc099a1df31a7d97afe3be694665b1f8171e7159bda84a36a435ceecfdce6d492d8e5075ed4253c68029dcdf952e75a3fe7ee36646327b - 24044fb5a9870dbe13ec7eafb60d99e664cec10d50d80a73a0445d1368c0fa95881003d92e0a1c0446f76c1bbe89b098f35ceffd0ef24e9beaa51f1a83494b98 - SKIP - - 0cac0aa5d0f7f0d49da9185bc71ce05a089d6339ad0d660905e18724b30381cbe3fb84b56b0de21def793ca52c945f02b99f81a6b4e77e2398da250ec8e4ff6b - 375990194988a019f2429ed85eb996222929a028a52ec609de106df8939704db6654af6d92aec5e192693d7758fc9561f236bbb29df319c2d506b5b2d2b16553 - 352c9ac91eb03d5fd28da6e6f1d1fce7daa0d557d34457e624dadc0dd28e6051cdcf580029c793558980391d86df54d22b59daaf85b00590bec430c3f4f06c89 - e987501a16828636b3da5cfa7b4c3af5e981aab20dee4b97d10daf8625de92e77203f7ccbfa2beff8700b32371ffa4d9f94f97216fe6abb13a475984cdf5d6e3 - ) - noextract=('archlinux-bootstrap-2020.08.01-x86_64.tar.gz') - _build_artifacts="yes" -fi case "${CARCH}" in x86_64) _KARCH=x86_64;; @@ -70,30 +83,32 @@ pkgver(){ "$(git rev-parse --short HEAD)" } -prepare(){ - if [ "${_build_artifacts}" = "yes" ]; then - # kata-linux-container prep (ref: https://github.com/kata-containers/packaging/tree/master/kernel ) - cd "${srcdir}/linux-${_kata_kernel_ver}" - #for p in $(find "${srcdir}/packaging/obs-packaging/linux-container/patches" -type f -name "*.patch"); do - # patch -p1 <"${p}" - #done - - # kernel config prep from upstream ("${srcdir}/packaging/obs-packaging/linux-container/kata-linux-container.spec-template") - make -s mrproper - rm -f .config - - _KCONFIG="$(find "${srcdir}/packaging/kernel/configs" -type f -name "${_KARCH}_kata_kvm_${_kata_kernel_ver%.*}.x")" - if [ -z "${_KCONFIG}" ]; then - KCONFIG_CONFIG=.config ARCH=${_KARCH} scripts/kconfig/merge_config.sh -r -n "${srcdir}/packaging/kernel/configs/fragments/common/"*.conf "${srcdir}/packaging/kernel/configs/fragments/${_KARCH}/"*.conf - else - install -D -m 0644 "${_KCONFIG}" .config - fi - make -s ARCH="${_KARCH}" oldconfig - - # kata-container-image osbuilder fix - cd "${srcdir}/osbuilder" - patch -p1 < "${srcdir}/0001-osbuilder-goversion.patch" +_kernel_prepare(){ + # kata-linux-container prep (ref: https://github.com/kata-containers/packaging/tree/master/kernel ) + cd "${srcdir}/linux-${_kata_kernel_ver}" + #for p in $(find "${srcdir}/packaging/obs-packaging/linux-container/patches" -type f -name "*.patch"); do + # patch -p1 <"${p}" + #done + + # kernel config prep from upstream ("${srcdir}/packaging/obs-packaging/linux-container/kata-linux-container.spec-template") + make -s mrproper + rm -f .config + + _KCONFIG="$(find "${srcdir}/packaging/kernel/configs" -type f -name "${_KARCH}_kata_kvm_${_kata_kernel_ver%.*}.x")" + if [ -z "${_KCONFIG}" ]; then + KCONFIG_CONFIG=.config ARCH=${_KARCH} scripts/kconfig/merge_config.sh -r -n "${srcdir}/packaging/kernel/configs/fragments/common/"*.conf "${srcdir}/packaging/kernel/configs/fragments/${_KARCH}/"*.conf + else + install -D -m 0644 "${_KCONFIG}" .config fi + make -s ARCH="${_KARCH}" oldconfig +} + +prepare(){ + #_kernel_prepare + + # kata-container-image osbuilder fix + cd "${srcdir}/osbuilder" + patch -p1 < "${srcdir}/0001-osbuilder-goversion.patch" # kata-runtime makedep mkdir -p "${srcdir}/bin" @@ -106,37 +121,36 @@ prepare(){ done } -build(){ - cd "${srcdir}/src/${_gh_org}/agent" - echo "Building kata-agent…" - GOPATH="${srcdir}" LDFLAGS="" make +_kata_image_build(){ + # rootfs and initrd build (it's horrid, but somewhat works) + _ROOTFS_DIR="${srcdir}/osbuilder/rootfs-builder/rootfs" + + # build rootfs + install -D -m 0644 "${srcdir}/rootfs-builder-config.sh" "${srcdir}/osbuilder/rootfs-builder/archlinux/config.sh" + install -D -m 0644 "${srcdir}/rootfs-builder-lib.sh" "${srcdir}/osbuilder/rootfs-builder/archlinux/rootfs_lib.sh" - if [ "${_build_artifacts}" = "yes" ]; then - # kernel build - cd "${srcdir}/linux-${_kata_kernel_ver}" - echo "Building kata-linux-container…" - make -s ARCH="${_KARCH}" + cd "${srcdir}/osbuilder/rootfs-builder" + GOPATH="${srcdir}" AGENT_SOURCE_BIN="${srcdir}/src/${_gh_org}/agent/kata-agent" ROOTFS_DIR="${_ROOTFS_DIR}" ./rootfs.sh archlinux - # rootfs and initrd build (it's horrid, but somewhat works) - echo "Building kata-containers-image…" - _ROOTFS_DIR="${srcdir}/osbuilder/rootfs-builder/rootfs" + # rootfs image (need to bypass root requirement somehow) + cd "${srcdir}/osbuilder/image-builder" + ./image_builder.sh "${_ROOTFS_DIR}" - # build rootfs - install -D -m 0644 "${srcdir}/rootfs-builder-config.sh" "${srcdir}/osbuilder/rootfs-builder/archlinux/config.sh" - install -D -m 0644 "${srcdir}/rootfs-builder-Dockerfile.in" "${srcdir}/osbuilder/rootfs-builder/archlinux/Dockerfile.in" - install -D -m 0644 "${srcdir}/rootfs-builder-lib.sh" "${srcdir}/osbuilder/rootfs-builder/archlinux/rootfs_lib.sh" + # initrd + cd "${srcdir}/osbuilder/initrd-builder" + ./initrd_builder.sh "${_ROOTFS_DIR}" +} - cd "${srcdir}/osbuilder/rootfs-builder" - GOPATH="${srcdir}" AGENT_SOURCE_BIN="${srcdir}/src/${_gh_org}/agent/kata-agent" ROOTFS_DIR="${_ROOTFS_DIR}" ./rootfs.sh archlinux +build(){ + cd "${srcdir}/src/${_gh_org}/agent" + echo "Building kata-agent…" + GOPATH="${srcdir}" LDFLAGS="" make - # rootfs image (need to bypass root requirement somehow) - cd "${srcdir}/osbuilder/image-builder" - #./image_builder.sh "${_ROOTFS_DIR}" + # kernel build + #cd "${srcdir}/linux-${_kata_kernel_ver}" + #make -s ARCH="${_KARCH}" - # initrd - cd "${srcdir}/osbuilder/initrd-builder" - ./initrd_builder.sh "${_ROOTFS_DIR}" - fi + #_kata_image_build for i in ksm-throttler proxy runtime shim; do echo "Building kata-${i}…" diff --git a/rootfs-builder-Dockerfile.in b/rootfs-builder-Dockerfile.in deleted file mode 100644 index 9897e626ca7b..000000000000 --- a/rootfs-builder-Dockerfile.in +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (c) 2018 Intel Corporation -# -# SPDX-License-Identifier: Apache-2.0 - -#@distro@: docker image to be used to create a rootfs -#@OS_VERSION@: Docker image version to build this dockerfile -from archlinux/base:latest - -# This dockerfile needs to provide all the componets need to build a rootfs -# Install any package need to create a rootfs (package manager, extra tools) - -# RUN commands - -# This will install the proper golang to build Kata components -@INSTALL_GO@ |