diff options
Diffstat (limited to 'kernel/kernel-ratten/kernel-ratten.SlackBuild')
-rwxr-xr-x | kernel/kernel-ratten/kernel-ratten.SlackBuild | 168 |
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 + |