Hi Folks,
not sure if this is the right list to send to, but attached are a couple of patches to allow for rpmbuild based building instead of OBS for kernel-dev.

The two diff files are from osc diff
and applies on devel:kernel/kernel-dev-n900
offline build can be done (for e.g. on ubuntu:)

rpmbuild -ba --target="armv7l" --define="CROSS_COMPILE arm-none-linux-gnueabi-" kernel-dev-n900.spec

This probably might be especially helpful for chipset packagers before they upload their set into obs for a full build.

--
Regards,
Nishanth Menon
Index: kernel-dev.spec.in
===================================================================
--- kernel-dev.spec.in     (revision e82edeba18d791eb50d893da90e51f49) 
+++ kernel-dev.spec.in     (working copy) 
@@ -39,11 +39,11 @@
 
 
 %if 0%{?rcrev}
-%define rctag ~rc%rcrev
+%define rctag .rc%rcrev
 %endif
 
 %if !0%{?rcrev}
-%define rctag ~rc0
+%define rctag .rc0
 %endif
 
 # Set rpm version accordingly
@@ -90,11 +90,23 @@
 @@A ExclusiveArch: %{all_x86}
 @@I ExclusiveArch: %{all_x86}
 @@S ExclusiveArch: %{all_x86} %{all_arm}
+
+
+# Common handling
+%if "%{?CROSS_COMPILE}"
+%define _CROSS %{CROSS_COMPILE}
+%else
+%define _CROSS " "
+%endif
+
 #
 # Packages that need to be installed before the kernel is, because the %post
 # scripts use them.
 #
+%if "%{?CROSS_COMPILE}"
+%else
 %define kernel_prereq  fileutils, module-init-tools, fastinit, mkinitrd >= 6.0.39-1
+%endif
 
 #
 # This macro does requires, provides, conflicts, obsoletes for a kernel package.
@@ -130,15 +142,18 @@
 Version: %{rpmversion}
 Release: 6
 
+
+#
+# List the packages used during the kernel build
+#
+%if "%{?CROSS_COMPILE}"
+%else
 %kernel_reqprovconf
-
-#
-# List the packages used during the kernel build
-#
 BuildRequires: module-init-tools, bash >= 2.03, sh-utils
 BuildRequires:  findutils,  make >= 3.78
 BuildRequires: linux-firmware
 BuildRequires: elfutils-libelf-devel binutils-devel newt-devel
+%endif
 
 Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2
 Source1: series
@@ -402,7 +417,7 @@
 
     if [ "$Arch" = "$TargetArch" ]; then
         echo BUILDING A KERNEL FOR ${Flavour} %{_target_cpu}... ${KernelVer}
-        echo USING ARCH=$Arch
+        echo USING ARCH=$Arch CROSS_COMPILE=%{_CROSS}
 
         # make sure EXTRAVERSION says what we want it to say
         perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = ${ExtraVer}/" Makefile
@@ -413,8 +428,8 @@
         cp configs/$Config .config
 
         make -s ARCH=$Arch oldconfig > /dev/null
-        make -s CONFIG_DEBUG_SECTION_MISMATCH=y ARCH=$Arch %{?_smp_mflags} $MakeTarget %{?sparse_mflags}
-        make -s CONFIG_DEBUG_SECTION_MISMATCH=y ARCH=$Arch %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
+        make -s CONFIG_DEBUG_SECTION_MISMATCH=y CROSS_COMPILE=%{_CROSS} ARCH=$Arch %{?_smp_mflags} $MakeTarget %{?sparse_mflags}
+        make -s CONFIG_DEBUG_SECTION_MISMATCH=y CROSS_COMPILE=%{_CROSS} ARCH=$Arch %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
 
         # Start installing the results
         mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
@@ -429,9 +444,9 @@
         chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
 
         mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
-        make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer
+        make -s  CROSS_COMPILE=%{_CROSS} 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
+        make -s CROSS_COMPILE=%{_CROSS} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
 %endif
 
         # And save the headers/makefiles etc for building modules against

Index: kernel-dev.spec
===================================================================
--- kernel-dev.spec.in     (revision e82edeba18d791eb50d893da90e51f49) 
+++ kernel-dev.spec.in     (working copy) 
@@ -798,7 +798,7 @@
 
   make ARCH=$Arch listnewconfig &> /tmp/configs
   export conf=`cat /tmp/configs | grep CONFIG | wc -l`
-  if [$conf -gt 0 ]; then
+  if [ $conf -gt 0 ]; then
 	  make ARCH=$Arch listnewconfig  
 	  exit 1
   fi

_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to