[CentOS-devel] kernel-sourcecode RPM?

Charlie Brady charlieb-centos-devel at budge.apana.org.au
Tue Nov 22 12:00:51 UTC 2005


On Tue, 22 Nov 2005, Karanbir Singh wrote:

> Charlie Brady wrote:
>>> The kernel-sourcecode package has been changed by RH so as to be
>>> absolutely worthless :)
>>> 
>>> rpmbuild -bp --target i686 kernel-2.6.spec
>>> 
>>> (or i586, x86_64, etc.)
>> 
>> 
>> [Arch shouldn't matter for -bp, as %prep is architecture agnostic.]
>
> Have you actually tried this out before ?
>
> try this :
> -------------
> rpmbuild -bp --target i686 kernel-2.6.spec
> mv ../BUILD/kernel-2.6.9 ../BUILD/kernel-2.6.9.i686
>
> rpmbuild -bp --target x86_64 kernel-2.6.spec
>
> cd ../BUILD
> diff -uNr kernel-2.6.9.i686 kernel-2.6.9 | wc -l
> 15431

Did you look at the diff? There's lots like this:

...
0000000 -0500
@@ -1,7 +1,7 @@
  #
  # Automatically generated make config: don't edit
  # Linux kernel version: 2.6.9-ac11
-# Tue Nov 22 06:42:42 2005
+# Tue Nov 22 06:46:36 2005
  #
  CONFIG_X86=y
  CONFIG_MMU=y
...

> -------------
>
> Can we, therefore, safely assume that source setup after a '-bp' is not that 
> arch independent really?

Not based on the non-zero size of the diff, no. But on the content of the 
diff - yes.

>> Is the kernel-sourcecode RPM you built anywhere that I can get it?
>
> There is no kernel-sourcecode built by the CentOS buildsystem by default ( 
> anymore ).

Why not? The reasons I've been given seem to be invalid.

> If you really need it - go grab the .src.rpm and rebuild to suite your role / 
> application requirement.

Yes, I can do that. But having the kernel-sourcode RPM I've had previously 
would be much more convenient. It means that I can build kernel-module-xxx 
RPMs using something like this:

...
BuildRequires: kernel-source = %{kversion}-%{krelease}
...
%prep
%setup -n %{name}-%{version} -c -T
ln -s %{_usrsrc}/linux-%{kernel}/drivers/net/appletalk/*.h .
ln -s %{_usrsrc}/linux-%{kernel}/drivers/net/appletalk/*.c .
for i in ipddp cops ltpc ; do echo obj-m += $i.o ; done > Makefile

%build
%{__rm} -rf %{buildroot}
echo -e "\nDriver version: %{version}\nKernel version: %{kernel}\n"

%{__make} KERNELRELEASE=%{kernel} -C /usr/src/kernels/%{kernel}-%{_target_cpu} M=`pwd` clean
%{__make} KERNELRELEASE=%{kernel} -C /usr/src/kernels/%{kernel}-%{_target_cpu} M=`pwd`
%{__install} -d -m0755 %{buildroot}%{_libmoddir}/%{kernel}%{moduledir}/
%{__install} -m0644 %{modules} 
%{buildroot}%{_libmoddir}/%{kernel}%{moduledir}
...




More information about the CentOS-devel mailing list