summaryrefslogtreecommitdiffstats
path: root/slackware64-current/source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild
blob: 0d1ec2bfc091ee327bb03bd72eb72989e22972c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/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:-4.4.5}
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:

KERNEL = $KERNEL
SYSMAP = $SYSMAP
CONFIG = $CONFIG

EOF

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 )
( cd $PKG/boot ; ln -sf vmlinuz-$KERNNAME-${VERSION} vmlinuz-generic )
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