From 781217ea97bf3a944b3e6202f52f85c295dd7c65 Mon Sep 17 00:00:00 2001 From: Federico Di Pierro Date: Mon, 27 Jan 2025 09:12:30 +0100 Subject: [PATCH 1/2] fix(pkg/driverbuilder): fixed archlinux kernel URLs support. Signed-off-by: Federico Di Pierro --- pkg/driverbuilder/builder/archlinux.go | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pkg/driverbuilder/builder/archlinux.go b/pkg/driverbuilder/builder/archlinux.go index 49c7526e..e2aee3ef 100644 --- a/pkg/driverbuilder/builder/archlinux.go +++ b/pkg/driverbuilder/builder/archlinux.go @@ -75,10 +75,10 @@ func (c *archlinux) URLs(kr kernelrelease.KernelRelease) ([]string, error) { urls = append( urls, fmt.Sprintf( - "%s/linux-headers-%s%s-%s.pkg.tar.%s", + "%s/linux-headers-%s-%s-%s.pkg.tar.%s", baseURL, - kr.Fullversion, - kr.FullExtraversion, + kr.String(), + kr.KernelVersion, kr.Architecture.ToNonDeb(), compressionAlgo, ), @@ -90,10 +90,10 @@ func (c *archlinux) URLs(kr kernelrelease.KernelRelease) ([]string, error) { urls = append( urls, fmt.Sprintf( - "%s/linux-hardened-headers-%s%s-%s.pkg.tar.%s", + "%s/linux-hardened-headers-%s-%s-%s.pkg.tar.%s", baseURL, - kr.Fullversion, - kr.FullExtraversion, + kr.String(), + kr.KernelVersion, kr.Architecture.ToNonDeb(), compressionAlgo, ), @@ -105,10 +105,10 @@ func (c *archlinux) URLs(kr kernelrelease.KernelRelease) ([]string, error) { urls = append( urls, fmt.Sprintf( - "%s/linux-zen-headers-%s%s-%s.pkg.tar.%s", + "%s/linux-zen-headers-%s-%s-%s.pkg.tar.%s", baseURL, - kr.Fullversion, - kr.FullExtraversion, + kr.String(), + kr.KernelVersion, kr.Architecture.ToNonDeb(), compressionAlgo, ), @@ -120,10 +120,10 @@ func (c *archlinux) URLs(kr kernelrelease.KernelRelease) ([]string, error) { urls = append( urls, fmt.Sprintf( - "%s/linux-lts-headers-%s%s-%s.pkg.tar.%s", + "%s/linux-lts-headers-%s-%s-%s.pkg.tar.%s", baseURL, - kr.Fullversion, - kr.FullExtraversion, + kr.String(), + kr.KernelVersion, kr.Architecture.ToNonDeb(), compressionAlgo, ), @@ -136,10 +136,10 @@ func (c *archlinux) URLs(kr kernelrelease.KernelRelease) ([]string, error) { urls = append( urls, fmt.Sprintf( - "%s/linux-aarch64-headers-%s%s-%s.pkg.tar.%s", + "%s/linux-aarch64-headers-%s-%s-%s.pkg.tar.%s", baseURL, - kr.Fullversion, - kr.FullExtraversion, + kr.String(), + kr.KernelVersion, kr.Architecture.ToNonDeb(), compressionAlgo, ), From d560183830224a68d0abf0004b47b6bd8594c2e4 Mon Sep 17 00:00:00 2001 From: Federico Di Pierro Date: Mon, 27 Jan 2025 09:44:52 +0100 Subject: [PATCH 2/2] chore(docker,pkg): added new archlinux builder image to build recent archlinux kernels (>= 6.10). Signed-off-by: Federico Di Pierro --- docker/builders/builder-arch-x86_64_gcc14.2.1.Dockerfile | 9 +++++++++ pkg/driverbuilder/builder/builders.go | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 docker/builders/builder-arch-x86_64_gcc14.2.1.Dockerfile diff --git a/docker/builders/builder-arch-x86_64_gcc14.2.1.Dockerfile b/docker/builders/builder-arch-x86_64_gcc14.2.1.Dockerfile new file mode 100644 index 00000000..c7021784 --- /dev/null +++ b/docker/builders/builder-arch-x86_64_gcc14.2.1.Dockerfile @@ -0,0 +1,9 @@ +FROM archlinux:base-devel-20250119.0.299327 + +LABEL maintainer="cncf-falco-dev@lists.cncf.io" + +RUN pacman -Sy && pacman -Sy --noconfirm cmake pahole clang llvm git cpio wget openssl bc + + +# Properly create soft link +RUN ln -s /usr/bin/gcc /usr/bin/gcc-14.2.1 diff --git a/pkg/driverbuilder/builder/builders.go b/pkg/driverbuilder/builder/builders.go index 18269882..916bf083 100644 --- a/pkg/driverbuilder/builder/builders.go +++ b/pkg/driverbuilder/builder/builders.go @@ -220,6 +220,9 @@ type GCCVersionRequestor interface { func defaultGCC(kr kernelrelease.KernelRelease) semver.Version { switch kr.Major { case 6: + if kr.Minor >= 10 { + return semver.Version{Major: 14, Minor: 2, Patch: 1} + } if kr.Minor >= 5 { return semver.Version{Major: 13} } @@ -239,7 +242,7 @@ func defaultGCC(kr kernelrelease.KernelRelease) semver.Version { case 2: return semver.Version{Major: 4, Minor: 8} default: - return semver.Version{Major: 13} + return semver.Version{Major: 14, Minor: 2, Patch: 1} } }