X-Git-Url: http://git.ipfire.org/?p=ipfire-3.x.git;a=blobdiff_plain;f=kernel%2Fkernel.nm;h=9f2ab359fe80a02411e58fdd0c02c53e89819112;hp=a9199fd42f95bef793fc4edd8ffbe17b52b87521;hb=f55e2a21c45014acc599899915578df6395137dd;hpb=69f50c3067fcadd4db91a39328a4f6e3a36dc9c5 diff --git a/kernel/kernel.nm b/kernel/kernel.nm index a9199fd42..9f2ab359f 100644 --- a/kernel/kernel.nm +++ b/kernel/kernel.nm @@ -4,8 +4,8 @@ ############################################################################### name = kernel -version = 3.9.3 -release = 0.1 +version = 4.20 +release = 6 thisapp = linux-%{version} maintainer = Arne Fitzenreiter @@ -25,28 +25,24 @@ end localversion = %{release}.%{DISTRO_DISTTAG}.%{DISTRO_ARCH} fullver = %{version}-%{localversion} -source_dl = http://www.kernel.org/pub/linux/kernel/v3.x/ +source_dl = http://www.kernel.org/pub/linux/kernel/v4.x/ sources = %{thisapp}.tar.xz build - # icecream cannot be used to compile the kernel. - # Because the PaX patch does use GCC plugins to harden the kernel which - # are not available on the remote compilers, we need to disable it here. - export ICECC=no - kernel_logo = /usr/share/pixmaps/kernel-logo.ppm 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-plugin-devel gettext + hostname libunwind-devel ncurses-devel net-tools @@ -54,64 +50,37 @@ build pciutils-devel perl python-devel + openssl-devel slang-devel xmlto + xz /sbin/depmod %{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}" == "armv5tel" - # ERROR Currently all kernel images are disabled, because they - # won't build with the grsecurity patch. - - # Build a kernel for Marvell Kirkwood-based devices. - build_kernel_kirkwood = 1 - - kernel_arch = arm - kernel_target = zImage + if "%{DISTRO_ARCH}" == "aarch64" + build_kernel_default = 1 - # http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091404.html - kernel_build_flags = KALLSYMS_EXTRA_PASS=1 + kernel_arch = arm64 + kernel_target = Image.gz end if "%{DISTRO_ARCH}" == "armv7hl" # Build the default unified kernel. build_kernel_default = 1 - # Build a kernel for Samsung's Exynos SoCs. - build_kernel_exynos = 1 - - kernel_arch = arm kernel_target = zImage end @@ -125,34 +94,14 @@ build kernels += default end - # Build exynos kernel. - if "%{build_kernel_exynos}" == "1" - kernels += exynos - end - - # Build legacy kernel. - if "%{build_kernel_legacy}" == "1" - kernels += legacy - end - - # Build ARM kirkwood kernel. - if "%{build_kernel_kirkwood}" == "1" - kernels += kirkwood - end - 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 @@ -211,13 +160,13 @@ 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 \ + %{PARALLELISMFLAGS} # Compile Flattened Device Tree database case "${DISTRO_ARCH}" in - arm*) + aarch64|arm*) make ARCH=%{kernel_arch} dtbs mkdir -pv %{BUILDROOT}/boot/dtb-${fullversion} @@ -243,14 +192,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." \ @@ -290,7 +231,7 @@ build %{BUILDROOT}/usr/lib/modules/${fullversion}/build/include/config/auto.conf find %{BUILDROOT}/usr/lib/modules/${fullversion} -name "*.ko" -type f | \ - xargs chmod u+x + xargs --no-run-if-empty chmod u+x # Move all development files to /usr/src. mkdir -p %{BUILDROOT}/usr/src/kernels @@ -304,26 +245,22 @@ 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. # 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} - popd - elif [ "%{DISTRO_ARCH}" = "i686" ]; then - pushd tools/power/cpupower/debug/i386 - make %{MAKETUNING} - popd - fi + pushd tools/thermal/tmon + make + popd end install @@ -347,31 +284,16 @@ build rm -rfv %{BUILDROOT}/lib/firmware # Install tools. - make -C tools/perf DESTDIR=%{BUILDROOT} WERROR=0 \ - HAVE_CPLUS_DEMANGLE=1 prefix=/usr perfexecdir=lib/perf-core \ - install install-man 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* + + # tmon + pushd tools/thermal/tmon + make INSTALL_ROOT=%{BUILDROOT} install + popd end end @@ -442,6 +364,10 @@ packages kernel release %{kernel_release}. end + provides + kernel-devel = %{thisver} + end + filter_requires perl>=[0-9]\:.* end @@ -461,6 +387,10 @@ packages 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} @@ -472,6 +402,10 @@ packages 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} @@ -494,54 +428,6 @@ packages end end - if "%{build_kernel_exynos}" == "1" - package kernel-exynos - template KERNEL - - kernel_name = kernel-exynos - kernel_release = %{fullver}.exynos - end - - package kernel-exynos-devel - template KERNELDEVEL - - kernel_name = kernel-exynos - kernel_release = %{fullver}.exynos - 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_kirkwood}" == "1" - package kernel-kirkwood - template KERNEL - - kernel_name = kernel-kirkwood - kernel_release = %{fullver}.kirkwood - end - - package kernel-kirkwood-devel - template KERNELDEVEL - - kernel_name = kernel-kirkwood - kernel_release = %{fullver}.kirkwood - end - end - package kernel-headers summary = Header files of the kernel release %{fullver}. desciption = %{summary}