void-packages/templates/kernel26.tmpl
Juan RP 0021648313 kernel26: update to 2.6.27.9, add unionfs/squashfs modules.
--HG--
extra : convert_revision : 210b5580d2b2d0d348a44d774e8ad84783d577e6
2008-12-16 20:55:14 +01:00

95 lines
3 KiB
Cheetah

# Template file for 'kernel26'
pkgname=kernel26
version=2.6.27.9
# Vanilla kernel + UnionFS + SquashFS patches.
patch_files="
unionfs-2.5_for_2.6.27-rc6.diff.bz2
unionfs-2.5_fix_for_2.6.27.diff
squashfs3.4-2.6.27-rc4.diff.bz2"
patch_args="-p1"
wrksrc="linux-$version"
distfiles="http://www.kernel.org/pub/linux/kernel/v2.6/linux-$version.tar.bz2"
build_style=gnu_makefile
make_build_target="bzImage modules"
make_install_target="modules_install
INSTALL_MOD_PATH=$XBPS_DESTDIR/$pkgname-$version"
short_desc="The Linux kernel (2.6 branch)"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=fd710a841be6119cdd2c42f92ca405265fb156e279006bb89bb874e4198b3e5e
long_desc="
This package provides the linux kernel image and kernel modules
from the 2.6 branch."
build_depends="perl-5.10.0 module-init-tools-3.5"
pre_build()
{
# If there's a file called kernel26-<arch>-dotconfig, use it to
# configure the kernel; otherwise run the menuconfig target.
local arch=
if [ "$xbps_machine" != "x86_64" ]; then
arch=i386
else
arch=x86_64
fi
if [ -f $XBPS_TEMPLATESDIR/kernel26-$arch-dotconfig ]; then
msg_normal "Detected a .config file for your arch, using it."
cp -f $XBPS_TEMPLATESDIR/kernel26-$arch-dotconfig \
$wrksrc/.config
make oldconfig
else
make menuconfig
fi
}
post_install()
{
local destdir=$XBPS_DESTDIR/$pkgname-$version
local incdirs="acpi asm-generic asm-x86 config linux math-emu media \
net pcmcia scsi sound video"
local _archs="alpha arm arm26 avr32 blackfin cris frv h8300 ia64 m32r \
m68k* mips mn10300 parisc powerpc ppc s390 sh* sparc* \
um v850 xtensa"
#
# Install bzImage, vmlinux and copy necessary stuff to build packages
# that require this. This is based off of kernel26 pkgbuild from
# Archlinux.
#
install -d $destdir/lib $destdir/boot
cd $wrksrc || exit 1
install -m 644 arch/x86/boot/bzImage $destdir/boot/vmlinuz-$version
install -m 644 System.map $destdir/boot/System.map-$version
install -D -m 644 Makefile $destdir/usr/src/linux-$version/Makefile
install -D -m 644 kernel/Makefile \
$destdir/usr/src/linux-$version/kernel/Makefile
install -D -m 644 .config $destdir/usr/src/linux-$version/.config
for i in ${incdirs}; do
cp -a include/$i $destdir/usr/src/linux-$version/include
done
install -D -m 644 Module.symvers \
$destdir/usr/src/linux-$version/Module.symvers
cp -a scripts $destdir/usr/src/linux-$version
mkdir -p $destdir/usr/src/linux-$version/arch/x86/kernel
if [ "$xbps_machine" != "x86_64" ]; then
install -D -m 644 arch/x86/Makefile_32.cpu \
$destdir/usr/src/linux-$version/arch/x86/Makefile_32.cpu
fi
cp arch/x86/kernel/asm-offsets.s \
$destdir/usr/src/linux-$version/arch/x86/kernel
for i in $(find . -name "Kconfig*"); do
mkdir -p $destdir/usr/src/linux-$version/$(echo $i | sed 's|/Kconfig.*||')
cp $i $destdir/usr/src/linux-$version/$i
done
cd $destdir/usr/src/linux-$version/include && ln -s asm-x86 asm
cd $destdir/usr/src && ln -s linux-$version linux
for arch in ${_arch}; do
rm -rf $destdir/usr/src/linux-$version/arch/$arch
done
}