aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel-ratten/kernel-ratten.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel-ratten/kernel-ratten.SlackBuild')
-rwxr-xr-xkernel/kernel-ratten/kernel-ratten.SlackBuild168
1 files changed, 168 insertions, 0 deletions
diff --git a/kernel/kernel-ratten/kernel-ratten.SlackBuild b/kernel/kernel-ratten/kernel-ratten.SlackBuild
new file mode 100755
index 00000000..8f00e26d
--- /dev/null
+++ b/kernel/kernel-ratten/kernel-ratten.SlackBuild
@@ -0,0 +1,168 @@
+#!/bin/bash
+#
+# slackbuild for kernel-ratten
+# by rhatto at riseup.net
+#
+
+if [ -s "slack-required" ]; then
+ echo Recomended and required packages for building cairo are:
+ cat slack-required | sed -e 's/^/\t/'
+ if [ "$INTERACT" != "no" ]; then
+ echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
+ read crap
+# else
+# echo Sleeping 3 seconds...
+# sleep 3
+ fi
+fi
+
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+CWD="`pwd`"
+
+PACKAGE="kernel-ratten"
+PATCHSET="bs-rt"
+ARCH="x86_64"
+SPLASH="/etc/bootsplash/themes/Slack-Black-Tux/config/bootsplash-1024x768.cfg"
+BUILD=${BUILD:=1rha}
+KERNEL_VERSION=${KERNEL_VERSION:=2.6.18}
+EXTRAVERSION=${EXTRAVERSION:=1}
+PATCH_VERSION=${PATCH_VERSION:=3.1.6-2.6.15}
+REALTIME_PATCH=${REALTIME_PATCH:=rt-lsm-0.8.7-kernel.patch}
+TMP=${TMP:=/tmp}
+SRC_DIR=${SRC:=$CWD}
+REPOS=${REPOS:=$TMP}
+
+# ------- error codes for createpkg --------------
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40
+
+if [ ! -f "$SPLASH" ]; then
+ echo error: file not found: $SPLASH
+ exit 1
+fi
+
+if [ ! -z "$EXTRAVERSION" ]; then
+ KERNEL_VERSION="$KERNEL_VERSION.$EXTRAVERSION"
+fi
+
+RTOOL="wget"
+KERNEL="linux-$KERNEL_VERSION.tar.bz2"
+PATCH="bootsplash-$PATCH_VERSION.diff"
+KERNEL_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$KERNEL"
+PATCH_URL="ftp://ftp.openbios.org/pub/bootsplash/kernel/$PATCH"
+
+SRC_DIR="$SRC_DIR/kernel"
+mkdir -p $SRC_DIR
+
+if [ "$RTOOL" == "wget" ]; then
+
+ if [ ! -f "$SRC_DIR/$KERNEL" ]; then
+ rm -f $SRC_DIR/$KERNEL.sign
+ wget "$KERNEL_URL" -O "$SRC_DIR/$KERNEL" || exit $ERROR_WGET
+ wget "$KERNEL_URL.sign" -O "$SRC_DIR/$KERNEL.sign" || exit $ERROR_WGET
+ fi
+
+ if [ ! -f "$SRC_DIR/$PATCH" ]; then
+ wget "$PATCH_URL" -O "$SRC_DIR/$PATCH" || exit $ERROR_WGET
+ fi
+
+fi
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+rm -rf linux-$KERNEL_VERSION*
+tar jxvf $SRC_DIR/$KERNEL || exit $ERROR_TAR
+
+if [ ! -z "$PATCHSET" ]; then
+ mv linux-$KERNEL_VERSION linux-$KERNEL_VERSION-$PATCHSET
+ KERNEL_VERSION="$KERNEL_VERSION-$PATCHSET"
+fi
+
+cp $CWD/config-$KERNEL_VERSION linux-$KERNEL_VERSION/.config
+cd linux-$KERNEL_VERSION
+
+if [ ! -z "$EXTRAVERSION" ] && [ ! -z "$PATCHSET" ]; then
+ sed -e "s/^EXTRAVERSION =.*$/EXTRAVERSION = \.$EXTRAVERSION-$PATCHSET/" Makefile > Makefile.tmp
+elif [ ! -z "$PATCHSET" ]; then
+ sed -e "s/^EXTRAVERSION =*$/EXTRAVERSION = -$PATCHSET/" Makefile > Makefile.tmp
+fi
+
+mv Makefile.tmp Makefile
+patch -p1 < $CWD/$REALTIME_PATCH || exit $ERROR_PATCH
+patch -p1 < $SRC_DIR/$PATCH || exit $ERROR_TAR
+
+make oldconfig || exit $ERROR_MAKE
+time make || exit $ERROR_MAKE
+
+if [ -d "/lib/modules/$KERNEL_VERSION" ]; then
+ ( cd /lib/modules && mv $KERNEL_VERSION $KERNEL_VERSION.old )
+fi
+
+make modules_install || exit $ERROR_INSTALL
+
+# make the package
+
+CWD="`pwd`"
+
+PKG="$TMP/package-$PACKAGE"
+
+mkdir -p $PKG/{install,boot,lib/modules,usr/doc}
+
+cp -Rp /lib/modules/$KERNEL_VERSION $PKG/lib/modules
+
+if [ -d "/lib/modules/$KERNEL_VERSION.old" ]; then
+ ( cd /lib/modules && mv $KERNEL_VERSION $KERNEL_VERSION.delete && mv $KERNEL_VERSION.old $KERNEL_VERSION && rm -rf $KERNEL_VERSION.delete )
+fi
+
+cp System.map $PKG/boot/System.map-$KERNEL_VERSION
+cp .config $PKG/boot/config-$KERNEL_VERSION
+cp arch/$ARCH/boot/bzImage $PKG/boot/vmlinuz-$KERNEL_VERSION
+
+cat << EOF > $PKG/install/slack-desc
+kernel-ratten: kernel-ratten (linux kernel $KERNEL_VERSION for ratten AMD64 workstation)
+kernel-ratten:
+kernel-ratten: This is the kernel for the RATTEN workstation.
+kernel-ratten:
+kernel-ratten:
+kernel-ratten:
+kernel-ratten:
+kernel-ratten:
+kernel-ratten:
+kernel-ratten:
+kernel-ratten:
+EOF
+
+VERSION="`echo $KERNEL_VERSION | sed -e 's/-/_/g'`"
+
+# docs
+mkdir -p $PKG/usr/doc/$PACKAGE-$VERSION
+# cp -r Documentation $PKG/usr/doc/$PACKAGE-$VERSION/
+for file in COPYING CREDITS MAINTAINERS README REPORTING-BUGS; do
+ cp $CWD/$file* $PKG/usr/doc/$PACKAGE-$VERSION/
+done
+
+mkinitrd -c -k $KERNEL_VERSION -o $PKG/boot/initrd.gz
+splash -s -f $SPLASH > $PKG/boot/initrd.gz
+
+cd $PKG
+
+( cd boot && ln -s vmlinuz-$KERNEL_VERSION vmlinuz )
+( cd boot && ln -s config-$KERNEL_VERSION config )
+( cd boot && ln -s System.map-$KERNEL_VERSION System.map )
+
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+