]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - kernel/kernel.nm
json-c: Update to version 0.17-20230812
[ipfire-3.x.git] / kernel / kernel.nm
index f90f5123b37cf9b66e92513377afd5dd7103bf6c..04e2b245442d6e5b7d0915d9457610d5018dbce1 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = kernel
-version    = 5.2.11
+version    = 6.6
 release    = 1
 thisapp    = linux-%{version}
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
 groups     = System/Kernels
-url        = http://www.kernel.org/
+url        = https://www.kernel.org/
 license    = GPLv2
 summary    = The Linux kernel.
 
@@ -25,12 +25,10 @@ end
 localversion = %{release}.%{DISTRO_DISTTAG}.%{DISTRO_ARCH}
 fullver      = %{version}-%{localversion}
 
-source_dl    = http://www.kernel.org/pub/linux/kernel/v5.x/
+source_dl    = https://www.kernel.org/pub/linux/kernel/v6.x/
 sources      = %{thisapp}.tar.xz
 
 build
-       kernel_logo = /usr/share/pixmaps/kernel-logo.ppm
-
        requires
                asciidoc
                bc
@@ -45,55 +43,31 @@ build
                hostname
                libunwind-devel
                ncurses-devel
-               net-tools
                newt-devel
+               openssl
+               /usr/bin/openssl
                pciutils-devel
                perl
-               python-devel
+               python3-devel
+               rsync
                openssl-devel
                slang-devel
                xmlto
                xz
+               zstd
 
                /sbin/depmod
-               %{kernel_logo}
        end
 
-       # A list of kernels to build.
-       kernels =
-
        kernel_arch = %{DISTRO_PLATFORM}
        kernel_target = bzImage
        kernel_image = arch/%{kernel_arch}/boot/%{kernel_target}
 
-       if "%{DISTRO_ARCH}" == "x86_64"
-               build_kernel_default = 1
-       end
-
        if "%{DISTRO_ARCH}" == "aarch64"
-               build_kernel_default = 1
-
                kernel_arch = arm64
                kernel_target = Image.gz
        end
 
-       if "%{DISTRO_ARCH}" == "armv7hl"
-               # Build the default unified kernel.
-               build_kernel_default = 1
-
-               kernel_target = zImage
-       end
-
-       # mkimage is a requirement to build uImage images.
-       if "%{kernel_target}" == "uImage"
-               requires += u-boot-tools
-       end
-
-       # Build default kernel.
-       if "%{build_kernel_default}" == "1"
-               kernels += default
-       end
-
        prepare_cmds
                # Disable the colorize plugin.
                # It's generally very nice but it clutters our
@@ -101,10 +75,14 @@ build
                sed -e "/^COLORIZE_PLUGIN_CFLAGS/d" \
                        -i Makefile
 
-               sed -e "s/\$(HOST_LFS_CFLAGS)/& -fPIC/g" -i Makefile
+               # Use our linker flags while building the compiler plugins.
+               sed -i '/^plugin_ldflags\s\+=/ s/$/ %{LDFLAGS}/' \
+                       scripts/gcc-plugins/Makefile
 
-               cp -vf %{kernel_logo} \
-                       drivers/video/logo/logo_linux_clut224.ppm
+               # Remove Python 2 interpreter from a few scripts
+               sed -e "s@^#!.*python@#!%{python3}@" \
+                       -i scripts/show_delta \
+                       -i scripts/tracing/draw_functrace.py
 
                # Get rid of unwanted files resulting from patch fuzz.
                find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
@@ -121,19 +99,17 @@ build
                configure_kernel() {
                        local flavour=${1}
                        local suffix
-                       if [ "${flavour}" != "default" ]; then
+                       if [ "${flavour}" != "generic" ]; then
                                suffix="-${flavour}"
                        fi
 
-                       scripts/configure --kernel-dir=%{DIR_APP} \
+                       bash scripts/configure --kernel-dir=%{DIR_APP} \
                                merge %{DISTRO_ARCH} ${flavour} %{DIR_APP}/configs/config.${flavour}
                }
 
                # Generate configuration files for all kernels we are going to
                # build.
-               for kernel in %{kernels}; do
-                       configure_kernel ${kernel}
-               done
+               configure_kernel "generic"
        end
 
        build
@@ -142,7 +118,7 @@ build
                        local suffix
                        local localversion="%{localversion}"
                        local fullversion="%{fullver}"
-                       if [ "${flavour}" != "default" ]; then
+                       if [ "${flavour}" != "generic" ]; then
                                suffix="-${flavour}"
                                localversion="${localversion}.${flavour}"
                                fullversion="${fullversion}.${flavour}"
@@ -160,13 +136,16 @@ build
                        cat .config
 
                        # Run the build.
-                       make ARCH=%{kernel_arch} olddefconfig >/dev/null
+                       make ARCH=%{kernel_arch} HOSTCFLAGS="%{CFLAGS}" \
+                               HOSTLDFLAGS="%{LDFLAGS}" olddefconfig >/dev/null
+
                        make ARCH=%{kernel_arch} %{kernel_target} modules \
-                               KERNELRELEASE=${fullversion} %{PARALLELISMFLAGS}
+                               KERNELRELEASE=${fullversion} HOSTCFLAGS="%{CFLAGS}" \
+                               HOSTLDFLAGS="%{LDFLAGS}" %{PARALLELISMFLAGS}
 
                        # Compile Flattened Device Tree database
                        case "${DISTRO_ARCH}" in
-                               aarch64|arm*)
+                               aarch64)
                                        make ARCH=%{kernel_arch} dtbs
 
                                        mkdir -pv %{BUILDROOT}/boot/dtb-${fullversion}
@@ -185,8 +164,8 @@ build
                        install -m 644 .config %{BUILDROOT}/boot/config-${fullversion}
                        install -m 644 System.map %{BUILDROOT}/boot/System.map-${fullversion}
 
-                       # Create empty initramfs (20M).
-                       dd if=/dev/zero of=%{BUILDROOT}/boot/initramfs-${fullversion}.img bs=1M count=20
+                       # Create empty initramfs (70M).
+                       dd if=/dev/zero of=%{BUILDROOT}/boot/initramfs-${fullversion}.img bs=1M count=70
 
                        # Install modules.
                        make ARCH=%{kernel_arch} INSTALL_MOD_PATH=%{BUILDROOT}/usr mod-fw= V=1 \
@@ -245,9 +224,8 @@ build
                        rm -rf %{BUILDROOT}/usr/src/kernels/*/scripts/dtc
                }
 
-               for kernel in %{kernels}; do
-                       build_kernel ${kernel}
-               done
+               # Build the kernel
+               build_kernel "generic"
 
                # cpupower
                chmod +x tools/power/cpupower/utils/version-gen.sh
@@ -293,37 +271,53 @@ build
 end
 
 packages
-       template KERNEL
-               kernel_name = kernel
-               kernel_release = %{fullver}
+       package kernel-tools
+               summary = Assortment of tools for the Linux kernel.
+               description = %{summary}
+
+               filter_requires
+                       perl>=[0-9]\:.*
+               end
+       end
 
-               summary = The Linux kernel %{kernel_release}.
+       package kernel-tools-debuginfo
+               template DEBUGINFO
+       end
+
+       package kernel
+               summary = The Linux kernel %{fullver}
 
                prerequires
                        /sbin/depmod
                end
 
                provides
-                       kernel=%{kernel_release}
+                       kernel = %{fullver}
+
+                       # Used to lock the running kernel from being uninstalled
+                       kernel(%{fullver})
                end
 
                requires
                        dracut
                        kernel-updater
                        linux-firmware
-                       intel-microcode
+                       wireless-regdb
+
+                       # Install intel-microcode only on x86_64
+                       (intel-microcode if arch(x86_64))
                end
 
                files
-                       /boot/System.map-%{kernel_release}
-                       /boot/dtb-%{kernel_release}
-                       /boot/vmlinuz-%{kernel_release}
-                       /boot/initramfs-%{kernel_release}.img
-                       /usr/lib/modules/%{kernel_release}
+                       /boot/System.map-%{fullver}
+                       /boot/dtb-%{fullver}
+                       /boot/vmlinuz-%{fullver}
+                       /boot/initramfs-%{fullver}.img
+                       /usr/lib/modules/%{fullver}
                end
 
                _posttrans
-                       kernel-updater install %{kernel_release}
+                       kernel-updater install %{fullver}
                end
 
                script posttransin
@@ -335,110 +329,44 @@ packages
                end
 
                script postun
-                       kernel-updater uninstall %{kernel_release}
+                       kernel-updater uninstall %{fullver}
                end
        end
 
-       template KERNELDEVEL
-               kernel_release = %{fullver}
-
-               summary = Development files of kernel-%{kernel_release}.
+       package kernel-devel
+               summary = Development files of kernel-%{fullver}
                description
                        %{summary}
 
                        Install this package in order to compile modules for
-                       kernel release %{kernel_release}.
+                       kernel release %{fullver}.
                end
 
                provides
                        kernel-devel = %{thisver}
                end
 
+               requires
+                       kernel = %{thisver}
+               end
+
                filter_requires
                        perl>=[0-9]\:.*
                end
 
                files
-                       /usr/lib/modules/%{kernel_release}/build
-                       /usr/lib/modules/%{kernel_release}/source
-                       /usr/src/kernels/%{kernel_release}
-               end
-       end
-
-       if "%{build_kernel_default}" == "1"
-               if "%{DISTRO_ARCH}" == "armv7hl"
-                       package kernel
-                               template KERNEL
-
-                               kernel_name = kernel
-                               kernel_release = %{fullver}
-
-                               # Replace the Exynos kernel.
-                               obsoletes += kernel-exynos < %{kernel_release}
-                               conflicts += kernel-exynos < %{kernel_release}
-
-                               # Replace the OMAP kernel.
-                               obsoletes += kernel-omap < %{kernel_release}
-                               conflicts += kernel-omap < %{kernel_release}
-                       end
-
-                       package kernel-devel
-                               template KERNELDEVEL
-
-                               kernel_name = kernel
-                               kernel_release = %{fullver}
-
-                               # Replace the Exynos kernel.
-                               obsoletes += kernel-exynos-devel < %{kernel_release}
-                               conflicts += kernel-exynos-devel < %{kernel_release}
-
-                               # Replace the OMAP kernel.
-                               obsoletes += kernel-omap-devel < %{kernel_release}
-                               conflicts += kernel-omap-devel < %{kernel_release}
-                       end
-
-               else
-                       package kernel
-                               template KERNEL
-
-                               kernel_name = kernel
-                               kernel_release = %{fullver}
-                       end
-
-                       package kernel-devel
-                               template KERNELDEVEL
-
-                               kernel_name = kernel
-                               kernel_release = %{fullver}
-                       end
+                       /usr/lib/modules/%{fullver}/build
+                       /usr/lib/modules/%{fullver}/source
+                       /usr/src/kernels/%{fullver}
                end
        end
 
        package kernel-headers
-               summary = Header files of the kernel release %{fullver}.
+               summary = Header files of the kernel release %{fullver}
                desciption = %{summary}
 
                files
                        /usr/include
                end
        end
-
-       package kernel-tools
-               summary = Assortment of tools for the Linux kernel.
-               description = %{summary}
-
-               filter_requires
-                       perl>=[0-9]\:.*
-               end
-
-               files
-                       /
-                       !/boot
-                       !/usr/include
-                       !/usr/lib/modules
-                       !/usr/src
-                       !/usr/src/debug
-                       !/usr/lib/debug
-               end
-       end
 end