Fixes OBS build for ARM N900. This will not affect existing x86 or x86_64 builds.
Signed-off-by: Roger Quadros <[email protected]> --- Makefile | 5 ++++ Makefile.config | 9 ++----- kernel.spec | 63 ++++++++++++++++++++++++++++++++++----------------- kernel.spec.in | 67 ++++++++++++++++++++++++++++++++++++------------------- makespec.pl | 2 +- 5 files changed, 95 insertions(+), 51 deletions(-) diff --git a/Makefile b/Makefile index ba92df0..d8deed5 100644 --- a/Makefile +++ b/Makefile @@ -26,3 +26,8 @@ menlow: kernel.spec.in series makespec.pl @touch MENLOW; @perl makespec.pl < kernel.spec.in > kernel-menlow.spec ; @rm MENLOW; + +n900: kernel.spec.in series makespec.pl + @touch N900; + @perl makespec.pl < kernel.spec.in > kernel-n900.spec ; + @rm N900; diff --git a/Makefile.config b/Makefile.config index 27f8071..3cabb6a 100644 --- a/Makefile.config +++ b/Makefile.config @@ -10,7 +10,7 @@ CONFIGFILES = \ $(CFG)-shcdk.config \ $(CFG)-aava.config \ $(CFG)-ivi.config \ - $(CFG)-n900.config + $(CFG)-arm-n900.config PLATFORMS = x86 TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS))) @@ -39,8 +39,5 @@ kernel-shcdk.config: config-shcdk config-generic kernel-aava.config: config-aava kernel-shcdk.config perl merge.pl $^ > $@ -tmp-arm-config: config-arm-generic config-generic - perl merge.pl $^ > $@ - -kernel-n900.config: config-arm-n900 tmp-arm-config - perl merge.pl $^ > $@ +kernel-arm-n900.config: config-arm-n900 + cp $^ $@ diff --git a/kernel.spec b/kernel.spec index a1dfb3b..a5c62fe 100644 --- a/kernel.spec +++ b/kernel.spec @@ -60,7 +60,7 @@ Summary: The Linux kernel (the core of the Linux operating system) %define all_x86 i386 i586 i686 %{ix86} -%define all_arm arm armv5el +%define all_arm %{arm} # Overrides for generic default options %define all_arch_configs kernel-*.config @@ -81,10 +81,10 @@ Summary: The Linux kernel (the core of the Linux operating system) %endif %ifarch %{all_arm} -%define all_arch_configs kernel-*.config +%define all_arch_configs kernel-arm-*.config %define image_install_path boot -%define kernel_image vmlinux -%define make_target vmlinux +%define kernel_image arch/arm/boot/zImage +%define make_target zImage %endif %define oldconfig_target nonint_oldconfig @@ -384,11 +384,18 @@ This package contains the kernel optimized for the Moorsetown platform for Aava %description ivi This package contains the kernel optimized for In Vehicle Infotainment segments -%else +%endif + +%ifarch %{all_arm} + +#N900 ARM variant %define variant_summary Kernel for the Nokia N900 -%kernel_variant_package n900 -%description n900 +%kernel_variant_package arm-n900 +%description arm-n900 This package contains the kernel optimized for the Nokia N900 device + +#Put other ARM variants here + %endif @@ -676,13 +683,13 @@ for cfg in kernel-*.config; do done # now run oldconfig over all the config files -for i in *.config +for i in %{all_arch_configs} do mv $i .config Arch="x86" - if [ `echo $i | grep -c n900` -eq 1 ]; then - Arch="arm" - fi +%ifarch %{all_arm} + Arch="arm" +%endif # make oldconfig > /dev/null echo Doing $i make ARCH=$Arch %{oldconfig_target} > /dev/null @@ -739,9 +746,6 @@ BuildKernel() { cp configs/$Config .config Arch="x86" - if [ `echo $Config | grep -c n900` -eq 1 ]; then - Arch="arm" - fi %ifarch %{all_arm} Arch="arm" %endif @@ -766,7 +770,9 @@ BuildKernel() { mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer +%ifnarch %{all_arm} make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer +%endif # And save the headers/makefiles etc for building modules against # @@ -801,7 +807,12 @@ BuildKernel() { fi rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o +%ifarch %{all_x86} cp -a --parents arch/x86/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build +%endif +%ifarch %{all_arm} + cp -a --parents arch/arm/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build +%endif mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include cd include cp -a acpi asm-generic config crypto drm generated keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound video trace $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include @@ -877,8 +888,10 @@ BuildKernel %make_target %kernel_image shcdk BuildKernel %make_target %kernel_image aava BuildKernel %make_target %kernel_image netbook BuildKernel %make_target %kernel_image ivi -%else -BuildKernel %make_target %kernel_image n900 +%endif + +%ifarch %all_arm +BuildKernel %make_target %kernel_image arm-n900 %endif cd tools/perf @@ -994,17 +1007,21 @@ fi}\ %kernel_variant_preun ivi %kernel_variant_post -v ivi -%else +%endif -%kernel_variant_preun n900 -%kernel_variant_post -v n900 +%ifarch %{all_arm} + +%kernel_variant_preun arm-n900 +%kernel_variant_post -v arm-n900 %endif +%ifnarch %{all_arm} if [ -x /sbin/ldconfig ] then /sbin/ldconfig -X || exit $? fi +%endif ### ### file lists @@ -1034,7 +1051,9 @@ fi /lib/modules/%{KVERREL}%{?2:-%{2}}/kernel\ /lib/modules/%{KVERREL}%{?2:-%{2}}/build\ /lib/modules/%{KVERREL}%{?2:-%{2}}/source\ +%ifnarch %{all_arm}\ /lib/modules/%{KVERREL}%{?2:-%{2}}/vdso\ +%endif\ /lib/modules/%{KVERREL}%{?2:-%{2}}/modules.block\ /lib/modules/%{KVERREL}%{?2:-%{2}}/modules.dep.bin\ /lib/modules/%{KVERREL}%{?2:-%{2}}/modules.alias.bin\ @@ -1061,8 +1080,10 @@ fi %kernel_variant_files 1 shcdk %kernel_variant_files 1 aava %kernel_variant_files 1 ivi -%else -%kernel_variant_files 1 n900 +%endif + +%ifarch %{all_arm} +%kernel_variant_files 1 arm-n900 %endif diff --git a/kernel.spec.in b/kernel.spec.in index 9bdfc7f..daaea1b 100644 --- a/kernel.spec.in +++ b/kernel.spec.in @@ -60,7 +60,7 @@ Summary: The Linux kernel (the core of the Linux operating system) %define all_x86 i386 i586 i686 %{ix86} -%define all_arm arm armv5el +%define all_arm %{arm} # Overrides for generic default options %define all_arch_configs kernel-*.config @@ -81,10 +81,10 @@ Summary: The Linux kernel (the core of the Linux operating system) %endif %ifarch %{all_arm} -%define all_arch_configs kernel-*.config +%define all_arch_configs kernel-arm-*.config %define image_install_path boot -%define kernel_image vmlinux -%define make_target vmlinux +%define kernel_image arch/arm/boot/zImage +%define make_target zImage %endif %define oldconfig_target nonint_oldconfig @@ -246,11 +246,18 @@ This package contains the kernel optimized for the Menlow platform %description ivi This package contains the kernel optimized for In Vehicle Infotainment segments -%else -%define variant_summary Kernel for the Nokia N900 -%kernel_variant_package n900 -%description n900 -This package contains the kernel optimized for the Nokia N900 device +%endif + +%ifarch %{all_arm} + +@@N900 #N900 ARM variant +@@N900 %define variant_summary Kernel for the Nokia N900 +@@N900 %kernel_variant_package arm-n900 +@@N900 %description arm-n900 +@@N900 This package contains the kernel optimized for the Nokia N900 device + +#Put other ARM variants here + %endif @@ -336,13 +343,13 @@ for cfg in kernel-*.config; do done # now run oldconfig over all the config files -for i in *.config +for i in %{all_arch_configs} do mv $i .config Arch="x86" - if [ `echo $i | grep -c n900` -eq 1 ]; then - Arch="arm" - fi +%ifarch %{all_arm} + Arch="arm" +%endif # make oldconfig > /dev/null echo Doing $i make ARCH=$Arch %{oldconfig_target} > /dev/null @@ -399,9 +406,6 @@ BuildKernel() { cp configs/$Config .config Arch="x86" - if [ `echo $Config | grep -c n900` -eq 1 ]; then - Arch="arm" - fi %ifarch %{all_arm} Arch="arm" %endif @@ -426,7 +430,9 @@ BuildKernel() { mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer +%ifnarch %{all_arm} make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer +%endif # And save the headers/makefiles etc for building modules against # @@ -461,7 +467,12 @@ BuildKernel() { fi rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o +%ifarch %{all_x86} cp -a --parents arch/x86/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build +%endif +%ifarch %{all_arm} + cp -a --parents arch/arm/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build +%endif mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include cd include cp -a acpi asm-generic config crypto drm generated keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound video trace $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include @@ -538,8 +549,10 @@ cd linux-%{kversion} @@N BuildKernel %make_target %kernel_image netbook @@W BuildKernel %make_target %kernel_image menlow @@I BuildKernel %make_target %kernel_image ivi -%else -@@A BuildKernel %make_target %kernel_image n900 +%endif + +%ifarch %all_arm +@@N900 BuildKernel %make_target %kernel_image arm-n900 %endif cd tools/perf @@ -657,17 +670,21 @@ fi}\ @@I %kernel_variant_preun ivi @@I %kernel_variant_post -v ivi -%else +%endif -@@A %kernel_variant_preun n900 -@@A %kernel_variant_post -v n900 +%ifarch %{all_arm} + +@@N900 %kernel_variant_preun arm-n900 +@@N900 %kernel_variant_post -v arm-n900 %endif +%ifnarch %{all_arm} if [ -x /sbin/ldconfig ] then /sbin/ldconfig -X || exit $? fi +%endif ### ### file lists @@ -697,7 +714,9 @@ fi /lib/modules/%{KVERREL}%{?2:-%{2}}/kernel\ /lib/modules/%{KVERREL}%{?2:-%{2}}/build\ /lib/modules/%{KVERREL}%{?2:-%{2}}/source\ +%ifnarch %{all_arm}\ /lib/modules/%{KVERREL}%{?2:-%{2}}/vdso\ +%endif\ /lib/modules/%{KVERREL}%{?2:-%{2}}/modules.block\ /lib/modules/%{KVERREL}%{?2:-%{2}}/modules.dep.bin\ /lib/modules/%{KVERREL}%{?2:-%{2}}/modules.alias.bin\ @@ -725,8 +744,10 @@ fi @@M %kernel_variant_files 1 shcdk @@M %kernel_variant_files 1 aava @@I %kernel_variant_files 1 ivi -%else -@@A %kernel_variant_files 1 n900 +%endif + +%ifarch %{all_arm} +@@N900 %kernel_variant_files 1 arm-n900 %endif diff --git a/makespec.pl b/makespec.pl index 79cb8d6..5c432fb 100644 --- a/makespec.pl +++ b/makespec.pl @@ -107,7 +107,7 @@ while (<>) { print "$1\n"; next; } - if ($want_n900 > 0 && $line =~ /\...@\@A (.*)/) { + if ($want_n900 > 0 && $line =~ /\...@\@N900 (.*)/) { print "$1\n"; next; } -- 1.6.0.4 _______________________________________________ MeeGo-dev mailing list [email protected] http://lists.meego.com/listinfo/meego-dev
