This can probably be better but...
---
kernel.spec | 112 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 56 insertions(+), 56 deletions(-)
diff --git a/kernel.spec b/kernel.spec
index ff5734e..1e38fbe 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -1,6 +1,3 @@
-# We have to override the new %%install behavior because, well... the kernel is special.
-%global __spec_install_pre %{___build_pre}
-
Summary: The Linux kernel
# For a stable, released kernel, released_kernel should be 1. For rawhide
@@ -1386,6 +1383,8 @@ cd ..
###
%build
+TARGET=$PWD/buildroot-%{rpmversion}-%{pkg_release}
+
%if %{with_sparse}
%define sparse_mflags C=1
%endif
@@ -1457,36 +1456,36 @@ BuildKernel() {
# Start installing the results
%if %{with_debuginfo}
- mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/boot
- mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path}
+ mkdir -p $TARGET%{debuginfodir}/boot
+ mkdir -p $TARGET%{debuginfodir}/%{image_install_path}
%endif
- 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
+ mkdir -p $TARGET/%{image_install_path}
+ install -m 644 .config $TARGET/boot/config-$KernelVer
+ install -m 644 System.map $TARGET/boot/System.map-$KernelVer
# We estimate the size of the initramfs because rpm needs to take this size
# into consideration when performing disk space calculations. (See bz #530778)
- dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20
+ dd if=/dev/zero of=$TARGET/boot/initramfs-$KernelVer.img bs=1M count=20
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 $TARGET/%{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
+ $TARGET/%{image_install_path}/$InstallName-$KernelVer
+ chmod 755 $TARGET/%{image_install_path}/$InstallName-$KernelVer
- mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
+ mkdir -p $TARGET/lib/modules/$KernelVer
# Override $(mod-fw) because we don't want it to install any firmware
# we'll get it from the linux-firmware package and we don't want conflicts
- make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install
KERNELRELEASE=$KernelVer mod-fw=
+ make -s ARCH=$Arch INSTALL_MOD_PATH=$TARGET modules_install KERNELRELEASE=$KernelVer
mod-fw=
%ifarch %{vdso_arches}
- make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install
KERNELRELEASE=$KernelVer
+ make -s ARCH=$Arch INSTALL_MOD_PATH=$TARGET vdso_install KERNELRELEASE=$KernelVer
if [ ! -s ldconfig-kernel.conf ]; then
echo > ldconfig-kernel.conf "\
# Placeholder file, no vDSO hwcap entries used in this kernel."
fi
%{__install} -D -m 444 ldconfig-kernel.conf \
- $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
+ $TARGET/etc/ld.so.conf.d/kernel-$KernelVer.conf
%endif
# And save the headers/makefiles etc for building modules against
@@ -1496,52 +1495,52 @@ BuildKernel() {
# * 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 $TARGET/lib/modules/$KernelVer/build
+ rm -f $TARGET/lib/modules/$KernelVer/source
+ mkdir -p $TARGET/lib/modules/$KernelVer/build
+ (cd $TARGET/lib/modules/$KernelVer ; ln -s build source)
# dirs for additional modules per module-init-tools, kbuild/modules.txt
- mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
- mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
+ mkdir -p $TARGET/lib/modules/$KernelVer/extra
+ mkdir -p $TARGET/lib/modules/$KernelVer/updates
# 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*"` $TARGET/lib/modules/$KernelVer/build
+ cp Module.symvers $TARGET/lib/modules/$KernelVer/build
+ cp System.map $TARGET/lib/modules/$KernelVer/build
if [ -s Module.markers ]; then
- cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
+ cp Module.markers $TARGET/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 $TARGET/lib/modules/$KernelVer/build/Documentation
+ rm -rf $TARGET/lib/modules/$KernelVer/build/scripts
+ rm -rf $TARGET/lib/modules/$KernelVer/build/include
+ cp .config $TARGET/lib/modules/$KernelVer/build
+ cp -a scripts $TARGET/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 $TARGET/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 $TARGET/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
+ rm -f $TARGET/lib/modules/$KernelVer/build/scripts/*.o
+ rm -f $TARGET/lib/modules/$KernelVer/build/scripts/*/*.o
%ifarch ppc
- cp -a --parents arch/powerpc/lib/crtsavres.[So]
$RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp -a --parents arch/powerpc/lib/crtsavres.[So]
$TARGET/lib/modules/$KernelVer/build/
%endif
if [ -d arch/%{asmarch}/include ]; then
- cp -a --parents arch/%{asmarch}/include
$RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp -a --parents arch/%{asmarch}/include $TARGET/lib/modules/$KernelVer/build/
fi
- cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
+ cp -a include $TARGET/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 $TARGET/lib/modules/$KernelVer/build/Makefile
$TARGET/lib/modules/$KernelVer/build/include/linux/version.h
+ touch -r $TARGET/lib/modules/$KernelVer/build/.config
$TARGET/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 $TARGET/lib/modules/$KernelVer/build/.config
$TARGET/lib/modules/$KernelVer/build/include/config/auto.conf
%if %{with_debuginfo}
if test -s vmlinux.id; then
- cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id
+ cp vmlinux.id $TARGET/lib/modules/$KernelVer/build/vmlinux.id
else
echo >&2 "*** ERROR *** no vmlinux build ID! ***"
exit 1
@@ -1550,11 +1549,11 @@ BuildKernel() {
#
# save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
#
- mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
- cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
+ mkdir -p $TARGET%{debuginfodir}/lib/modules/$KernelVer
+ cp vmlinux $TARGET%{debuginfodir}/lib/modules/$KernelVer
%endif
- find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f
>modnames
+ find $TARGET/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
@@ -1567,7 +1566,7 @@ BuildKernel() {
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 > $TARGET/lib/modules/$KernelVer/modules.$1
}
collect_modules_list networking \
@@ -1583,7 +1582,7 @@ BuildKernel() {
rm -f modinfo
while read i
do
- echo -n "${i#$RPM_BUILD_ROOT/lib/modules/$KernelVer/} " >> modinfo
+ echo -n "${i#$TARGET/lib/modules/$KernelVer/} " >> modinfo
/sbin/modinfo -l $i >> modinfo
done < modnames
@@ -1596,26 +1595,24 @@ BuildKernel() {
# remove files that will be auto generated by depmod at rpm -i time
for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap
isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
do
- rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$i
+ rm -f $TARGET/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 $TARGET/usr/src/kernels
+ mv $TARGET/lib/modules/$KernelVer/build $TARGET/$DevelDir
+ ln -sf ../../..$DevelDir $TARGET/lib/modules/$KernelVer/build
# prune junk from kernel-devel
- find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -exec rm -f {} \;
+ find $TARGET/usr/src/kernels -name ".*.cmd" -exec rm -f {} \;
}
###
# DO it...
###
-# prepare directories
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/boot
-mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
+rm -rf $TARGET
+mkdir -p $TARGET
cd linux-%{kversion}.%{_target_cpu}
@@ -1706,6 +1703,9 @@ find Documentation -type d | xargs chmod u+w
%install
+rm -rf $RPM_BUILD_ROOT/
+cp -ar buildroot-%{rpmversion}-%{pkg_release}/ $RPM_BUILD_ROOT/
+
cd linux-%{kversion}.%{_target_cpu}
%if %{with_doc}
Show replies by date