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

Reply via email to