diff options
Diffstat (limited to 'source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild')
-rwxr-xr-x | source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild b/source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild new file mode 100755 index 00000000..88afa3c5 --- /dev/null +++ b/source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild @@ -0,0 +1,100 @@ +#!/bin/sh + +# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +KERNNAME=generic +VERSION=${VERSION:-3.2.29} +ARCH=${ARCH:-x86_64} +KARCH=${KARCH:-x86} +BUILD=${BUILD:-1} + +TMP=${TMP:-/tmp} +CWD=$(pwd) +PKG=$TMP/package-kernel + +rm -rf $PKG +mkdir -p $TMP $PKG + +# First try to find the loot in the current dir, then look +# in /usr/src/linux-$VERSION: +if [ -r $CWD/bzImage ]; then + KERNEL=$CWD/bzImage +elif [ -r $CWD/vmlinuz ]; then + KERNEL=$CWD/vmlinuz +elif [ -r $CWD/vmlinuz* ]; then + KERNEL=$CWD/vmlinuz* +else + KERNEL=/usr/src/linux-$VERSION/arch/${KARCH}/boot/bzImage +fi + +if [ -r $CWD/System.map.gz ]; then + gzip -d $CWD/System.map.gz +elif [ -r $CWD/System.map.bz2 ]; then + bzip2 -d $CWD/System.map.bz2 +fi + +if [ -r $CWD/System.map ]; then + SYSMAP=$CWD/System.map +elif [ -r $CWD/System.map* ]; then + SYSMAP=$CWD/System.map* +else + SYSMAP=/usr/src/linux-$VERSION/System.map +fi +if [ -r $CWD/config ]; then + CONFIG=$CWD/config +elif [ -r $CWD/config* ]; then + CONFIG=$CWD/config* +elif [ -r $CWD/.config ]; then + CONFIG=$CWD/.config +else + CONFIG=/usr/src/linux-$VERSION/.config +fi + +cat << EOF +Building kernel-$KERNNAME-${VERSION}-$ARCH-$BUILD.txz +using these source files. Please check and then hit +enter to make the package. + +KERNEL = $KERNEL +SYSMAP = $SYSMAP +CONFIG = $CONFIG + +EOF +read junk; + +rm -rf $PKG +mkdir -p $PKG +mkdir -p $PKG/boot +cp $KERNEL $PKG/boot/vmlinuz-$KERNNAME-${VERSION} +( cd $PKG/boot ; ln -sf vmlinuz-$KERNNAME-${VERSION} vmlinuz ) +cp $SYSMAP $PKG/boot/System.map-$KERNNAME-${VERSION} +( cd $PKG/boot ; ln -sf System.map-$KERNNAME-${VERSION} System.map ) +cp $CONFIG $PKG/boot/config-$KERNNAME-${VERSION} +( cd $PKG/boot ; ln -sf config-$KERNNAME-${VERSION} config ) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Build the package: +cd $PKG +/sbin/makepkg -l y -c n $TMP/kernel-$KERNNAME-$(echo ${VERSION} | tr - _)-$ARCH-$BUILD.txz + |