make -s CONFIG_DEBUG_SECTION_MISMATCH=y ARCH=$Arch %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
# Start installing the results
- mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
- install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
- install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
- touch $RPM_BUILD_ROOT/boot/initrd-$KernelVer.img
+ mkdir -p %{buildroot}/%{image_install_path}
+ install -m 644 .config %{buildroot}/boot/config-$KernelVer
+ install -m 644 System.map %{buildroot}/boot/System.map-$KernelVer
+ touch %{buildroot}/boot/initrd-$KernelVer.img
if [ -f arch/$Arch/boot/zImage.stub ]; then
- cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
+ cp arch/$Arch/boot/zImage.stub %{buildroot}/%{image_install_path}/zImage.stub-$KernelVer || :
fi
$CopyKernel $KernelImage \
- $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
- chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
+ %{buildroot}/%{image_install_path}/$InstallName-$KernelVer
+ chmod 755 %{buildroot}/%{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
+ mkdir -p %{buildroot}/usr/lib/modules/$KernelVer
+ make -s ARCH=$Arch INSTALL_MOD_PATH=%{buildroot}/usr modules_install KERNELRELEASE=$KernelVer
# And save the headers/makefiles etc for building modules against
#
# This all looks scary, but the end result is supposed to be:
# * all Makefile/Kconfig files
# * all script/ files
- rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
- rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
- mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
- (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
+ rm -f %{buildroot}/usr/lib/modules/$KernelVer/build
+ rm -f %{buildroot}/usr/lib/modules/$KernelVer/source
+ mkdir -p %{buildroot}/usr/lib/modules/$KernelVer/build
+ (cd %{buildroot}/usr/lib/modules/$KernelVer ; ln -s build source)
# dirs for additional modules per module-init-tools, kbuild/modules.txt
# first copy everything
- cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
- cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
- cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
+ cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %{buildroot}/usr/lib/modules/$KernelVer/build
+ cp Module.symvers %{buildroot}/usr/lib/modules/$KernelVer/build
+ cp System.map %{buildroot}/usr/lib/modules/$KernelVer/build
if [ -s Module.markers ]; then
- cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
+ cp Module.markers %{buildroot}/usr/lib/modules/$KernelVer/build
fi
# then drop all but the needed Makefiles/Kconfig files
- rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
- rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
- rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
- cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
- cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
+ rm -rf %{buildroot}/usr/lib/modules/$KernelVer/build/Documentation
+ rm -rf %{buildroot}/usr/lib/modules/$KernelVer/build/scripts
+ rm -rf %{buildroot}/usr/lib/modules/$KernelVer/build/include
+ cp .config %{buildroot}/usr/lib/modules/$KernelVer/build
+ cp -a scripts %{buildroot}/usr/lib/modules/$KernelVer/build
if [ -d arch/%{_arch}/scripts ]; then
- cp -a arch/%{_arch}/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
+ cp -a arch/%{_arch}/scripts %{buildroot}/usr/lib/modules/$KernelVer/build/arch/%{_arch} || :
fi
if [ -f arch/%{_arch}/*lds ]; then
- cp -a arch/%{_arch}/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
+ cp -a arch/%{_arch}/*lds %{buildroot}/usr/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
fi
- rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
- rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
- cp -a --parents arch/x86/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
- mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
+ rm -f %{buildroot}/usr/lib/modules/$KernelVer/build/scripts/*.o
+ rm -f %{buildroot}/usr/lib/modules/$KernelVer/build/scripts/*/*.o
+ cp -a --parents arch/x86/include %{buildroot}/usr/lib/modules/$KernelVer/build
+ mkdir -p %{buildroot}/usr/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
+ cp -a acpi asm-generic config crypto drm generated keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound video trace %{buildroot}/usr/lib/modules/$KernelVer/build/include
# Make sure the Makefile and version.h have a matching timestamp so that
# external modules can be built
- touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/version.h
- touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/autoconf.h
+ touch -r %{buildroot}/usr/lib/modules/$KernelVer/build/Makefile %{buildroot}/usr/lib/modules/$KernelVer/build/include/linux/version.h
+ touch -r %{buildroot}/usr/lib/modules/$KernelVer/build/.config %{buildroot}/usr/lib/modules/$KernelVer/build/include/linux/autoconf.h
# Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
- cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf
+ cp %{buildroot}/usr/lib/modules/$KernelVer/build/.config %{buildroot}/usr/lib/modules/$KernelVer/build/include/config/auto.conf
cd ..
#
# save the vmlinux file for kernel debugging into the kernel-*-devel rpm
#
- cp vmlinux $RPM_BUILD_ROOT/lib/modules/$KernelVer
+ cp vmlinux %{buildroot}/usr/lib/modules/$KernelVer
- find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
+ find %{buildroot}/usr/lib/modules/$KernelVer -name "*.ko" -type f >modnames
# mark modules executable so that strip-to-file can strip them
xargs --no-run-if-empty chmod u+x < modnames
collect_modules_list()
{
sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
- LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
+ LC_ALL=C sort -u > %{buildroot}/usr/lib/modules/$KernelVer/modules.$1
}
collect_modules_list networking \
# remove files that will be auto generated by depmod at rpm -i time
for i in alias ccwmap dep ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols usbmap
do
- rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$i
+ rm -f %{buildroot}/usr/lib/modules/$KernelVer/modules.$i
done
# Move the devel headers out of the root file system
- mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
- mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
- ln -sf ../../..$DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
+ mkdir -p %{buildroot}/usr/src/kernels
+ mv %{buildroot}/usr/lib/modules/$KernelVer/build %{buildroot}/$DevelDir
+ ln -sf ../../..$DevelDir %{buildroot}/usr/lib/modules/$KernelVer/build
fi
}
###
# prepare directories
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/boot
+rm -rf %{buildroot}
+mkdir -p %{buildroot}/boot
%ifarch x86_64
%install
-rm -rf $RPM_BUILD_ROOT/lib/firmware
+rm -rf %{buildroot}/usr/lib/firmware
###
###
%clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
###
### scripts
#/boot/symvers-%{KVERREL}%{?2:-%{2}}.gz\
/boot/config-%{KVERREL}%{?2:-%{2}}\
%{?-a:%{-a*}}\
-%dir /lib/modules/%{KVERREL}%{?2:-%{2}}\
-/lib/modules/%{KVERREL}%{?2:-%{2}}/kernel\
-/lib/modules/%{KVERREL}%{?2:-%{2}}/build\
-/lib/modules/%{KVERREL}%{?2:-%{2}}/source\
-/lib/modules/%{KVERREL}%{?2:-%{2}}/modules.*\
+%dir /usr/lib/modules/%{KVERREL}%{?2:-%{2}}\
+/usr/lib/modules/%{KVERREL}%{?2:-%{2}}/kernel\
+/usr/lib/modules/%{KVERREL}%{?2:-%{2}}/build\
+/usr/lib/modules/%{KVERREL}%{?2:-%{2}}/source\
+/usr/lib/modules/%{KVERREL}%{?2:-%{2}}/modules.*\
%ghost /boot/initrd-%{KVERREL}%{?2:-%{2}}.img\
%{?-e:%{-e*}}\
%{expand:%%files -n kernel-%{?2:%{2}-}devel}\
%defattr(-,root,root)\
%verify(not mtime) /usr/src/kernels/%{KVERREL}%{?2:-%{2}}\
-/lib/modules/%{KVERREL}%{?2:-%{2}}/vmlinux \
+/usr/lib/modules/%{KVERREL}%{?2:-%{2}}/vmlinux \
%endif\
%{nil}