#!/bin/sh # Slackware build script for KTH Heimdal Kerberos # Written by Menno E. Duursma # All rights reserved. # Modified by the SlackBuilds.org project PRGNAM=heimdal VERSION=0.7.2 ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" fi rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP || exit 1 rm -rf $PRGNAM-$VERSION tar xzvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1 cd $PRGNAM-$VERSION || exit 1 chown -R root:root . chmod -R a-s,u+w,go+r-w . # Note about OpenLDAP: # The openldap-client package is part of Slackware since the 11.0 release. # If you want to store your KDC database in LDAP, you will need to configure # Heimdal with support for OpenLDAP: # Replace the line "--without-openldap" in the "configure" command a few lines # further down with: "--with-openldap=/usr" CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr/heimdal \ --enable-shared=yes \ --enable-kcm \ --without-krb4 \ --without-hesiod \ --without-ipv6 \ --without-openldap \ --with-x \ || exit 1 make || exit 1 make install DESTDIR=$PKG || exit 1 ( cd $PKG find . -type f | \ xargs file | \ grep "executable" | \ grep ELF | \ cut -f 1 -d : | \ xargs strip --strip-unneeded \ 2> /dev/null find . -type f | \ xargs file | \ grep "shared object" | \ grep ELF | \ cut -f 1 -d : | \ xargs strip --strip-unneeded \ 2> /dev/null ) # Compress manual pages, delete 'cat' pages that do not belong here ( cd $PKG/usr/heimdal/man rm -rf cat? for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm -f $i ; done find . -type f -name "*.?" -exec gzip -9f {} \; ) # Compress info pages ( cd $PKG/usr/heimdal/info find . -type f \! -name dir -exec gzip -9 {} \; # Link the main compressed info page to a name as if it was clear # as otherwise the GNU info utility somehow fails to render it... ln -s heimdal.info.gz heimdal ) # Documentation : mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a NEWS README TODO* config.log krb5.conf \ $PKG/usr/doc/$PRGNAM-$VERSION mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/ChangeLog cp -a ChangeLog* $PKG/usr/doc/$PRGNAM-$VERSION/ChangeLog mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/etc cp -a etc/services.append \ $PKG/usr/doc/$PRGNAM-$VERSION/etc mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/doc cp -a doc/{init-creds,layman.asc,mdate-sh} \ $PKG/usr/doc/$PRGNAM-$VERSION/doc mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/doc/standardisation cp -a doc/standardisation/* \ $PKG/usr/doc/$PRGNAM-$VERSION/doc/standardisation # Include this script as doc aswell cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild # Add sample krb5.conf file (may not be needed) mkdir -p $PKG/etc cp krb5.conf $PKG/etc/krb5.conf-sample.new # Create directory for the KDC to use mkdir -p $PKG/var/heimdal # Add sample kdc.conf file cat $CWD/kdc.conf >$PKG/var/heimdal/kdc.conf-sample.new # Include a KDC rc-file for the admin to consider mkdir -p $PKG/etc/rc.d cat $CWD/rc.heimdal > $PKG/etc/rc.d/rc.heimdal.new chmod +x $PKG/etc/rc.d/rc.heimdal.new # Add heimdal to INFOPATH , MANPATH and PATH mkdir -p $PKG/etc/profile.d cat $CWD/heimdal.sh > $PKG/etc/profile.d/heimdal.sh.new cat $CWD/heimdal.csh > $PKG/etc/profile.d/heimdal.csh.new mkdir $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz # Clean up the extra stuff: if [ "$1" = "--cleanup" ]; then rm -rf $TMP/$PRGNAM-$VERSION rm -rf $PKG fi