#!/bin/bash -e SDIR="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" KVER="$(uname -r | awk -F. '{ printf(sprintf("%d",$3)=="0"?"%d.%d\n":"%d.%d.%d\n",$1,$2,$3); }')" KDIR="/usr/src/linux-$(uname -r)" SLVER="$(cat /etc/slackware-version | awk -F '[ .]' '{ printf("%d.%d\n",$2,$3); }')" [ ! -d "$SDIR/packages" ] && mkdir $SDIR/packages cd $SDIR/packages [ ! -e "linux-$KVER.tar.xz" ] && wget --no-check-certificate http://www.kernel.org/pub/linux/kernel/v3.x/linux-$KVER.tar.xz if [ `uname -m` == 'x86_64' ]; then mkdir -p slackware64-${SLVER} cd slackware64-${SLVER} else mkdir -p slackware-${SLVER} cd slackware-${SLVER} fi if [ "$SLVER" == '13.1' ] && [ `uname -m` != 'x86_64' ]; then [ ! -e "gcc-4.4.4-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/d/gcc-4.4.4-i486-1.txz [ ! -e "kernel-headers-2.6.33.4_smp-x86-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/d/kernel-headers-2.6.33.4_smp-x86-1.txz [ ! -e "glibc-2.11.1-i486-3.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/l/glibc-2.11.1-i486-3.txz [ ! -e "binutils-2.20.51.0.8-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/d/binutils-2.20.51.0.8-i486-1.txz [ ! -e "make-3.81-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/d/make-3.81-i486-1.txz [ ! -e "cxxlibs-6.0.13-i486-2.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/a/cxxlibs-6.0.13-i486-2.txz [ ! -e "perl-5.10.1-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/d/perl-5.10.1-i486-1.txz [ ! -e "patch-2.5.4-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/a/patch-2.5.4-i486-1.txz [ ! -e "ncurses-5.7-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/l/ncurses-5.7-i486-1.txz [ ! -e "mpfr-2.4.2p03-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/l/mpfr-2.4.2p03-i486-1.txz [ ! -e "gcc-g++-4.4.4-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/d/gcc-g++-4.4.4-i486-1.txz [ ! -e "pkg-config-0.23-i486-2.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/d/pkg-config-0.23-i486-2.txz [ ! -e "bc-1.06.95-i486-1.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/ap/bc-1.06.95-i486-1.txz [ ! -e "cpio-2.9-i486-2.txz" ] && wget http://slackware.osuosl.org/slackware-13.1/slackware/a/cpio-2.9-i486-2.txz elif [ "$SLVER" == '14.1' ] && [ `uname -m` == 'x86_64' ]; then [ ! -e "gcc-4.8.2-x86_64-1.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/d/gcc-4.8.2-x86_64-1.txz [ ! -e "kernel-headers-3.10.17-x86-3.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/d/kernel-headers-3.10.17-x86-3.txz [ ! -e "glibc-2.17-x86_64-7.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/l/glibc-2.17-x86_64-7.txz [ ! -e "binutils-2.23.52.0.1-x86_64-2.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/d/binutils-2.23.52.0.1-x86_64-2.txz [ ! -e "make-3.82-x86_64-4.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/d/make-3.82-x86_64-4.txz [ ! -e "cxxlibs-6.0.18-x86_64-1.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/a/cxxlibs-6.0.18-x86_64-1.txz [ ! -e "perl-5.18.1-x86_64-1.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/d/perl-5.18.1-x86_64-1.txz [ ! -e "patch-2.7-x86_64-2.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/a/patch-2.7-x86_64-2.txz [ ! -e "ncurses-5.9-x86_64-2.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/l/ncurses-5.9-x86_64-2.txz [ ! -e "mpfr-3.1.2-x86_64-1.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/l/mpfr-3.1.2-x86_64-1.txz [ ! -e "gcc-g++-4.8.2-x86_64-1.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/d/gcc-g++-4.8.2-x86_64-1.txz [ ! -e "pkg-config-0.25-x86_64-1.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/d/pkg-config-0.25-x86_64-1.txz [ ! -e "bc-1.06.95-x86_64-2.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/ap/bc-1.06.95-x86_64-2.txz [ ! -e "cpio-2.11-x86_64-2.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/a/cpio-2.11-x86_64-2.txz [ ! -e "libmpc-0.8.2-x86_64-2.txz" ] && wget http://slackware.osuosl.org/slackware64-14.1/slackware64/l/libmpc-0.8.2-x86_64-2.txz else echo "ERROR: Unsupported Slackware version" exit 1 fi mkdir -p /var/log/setup/tmp installpkg *.txz [ ! -e "${KDIR}_original" ] && mv $KDIR ${KDIR}_original [ -e "$KDIR" ] && rm -rf $KDIR [ -e "/usr/src/linux-$KVER" ] && rm -rf /usr/src/linux-$KVER echo "Decompressing Kernel Source..." tar -C /usr/src/ -xJf $SDIR/packages/linux-$KVER.tar.xz mv /usr/src/linux-$KVER $KDIR [ -e "/usr/src/linux" ] && rm -rf /usr/src/linux ln -sf $KDIR /usr/src/linux cp -rf ${KDIR}_original/. /usr/src/linux/ if [ "$1" == 'make' ]; then cd /usr/src/linux && yes "" | make oldconfig && make else echo -e '\n\n## cd /usr/src/linux && yes "" | make oldconfig && make menuconfig && make\n' fi