From 1d1cc771b603b5c473c42d4c6a583b81be06d11f Mon Sep 17 00:00:00 2001 From: "Menno E. Duursma" Date: Tue, 11 May 2010 22:25:23 +0200 Subject: network/heimdal: Updated for version 1.2.1 --- network/heimdal/README | 7 ++- network/heimdal/doinst.sh | 35 +++++++---- network/heimdal/heimdal.SlackBuild | 123 ++++++++++++++++--------------------- network/heimdal/heimdal.csh | 4 -- network/heimdal/heimdal.info | 10 +-- network/heimdal/heimdal.sh | 7 +-- network/heimdal/slack-desc | 4 +- 7 files changed, 90 insertions(+), 100 deletions(-) (limited to 'network/heimdal') diff --git a/network/heimdal/README b/network/heimdal/README index 7a2308ecd1..e13deca10f 100644 --- a/network/heimdal/README +++ b/network/heimdal/README @@ -1,7 +1,10 @@ Heimdal is a free implementation of Kerberos 5. The goals are to: * have an implementation that can be freely used by anyone -* be protocol compatible with existing implementations and, if not in conflict, with RFC 4120 (and any future updated RFC). RFC 4120 replaced RFC 1510. +* be protocol compatible with existing implementations and, if not + in conflict, with RFC 4120 (and any future updated RFC). + RFC 4120 replaced RFC 1510. * be reasonably compatible with the M.I.T Kerberos V5 API * have support for Kerberos V5 over GSS-API (RFC1964) -* include the most important and useful application programs (rsh, telnet, popper, etc.) +* include the most important and useful application programs + (rsh, telnet, popper, etc.) * include enough backwards compatibility with Kerberos V4 diff --git a/network/heimdal/doinst.sh b/network/heimdal/doinst.sh index 0b5f0905ad..8920e52c25 100644 --- a/network/heimdal/doinst.sh +++ b/network/heimdal/doinst.sh @@ -1,31 +1,42 @@ # Add heimdal libs to the library search path if ! grep -q '^/usr/heimdal/lib$' etc/ld.so.conf ; then echo "/usr/heimdal/lib" >> etc/ld.so.conf - if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi fi config() { NEW="$1" - OLD="`dirname $NEW`/`basename $NEW .new`" + OLD="$(dirname $NEW)/$(basename $NEW .new)" # If there's no config file by that name, mv it over: if [ ! -r $OLD ]; then mv $NEW $OLD - elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy rm $NEW fi # Otherwise, we leave the .new copy for the admin to consider... } +# Keep same perms on rc.heimdal: +if [ -e etc/rc.d/rc.heimdal ]; then + cp -a etc/rc.d/rc.heimdal etc/rc.d/rc.heimdal.new.incoming + cat etc/rc.d/rc.heimdal.new > etc/rc.d/rc.heimdal.new.incoming + mv etc/rc.d/rc.heimdal.new.incoming etc/rc.d/rc.heimdal.new +fi + +# Prepare the new configuration files +for file in \ + etc/rc.d/rc.heimdal.new \ + etc/profile.d/heimdal.sh.new \ + etc/profile.d/heimdal.csh.new ; + do + if [ -e $(dirname $file)/$(basename $file .new) -a -x $(dirname $file)/$(basename $file .new) ]; then + chmod 0755 $file + else + chmod 0644 $file + fi + config $file +done + config etc/krb5.conf-sample.new -config etc/profile.d/heimdal.sh.new -config etc/profile.d/heimdal.csh.new -config etc/rc.d/rc.heimdal.new config var/heimdal/kdc.conf-sample.new -# Any user should be able to ``kinit'' at least -if [ ! -x etc/profile.d/heimdal.sh ]; then - chmod +x etc/profile.d/heimdal.sh - chmod +x etc/profile.d/heimdal.csh -fi - diff --git a/network/heimdal/heimdal.SlackBuild b/network/heimdal/heimdal.SlackBuild index 416140552d..df146ea945 100644 --- a/network/heimdal/heimdal.SlackBuild +++ b/network/heimdal/heimdal.SlackBuild @@ -1,16 +1,19 @@ #!/bin/sh # Slackware build script for KTH Heimdal Kerberos - # Written by Menno E. Duursma -# All rights reserved. # Modified by the SlackBuilds.org project +# This program is free software. It comes without any warranty. +# Granted WTFPL, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + PRGNAM=heimdal -VERSION=0.7.2 +VERSION=1.2.1 ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} + CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM @@ -20,112 +23,101 @@ if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" fi +set -e # Exit immediately if a command exits with a non-zero status. + rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT -cd $TMP || exit 1 +cd $TMP rm -rf $PRGNAM-$VERSION -tar xzvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1 -cd $PRGNAM-$VERSION || exit 1 - +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION chown -R root:root . -chmod -R a-s,u+w,go+r-w . +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 {} \; + # 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" - +# Replace this: "--without-openldap" with this: "--with-openldap=/usr" +# in the configure lines below CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr/heimdal \ + --infodir=/usr/info \ + --mandir=/usr/man \ --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 + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux + +make +make install DESTDIR=$PKG + +( cd $PKG || exit 1 + find . -type f \ + | xargs file \ + | grep -e "executable" -e "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 {} \; +( cd $PKG/usr/man || exit 1 + rm -rf cat* + find . -type f -exec gzip -9 {} \; + for i in $(find . -type l) ; do + ln -s $(readlink $i).gz $i.gz ; rm $i + done ) -# Compress info pages -( cd $PKG/usr/heimdal/info - find . -type f \! -name dir -exec gzip -9 {} \; +( cd $PKG/usr/info || exit 1 + rm -f dir + find . -type f -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 +cp -a [A-Z][A-Z]* ChangeLog* etc/services.append $PKG/usr/doc/$PRGNAM-$VERSION +cp -a doc/{init-creds,layman.asc,mdate-sh} $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README.SBo +find $PKG/usr/doc -type f -exec chmod -x {} \; # Add sample krb5.conf file (may not be needed) mkdir -p $PKG/etc -cp krb5.conf $PKG/etc/krb5.conf-sample.new +cat 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 +# Add sample kdc.conf file (may not be needed) +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 +# 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 +chmod 0755 $PKG/etc/profile.d/* mkdir $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc @@ -133,10 +125,3 @@ 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 - diff --git a/network/heimdal/heimdal.csh b/network/heimdal/heimdal.csh index 811b0593a9..fb394bff7b 100644 --- a/network/heimdal/heimdal.csh +++ b/network/heimdal/heimdal.csh @@ -1,9 +1,5 @@ #!/bin/csh -# Set INFOPATH and MANPATH -setenv INFOPATH "/usr/heimdal/info" -setenv MANPATH "${MANPATH}:/usr/heimdal/man" - setenv PATH "${PATH}:/usr/heimdal/bin" if ( x"$uid" == x"0" ) then setenv PATH "${PATH}:/usr/heimdal/sbin" diff --git a/network/heimdal/heimdal.info b/network/heimdal/heimdal.info index 1c8d4db535..20e2c18b1c 100644 --- a/network/heimdal/heimdal.info +++ b/network/heimdal/heimdal.info @@ -1,8 +1,8 @@ PRGNAM="heimdal" -VERSION="0.7.2" -HOMEPAGE="http://www.pdc.kth.se/heimdal/" -DOWNLOAD="ftp://ftp.pdc.kth.se/pub/heimdal/src/heimdal-0.7.2.tar.gz" -MD5SUM="c937580d6f8b11bf7f0e540530e1dc18" +VERSION="1.2.1" +HOMEPAGE="http://www.h5l.org" +DOWNLOAD="http://www.h5l.org/dist/src/heimdal-1.2.1.tar.gz" +MD5SUM="6e5028077e2a6b101a4a72801ba71b9e" MAINTAINER="Menno E. Duursma" EMAIL="druiloor@zonnet.nl" -APPROVED="alien" +APPROVED="David Somero" \ No newline at end of file diff --git a/network/heimdal/heimdal.sh b/network/heimdal/heimdal.sh index 127c6afcd8..21f1d9bc8b 100644 --- a/network/heimdal/heimdal.sh +++ b/network/heimdal/heimdal.sh @@ -1,12 +1,7 @@ #!/bin/sh -# Set INFOPATH and MANPATH -INFOPATH="/usr/heimdal/info:" -MANPATH="${MANPATH}:/usr/heimdal/man" - PATH="${PATH}:/usr/heimdal/bin" if [ x"${EUID}" == x"0" ]; then PATH="${PATH}:/usr/heimdal/sbin" fi - -export INFOPATH MANPATH PATH +export PATH diff --git a/network/heimdal/slack-desc b/network/heimdal/slack-desc index 8d1d4874a0..a6ddbc11ee 100644 --- a/network/heimdal/slack-desc +++ b/network/heimdal/slack-desc @@ -5,10 +5,10 @@ # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. - |-----handy-ruler------------------------------------------------------| + |-----handy-ruler-----------------------------------------------------| heimdal: heimdal (KTH Heimdal Kerberos) heimdal: -heimdal: Heimdal is an implementation of Kerberos 5, largely written in Sweden. +heimdal: Heimdal is an implementation of Kerberos 5 largely written in Sweden. heimdal: It is freely available under a three clause BSD style license. heimdal: heimdal: This package includes all basic Kerberos functionality; a KDC -- cgit v1.2.3