#!/bin/sh # Slackware build script for John the Ripper # Written by Murat D. Kadirov <banderols@gmail.com> # 20/Nov/2011 * Updated for version 1.7.8 and jambo-patch 8 # Thanks a lot Kent Fritz for patch with many improvements # 19/Dec/2011 * Updated for version 1.7.9 and jambo-patch 5 PRGNAM=john VERSION=${VERSION:-1.7.9} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} JUMBOVERSION=${JUMBOVERSION:-5} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i486" ]; then if grep -q ^flags.*sse2 /proc/cpuinfo; then TARGET=linux-x86-sse2 elif grep -q ^flags.*mmx /proc/cpuinfo; then TARGET=linux-x86-mmx else TARGET=linux-x86-any fi LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then TARGET=linux-x86-64 LIBDIRSUFFIX="64" else TARGET=generic LIBDIRSUFFIX="" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 # Soft-link in tarball causes x bit to be set below; nuke it rm -f $PRGNAM-$VERSION/README # Apply the Jumbo patch? if [ "$JUMBO" = "1" ]; then zcat $CWD/john-$VERSION-jumbo-${JUMBOVERSION}.diff.gz | patch -p0 || exit 1 mv $PRGNAM-$VERSION/README-jumbo $PRGNAM-$VERSION/doc/README-jumbo fi cd $PRGNAM-$VERSION chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; mkdir -p $PKG/usr/share/john cp -a run/* $PKG/usr/share/john rm $PKG/usr/share/john/mailer make -C src clean $TARGET CFLAGS="-DJOHN_SYSTEMWIDE=1 -c -Wall -O2 -fomit-frame-pointer" # Merge /usr/share/dict/words into password list? if [ "$MERGEWORDS" = "1" ]; then mv run/password.lst run/password.lst.orig grep -h -v '^#!comment:' run/password.lst.orig /usr/share/dict/words | \ run/unique run/password.lst cp -a run/password.lst.orig $PKG/usr/share/john cp -a run/password.lst $PKG/usr/share/john chmod 644 $PKG/usr/share/john/password.lst fi mkdir -p $PKG/usr/bin cp -a run/$PRGNAM run/mailer $PKG/usr/bin ln -s $PRGNAM $PKG/usr/bin/unafs ln -s $PRGNAM $PKG/usr/bin/unique ln -s $PRGNAM $PKG/usr/bin/unshadow mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a doc/* $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}