]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blobdiff - kernel/kernel.nm
kernel: Update to 3.13.2.
[people/ms/ipfire-3.x.git] / kernel / kernel.nm
index 31febfa5a6133f4339e1b61165d3100632529c7e..1650e89107a0902dc94fea83aca4240b09f20608 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = kernel
-version    = 3.9.4
-release    = 0.1
+version    = 3.13.2
+release    = 1
 thisapp    = linux-%{version}
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
@@ -107,9 +107,7 @@ build
        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
+               build_kernel_lpae = 1
 
                kernel_arch = arm
                kernel_target = zImage
@@ -125,26 +123,30 @@ 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 lpae kernel
+       if "%{build_kernel_lpae}" == "1"
+               kernels += lpae
+       end
+
        # Build ARM kirkwood kernel.
        if "%{build_kernel_kirkwood}" == "1"
                kernels += kirkwood
        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
+               sed -e "s/-Werror//g" -i grsecurity/Makefile || :
 
                # Disable the colorize plugin.
                # It's generally very nice but it clutters our
@@ -185,6 +187,10 @@ 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
@@ -311,19 +317,43 @@ build
                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}
+                       make %{MAKETUNING} centrino-decode powernow-k8-decode
                        popd
                elif [ "%{DISTRO_ARCH}" = "i686" ]; then
                        pushd tools/power/cpupower/debug/i386
-                       make %{MAKETUNING}
+                       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
        end
 
        install
@@ -347,9 +377,7 @@ 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
+               %{perf_make} DESTDIR=%{BUILDROOT} install-bin install-python_ext
 
                # cpupower
                make -C tools/power/cpupower DESTDIR=%{BUILDROOT} libdir=%{libdir} \
@@ -372,6 +400,24 @@ build
                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
+               popd
        end
 end
 
@@ -442,6 +488,10 @@ packages
                        kernel release %{kernel_release}.
                end
 
+               provides
+                       kernel-devel = %{thisver}
+               end
+
                filter_requires
                        perl>=[0-9]\:.*
                end
@@ -461,6 +511,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 +526,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,35 +552,35 @@ packages
                end
        end
 
-       if "%{build_kernel_exynos}" == "1"
-               package kernel-exynos
+       if "%{build_kernel_legacy}" == "1"
+               package kernel-legacy
                        template KERNEL
 
-                       kernel_name = kernel-exynos
-                       kernel_release = %{fullver}.exynos
+                       kernel_name = kernel-legacy
+                       kernel_release = %{fullver}.legacy
                end
 
-               package kernel-exynos-devel
+               package kernel-legacy-devel
                        template KERNELDEVEL
 
-                       kernel_name = kernel-exynos
-                       kernel_release = %{fullver}.exynos
+                       kernel_name = kernel-legacy
+                       kernel_release = %{fullver}.legacy
                end
        end
 
-       if "%{build_kernel_legacy}" == "1"
-               package kernel-legacy
+       if "%{build_kernel_lpae}" == "1"
+               package kernel-lpae
                        template KERNEL
 
-                       kernel_name = kernel-legacy
-                       kernel_release = %{fullver}.legacy
+                       kernel_name = kernel-lpae
+                       kernel_release = %{fullver}.lpae
                end
 
-               package kernel-legacy-devel
+               package kernel-lpae-devel
                        template KERNELDEVEL
 
-                       kernel_name = kernel-legacy
-                       kernel_release = %{fullver}.legacy
+                       kernel_name = kernel-lpae
+                       kernel_release = %{fullver}.lpae
                end
        end