Annotation of truecrypt/linux/build.sh, revision 1.1

1.1     ! root        1: #!/bin/sh 
        !             2: # TrueCrypt build script
        !             3: 
        !             4: KERNEL_SRC=/usr/src/linux-$(uname -r)
        !             5: 
        !             6: umask 022
        !             7: 
        !             8: error ()
        !             9: {
        !            10:        echo "Error: $*" >&2
        !            11: }
        !            12: 
        !            13: check_kernel_version ()
        !            14: {
        !            15:        M="$1/Makefile"
        !            16:        VER=$(grep '^VERSION *=' "$M" | head -1 | tr -d ' ' | cut -d'=' -f2)
        !            17:        VER=$VER.$(grep '^PATCHLEVEL *=' "$M" | head -1 | tr -d ' ' | cut -d'=' -f2)
        !            18:        VER=$VER.$(grep '^SUBLEVEL *=' "$M" | head -1 | tr -d ' ' | cut -d'=' -f2)
        !            19: 
        !            20:        [ $VER = $( uname -r | tr -- - . | cut -d. -f1-3) ] && return 0
        !            21:        return 1
        !            22: }
        !            23: 
        !            24: # Prerequisites
        !            25: 
        !            26: echo "Checking build requirements..."
        !            27: 
        !            28: [ $(id -u) -ne 0 ] && error "Administrator (root) privileges required" && exit 1
        !            29: 
        !            30: V=""
        !            31: case "$(uname -r)" in
        !            32:        [01].*) V=1 ;;
        !            33:        2.[0-5].*) V=1 ;;
        !            34:        2.6.[0-4]) V=1 ;;
        !            35:        2.6.[0-4][.-]*) V=1 ;;
        !            36: esac
        !            37: [ "$V" ] && error "TrueCrypt requires Linux kernel 2.6.5 or later" && exit 1
        !            38: 
        !            39: [ ! -d $KERNEL_SRC ] && KERNEL_SRC=/usr/src/linux
        !            40: if [ ! -d $KERNEL_SRC ] || ! check_kernel_version "$KERNEL_SRC"
        !            41: then
        !            42:        echo -n "Linux kernel ($(uname -r)) source directory [$KERNEL_SRC]: "
        !            43:        read A
        !            44:        [ "$A" ] && KERNEL_SRC="$A"
        !            45:        [ ! -d $KERNEL_SRC ] && error "$KERNEL_SRC does not exit" && exit 1
        !            46: fi 
        !            47: 
        !            48: if ! check_kernel_version "$KERNEL_SRC"
        !            49: then
        !            50:        error "Kernel source version in $KERNEL_SRC is not $(uname -r)"
        !            51:        exit 1
        !            52: fi
        !            53: 
        !            54: if [ ! -f "$KERNEL_SRC/.config" ]
        !            55: then
        !            56:        error "Kernel not configured. You should run make -C $KERNEL_SRC config modules"
        !            57:        exit 1
        !            58: fi
        !            59: 
        !            60: grep -qi 'CONFIG_BLK_DEV_DM=N' $KERNEL_SRC/.config && echo "Warning: kernel device mapper support (CONFIG_BLK_DEV_DM) is disabled in $KERNEL_SRC" && sleep 5
        !            61: 
        !            62: 
        !            63: # Build
        !            64: 
        !            65: echo -n "Building kernel module... "
        !            66: cd Kernel && make "KERNEL_SRC=$KERNEL_SRC" NO_WARNINGS=1 >/dev/null
        !            67: [ $? -ne 0 ] && error "Failed to build kernel module" && exit 1
        !            68: echo Done.
        !            69: 
        !            70: echo -n "Building truecrypt... "
        !            71: cd ../Cli && make NO_WARNINGS=1 >/dev/null
        !            72: [ $? -ne 0 ] && error "Failed to build truecrypt" && exit 1
        !            73: echo Done.
        !            74: 
        !            75: exit 0

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.