]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - kernel/kernel.nm
kernel: Update to 5.3.7
[ipfire-3.x.git] / kernel / kernel.nm
index f408d7138378da1bcfce154f78afe79343931b4b..161b81009364435321b053d8e9135886a9c5bceb 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = kernel
-version    = 4.1.3
+version    = 5.3.7
 release    = 1
 thisapp    = linux-%{version}
 
@@ -25,7 +25,7 @@ end
 localversion = %{release}.%{DISTRO_DISTTAG}.%{DISTRO_ARCH}
 fullver      = %{version}-%{localversion}
 
-source_dl    = http://www.kernel.org/pub/linux/kernel/v4.x/
+source_dl    = http://www.kernel.org/pub/linux/kernel/v5.x/
 sources      = %{thisapp}.tar.xz
 
 build
@@ -33,16 +33,16 @@ build
 
        requires
                asciidoc
-               audit-devel
                bc
-               binutils >= 2.23.51.0.3-3
+               binutils >= 2.25
                binutils-devel
                bison
                elfutils-devel
                flex
-               gcc >= 4.9
+               gcc >= 8
                gcc-plugin-devel
                gettext
+               hostname
                libunwind-devel
                ncurses-devel
                net-tools
@@ -50,6 +50,8 @@ build
                pciutils-devel
                perl
                python-devel
+               rsync
+               openssl-devel
                slang-devel
                xmlto
                xz
@@ -58,60 +60,28 @@ build
                %{kernel_logo}
        end
 
-       # i686 needs librmi for cpupower.
-       if "%{DISTRO_ARCH}" == "i686"
-               requires += liblrmi-devel
-       end
-
        # A list of kernels to build.
        kernels =
 
-       # Arguments that are passed to the kernel build command.
-       kernel_build_flags =
-
+       kernel_arch = %{DISTRO_PLATFORM}
        kernel_target = bzImage
        kernel_image = arch/%{kernel_arch}/boot/%{kernel_target}
 
-       if "%{DISTRO_ARCH}" == "i686"
-               # Build a default and legacy kernel for the
-               # i686 architecture.
-               build_kernel_default = 1
-               build_kernel_legacy = 1
-
-               kernel_arch = x86
-       end
-
        if "%{DISTRO_ARCH}" == "x86_64"
                build_kernel_default = 1
-
-               kernel_arch = x86
        end
 
        if "%{DISTRO_ARCH}" == "aarch64"
-               # Disable for now because it won't compile
-               build_kernel_default = 0
+               build_kernel_default = 1
 
                kernel_arch = arm64
                kernel_target = Image.gz
        end
 
-       if "%{DISTRO_ARCH}" == "armv5tel"
-               # Build a kernel for Marvell Kirkwood-based devices.
-               build_kernel_default = 1
-
-               kernel_arch = arm
-               kernel_target = zImage
-
-               # http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091404.html
-               kernel_build_flags = KALLSYMS_EXTRA_PASS=1
-       end
-
        if "%{DISTRO_ARCH}" == "armv7hl"
                # Build the default unified kernel.
                build_kernel_default = 1
-               build_kernel_lpae = 1
 
-               kernel_arch = arm
                kernel_target = zImage
        end
 
@@ -125,33 +95,14 @@ build
                kernels += default
        end
 
-       # Build legacy kernel.
-       if "%{build_kernel_legacy}" == "1"
-               kernels += legacy
-       end
-
-       # Build lpae kernel
-       if "%{build_kernel_lpae}" == "1"
-               kernels += lpae
-       end
-
-       perf_make = make %{MAKETUNING} -C tools/perf V=1 WERROR=0 \
-               NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 \
-               NO_STRLCPY=1 NO_BIONIC=1 prefix=%{prefix} perfexecdir=lib/perf-core
-
        prepare_cmds
-               rm -f %{DIR_APP}/localversion-grsec
-
-               # Remove -Werror flag to fix ARMv5 build.
-               sed -e "s/-Werror//g" -i grsecurity/Makefile || :
-
                # Disable the colorize plugin.
                # It's generally very nice but it clutters our
                # logfiles.
                sed -e "/^COLORIZE_PLUGIN_CFLAGS/d" \
                        -i Makefile
 
-               sed -e "s/^HOSTCFLAGS.*=.*/& -fPIC/g" -i Makefile
+               sed -e "s/\$(HOST_LFS_CFLAGS)/& -fPIC/g" -i Makefile
 
                cp -vf %{kernel_logo} \
                        drivers/video/logo/logo_linux_clut224.ppm
@@ -184,10 +135,6 @@ build
                for kernel in %{kernels}; do
                        configure_kernel ${kernel}
                done
-
-               # Tools
-               # Prevent perf from installing any files in /usr/libexec
-               sed -i %{DIR_APP}/tools/perf/config/Makefile -e "s/libexec/lib/g"
        end
 
        build
@@ -214,9 +161,9 @@ build
                        cat .config
 
                        # Run the build.
-                       make ARCH=%{kernel_arch} oldnoconfig >/dev/null
-                       make ARCH=%{kernel_arch} CC="gcc -fno-PIE" %{kernel_target} modules \
-                               %{kernel_build_flags} %{PARALLELISMFLAGS}
+                       make ARCH=%{kernel_arch} olddefconfig >/dev/null
+                       make ARCH=%{kernel_arch} %{kernel_target} modules \
+                               KERNELRELEASE=${fullversion} %{PARALLELISMFLAGS}
 
                        # Compile Flattened Device Tree database
                        case "${DISTRO_ARCH}" in
@@ -246,19 +193,6 @@ build
                        make ARCH=%{kernel_arch} INSTALL_MOD_PATH=%{BUILDROOT}/usr mod-fw= V=1 \
                                KERNELRELEASE=${fullversion} modules_install
 
-                       # Install vdso.
-                       case "%{DISTRO_ARCH}" in
-                               i686)
-                                       make ARCH=%{kernel_arch} INSTALL_MOD_PATH=%{BUILDROOT} \
-                                               KERNELRELEASE=${fullversion} vdso_install
-                                       ;;
-                       esac
-
-                       # Create an empty settings file for dracut
-                       mkdir -p %{BUILDROOT}/etc/ld.so.conf.d
-                       echo "# Placeholder file, no vDSO hwcap entries used in this kernel." \
-                               > %{BUILDROOT}/etc/ld.so.conf.d/kernel-${fullversion}.conf
-
                        # And now the scary looking part.
                        #
                        # Recreate source and build links.
@@ -307,47 +241,19 @@ build
                                -exec chmod 644 {} \;
 
                        find %{BUILDROOT}/usr/src/kernels -name ".*.cmd" -exec rm -f {} \;
+
+                       # remove device tree compiler because there are dead links
+                       rm -rf %{BUILDROOT}/usr/src/kernels/*/scripts/dtc
                }
 
                for kernel in %{kernels}; do
                        build_kernel ${kernel}
                done
 
-               # Build tools.
-               # perf
-               %{perf_make} DESTDIR=%{BUILDROOT} all
-
                # cpupower
                chmod +x tools/power/cpupower/utils/version-gen.sh
                make -C tools/power/cpupower CPUFREQ_BENCH=false %{PARALLELISMFLAGS}
 
-               if [ "%{DISTRO_ARCH}" = "x86_64" ]; then
-                       pushd tools/power/cpupower/debug/x86_64
-                       make %{MAKETUNING} centrino-decode powernow-k8-decode
-                       popd
-               elif [ "%{DISTRO_ARCH}" = "i686" ]; then
-                       pushd tools/power/cpupower/debug/i386
-                       make %{MAKETUNING} centrino-decode powernow-k8-decode
-                       popd
-               fi
-
-               # Should be built for all x86 architectures
-               if [ "%{DISTRO_ARCH}" = "x86_64" ]; then
-                       # Won't compile on i686
-                       # x86_energy_perf_policy.c: In function ‘validate_cpuid’:
-                       # x86_energy_perf_policy.c:154:2: error: PIC register clobbered by ‘ebx’ in ‘asm’
-                       #   asm("cpuid" : "=a" (fms), "=c" (ecx), "=d" (edx) : "a" (1) : "ebx");
-                       #   ^
-                       pushd tools/power/x86/x86_energy_perf_policy
-                       make
-                       popd
-
-                       # Same as above
-                       pushd tools/power/x86/turbostat
-                       make
-                       popd
-               fi
-
                pushd tools/thermal/tmon
                make
                popd
@@ -374,43 +280,12 @@ build
                rm -rfv %{BUILDROOT}/lib/firmware
 
                # Install tools.
-               %{perf_make} DESTDIR=%{BUILDROOT} install-bin install-python_ext
-
                # cpupower
                make -C tools/power/cpupower DESTDIR=%{BUILDROOT} libdir=%{libdir} \
                        mandir=%{mandir} CPUFREQ_BENCH=false install
 
-               if [ "%{DISTRO_ARCH}" = "x86_64" ]; then
-                       pushd tools/power/cpupower/debug/x86_64
-                       install -m 755 centrino-decode \
-                               %{BUILDROOT}/usr/bin/centrino-decode
-                       install -m 755 powernow-k8-decode \
-                               %{BUILDROOT}/usr/bin/powernow-k8-decode
-                       popd
-               elif [ "%{DISTRO_ARCH}" = "i686" ]; then
-                       pushd tools/power/cpupower/debug/i386
-                       install -m 755 centrino-decode \
-                               %{BUILDROOT}/usr/bin/centrino-decode
-                       install -m 755 powernow-k8-decode \
-                               %{BUILDROOT}/usr/bin/powernow-k8-decode
-                       popd
-               fi
-
                chmod 0755 %{BUILDROOT}%{libdir}/libcpupower.so*
 
-               # This should be built for all x86 architectures
-               if [ "%{DISTRO_ARCH}" = "x86_64" ]; then
-                       mkdir -pv %{BUILDROOT}%{mandir}/man8
-
-                       pushd tools/power/x86/x86_energy_perf_policy
-                       make DESTDIR=%{BUILDROOT} install
-                       popd
-
-                       pushd tools/power/x86/turbostat
-                       make DESTDIR=%{BUILDROOT} install
-                       popd
-               fi
-
                # tmon
                pushd tools/thermal/tmon
                make INSTALL_ROOT=%{BUILDROOT} install
@@ -435,8 +310,9 @@ packages
 
                requires
                        dracut
-                       grubby
+                       kernel-updater
                        linux-firmware
+                       intel-microcode
                end
 
                files
@@ -444,13 +320,11 @@ packages
                        /boot/dtb-%{kernel_release}
                        /boot/vmlinuz-%{kernel_release}
                        /boot/initramfs-%{kernel_release}.img
-                       /etc/ld.so.conf.d/kernel-%{kernel_release}.conf
                        /usr/lib/modules/%{kernel_release}
                end
 
                _posttrans
-                       /sbin/new-kernel-pkg --package %{kernel_name} --mkinitrd --dracut --depmod --update %{kernel_release}
-                       /sbin/new-kernel-pkg --package %{kernel_name} --rpmposttrans %{kernel_release}
+                       kernel-updater install %{kernel_release}
                end
 
                script posttransin
@@ -461,16 +335,8 @@ packages
                        %{_posttrans}
                end
 
-               script postin
-                       /sbin/new-kernel-pkg --package %{kernel_name} --install %{kernel_release}
-               end
-
-               script postup
-                       /sbin/new-kernel-pkg --package %{kernel_name} --install %{kernel_release}
-               end
-
-               script preun
-                       /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{kernel_release}
+               script postun
+                       kernel-updater uninstall %{kernel_release}
                end
        end
 
@@ -549,38 +415,6 @@ packages
                end
        end
 
-       if "%{build_kernel_legacy}" == "1"
-               package kernel-legacy
-                       template KERNEL
-
-                       kernel_name = kernel-legacy
-                       kernel_release = %{fullver}.legacy
-               end
-
-               package kernel-legacy-devel
-                       template KERNELDEVEL
-
-                       kernel_name = kernel-legacy
-                       kernel_release = %{fullver}.legacy
-               end
-       end
-
-       if "%{build_kernel_lpae}" == "1"
-               package kernel-lpae
-                       template KERNEL
-
-                       kernel_name = kernel-lpae
-                       kernel_release = %{fullver}.lpae
-               end
-
-               package kernel-lpae-devel
-                       template KERNELDEVEL
-
-                       kernel_name = kernel-lpae
-                       kernel_release = %{fullver}.lpae
-               end
-       end
-
        package kernel-headers
                summary = Header files of the kernel release %{fullver}.
                desciption = %{summary}