Have done compile heimdal-1.4 for kdelibs-4.6.1 but heimdal will broke su after install. I cannot run su in terminal anymore. If i compile heimdal with prefix=/usr/heimdal there will be no such problem...any idea?
#!/usr/bin/bash
# This script assumes it will be launched within "/NAME/VERSION/src" dir.
# With all sources in "src" Your Vector Linux .tlz package, slack-desc,
# and slack-required will be found in "VERSION" dir. The extraction and
# build will be in a temp dir created in "NAME" dir, and then removed on exit.
# Comment out second to last line to keep this dir intact.
#
# This Template was compiled from the contributions of many users of the Vector
# Linux forum at
http://forum.vectorlinux.com and from tidbits collected
# from all over the internet.
#
# Generated by sbbuilder-0.4.12.3, written by Rodrigo Bistolfi
# (rbistolfi) and Raimon Grau Cuscó (Kidd) for VectorLinux.
#
# Please put your name below if you add some original scripting lines.
# AUTHORS =
NAME="heimdal" #Enter package Name!
VERSION=${VERSION:-"1.4"} #Enter package Version!
VER=$(echo $VERSION|sed 's/-/_/') #this fixes - in version
VL_PACKAGER=${VL_PACKAGER:-"hata_ph"} #Enter your Name!
LINK=${LINK:-""} #Enter URL for package here!
#SYSTEM VARIABLES
#----------------------------------------------------------------------------
BUILDNUM=${BUILDNUM:-"1"}
VL_VERSION=${VL_VERSION:-"$(ls /var/log/packages/|grep vlconfig2|cut -d "-" -f4|cut -c 2-5)"}
BUILD=${BUILD:-"$BUILDNUM""$VL_VERSION"}
ARCH=${ARCH:-"$(uname -m)"}
CONFIG_OPTIONS=${CONFIG_OPTIONS:-""}
LDFLAG_OPTIONS=${LDFLAG_OPTIONS:-""}
ADDRB=${ADDRB:-""} #Add deps that need to be added to the slack-required file here
EXRB=${EXRB:-""} #Add deps that need to be excluded from the slack-required file here
#----------------------------------------------------------------------------
#SETUP PACKAGING ENVIRONMENT
#--------------------------------------------
CWD=$(pwd)
cd ../
RELEASEDIR=$(pwd)
cd $CWD
mkdir -p $RELEASEDIR/tmp
TMP=$RELEASEDIR/tmp
PKG=$TMP/package-$NAME
#--------------------------------------------
if [ $UID != 0 ]; then
echo "You are not authorized to run this script. Please login as root"
exit 1
fi
if [ ! -x /usr/bin/requiredbuilder ]; then
echo "Requiredbuilder not installed, or not executable."
exit 1
fi
if [ $VL_PACKAGER = "YOURNAME" ]; then
echo 'Who are you?
Please edit VL_PACKAGER=${VL_PACKAGER:-YOURNAME} in this script.
Change the word "YOURNAME" to your VectorLinux packager name.
You may also export VL_PACKAGER, or call this script with
VL_PACKAGER="YOUR NAME HERE"'
exit 1
fi
#CFLAGS SETUP
#--------------------------------------------
if [[ "$ARCH" = i?86 ]]; then
ARCH=i586
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
CONFIGURE_TRIPLET="i486-slackware-linux"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fpic"
CONFIGURE_TRIPLET="x86_64-slackware-linux"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "powerpc" ]; then
SLKCFLAGS="-O2"
CONFIGURE_TRIPLET="powerpc-vlocity-linux"
LIBDIRSUFFIX=""
fi
export CFLAGS="$SLKCFLAGS $CFLAG_OPTIONS"
export CXXFLAGS=$CFLAGS
export LDFLAGS="$LDFLAGS $LDFLAG_OPTIONS"
#--------------------------------------------
#GET THE SOURCE
#--------------------------------------------
for SRC in $(echo $LINK);do
if [ ! -f $CWD/$(basename $SRC) ]
then
wget -c $SRC
fi
done
#--------------------------------------------
rm -rf $PKG
mkdir -p $PKG
cd $TMP
rm -rf $NAME-$VERSION
#EXTRACT SOURCES
#-----------------------------------------------------
echo "Extracting source..."
tar xvf $CWD/$NAME-$VERSION.tar.* || exit 1
#-----------------------------------------------------
cd $TMP/$NAME-$VERSION
# Put any Patches into a patches folder in the src dir
#-----------------------------------------------------
for i in $CWD/patches/*;do
patch -p1 <$i
done
#-----------------------------------------------------
#SET PERMISSIONS
#-----------------------------------------
echo "Setting permissions..."
chown -R root:root .
find . -perm 664 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 2777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 2755 -exec chmod 755 {} \;
find . -perm 774 -exec chmod 644 {} \;
find . -perm 666 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;
#-----------------------------------------
#CONFIGURE & MAKE
#----------------------------------------------------------------------
# If you are building a KDE-related app, then change the following
# arguments in the script below:
# --prefix=$(kde-config -prefix) \
# --sysconfdir=/etc/kde \
#
# Making these changes will ensure that your package will build in the
# correct path and that it will work seamlessly within the KDE environment.
#
#-----------------------------------------------------------------------
echo "Configuring source..."
./configure --prefix=/usr/heimdal \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--infodir=/usr/info \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--enable-shared=yes \
--enable-kcm \
--program-prefix="" \
--program-suffix="" \
--build=$CONFIGURE_TRIPLET \
$CONFIG_OPTIONS || exit 1
make || exit 1
make install DESTDIR=$PKG || exit
#######################################################################
#Miscellenious tweaks and things outside a normal ./configure go here #
#######################################################################
rm -rf $PKG/usr/man/cat? # We don't want these
# Add sample krb5.conf file (may not be needed)
mkdir -p $PKG/etc
cat $CWD/config/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 (may not be needed)
cat $CWD/config/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/config/rc.heimdal > $PKG/etc/rc.d/rc.heimdal.new
# Add heimdal to INFOPATH, MANPATH, and PATH
mkdir -p $PKG/etc/profile.d
cat $CWD/config/heimdal.sh > $PKG/etc/profile.d/heimdal.sh.new
cat $CWD/config/heimdal.csh > $PKG/etc/profile.d/heimdal.csh.new
mkdir -p $PKG/usr/doc/$NAME-$VERSION
cp -a ANNOUNCE* AUTHORS* BUGS* COPYING* ChangeLog* CHANGELOG* Credits* DEVELOPERS \
LICENSE* MANIFEST PROVENANCE README* TODO* Exception_to_GPL_for_Qt.txt \
$PKG/usr/doc/$NAME-$VERSION
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild
#----------------------------------------------------------------------
if [ -d $PKG/usr/share/man ] ; then
mkdir -p $PKG/usr/man
mv $PKG/usr/share/man/* $PKG/usr/man
rm -rf $PKG/usr/share/man
fi
find $PKG/usr/man -type f -exec gzip -9 {} \;
if [ -d $PKG/usr/share/info ] ; then
mkdir -p $PKG/usr/info
mv $PKG/usr/share/info/* $PKG/usr/info
rm -rf $PKG/usr/share/info
fi
find $PKG/usr/info -type f -exec gzip -9 {} \;
mkdir -p $PKG/install
if [ -d $PKG/usr/info ] ; then
cat >> $PKG/install/doinst.sh << EOF
CWD=\$(pwd)
cd usr/info
if [ -f dir ];then
rm dir
fi
if [ -f dir.gz ];then
rm dir.gz
fi
for i in *.info.gz;do
install-info \$i dir
done
cd \$CWD
EOF
fi
# Add schemas install to the doinst.sh if schemas are found.
[ -d $PKG/etc/gconf/schemas ] && {
# Make sure we have gconftool installed
echo "if [ -x usr/bin/gconftool-2 ]; then" >> $PKG/install/doinst.sh
( cd $PKG/etc/gconf/schemas
for schema in *.schemas; do
# Install schemas
echo "GCONF_CONFIG_SOURCE=\"xml::etc/gconf/gconf.xml.defaults\" \
usr/bin/gconftool-2 --makefile-install-rule \
etc/gconf/schemas/${schema} >/dev/null 2>&1" \
>> $PKG/install/doinst.sh
done;
)
# Finish off gconf block
echo "fi" >> $PKG/install/doinst.sh
}
mkdir -p $PKG/install
cat >> $PKG/install/doinst.sh << EOF
# update rarian database
if [ -x usr/bin/rarian-sk-update ]; then
usr/bin/rarian-sk-update 1> /dev/null 2> /dev/null
fi
# update mime database
if [ -x usr/bin/update-mime-database ]; then
usr/bin/update-mime-database usr/share/mime 1> /dev/null 2> /dev/null
fi
# update desktop entries
if [ -x usr/bin/update-desktop-database ]; then
usr/bin/update-desktop-database 1> /dev/null 2> /dev/null
fi
# update hicolor icons
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
rm -f usr/share/icons/hicolor/icon-theme.cache
fi
usr/bin/gtk-update-icon-cache -f -q usr/share/icons/hicolor 1>/dev/null 2>/dev/null
# Restart gconfd-2 if running to reload new gconf settings
if ps acx | grep -q gconfd-2 ; then
killall -HUP gconfd-2 ;
fi
EOF
cat $CWD/doinst.sh > $PKG/install/doinst.sh
#if there is a slack-desc in src dir use it
if test -f $CWD/slack-desc; then
cp $CWD/slack-desc $RELEASEDIR/slack-desc
else
# This creates the white space in front of "handy-ruler" in slack-desc below.
LENGTH=$(expr length "$NAME")
SPACES=0
SHIM=""
until [ "$SPACES" = "$LENGTH" ]; do
SHIM="$SHIM "
let SPACES=$SPACES+1
done
# Fill in the package summary between the () below.
# Then package the description, License, Author and Website.
# There may be no more then 11 $NAME: lines in a valid slack-desc.
cat > $RELEASEDIR/slack-desc << EOF
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
$SHIM|-----handy-ruler------------------------------------------------------|
$NAME: $NAME (a free implementation of Kerberos 5)
$NAME:
$NAME: Heimdal is an implementation of Kerberos 5 (and some more stuff)
$NAME: largely written in Sweden (which was important when we started writing
$NAME: it, less so now).
$NAME:
$NAME:
$NAME: License: Refer to LICENSE
$NAME: Authors:
http://www.h5l.org/$NAME: Website:
http://www.h5l.org/EOF
fi
cat >> $RELEASEDIR/slack-desc << EOF
#----------------------------------------
BUILDDATE: $(date)
PACKAGER: $VL_PACKAGER
HOST: $(uname -srm)
DISTRO: $(cat /etc/vector-version)
CFLAGS: $CFLAGS
LDFLAGS: $LDFLAGS
CONFIGURE: $(awk "/\.\/configure\ /" $TMP/$NAME-$VERSION/config.log)
EOF
cat $RELEASEDIR/slack-desc > $PKG/install/slack-desc
#STRIPPING
#------------------------------------------------------------------------------------------------------------------
cd $PKG
echo " "
echo "Stripping...."
echo " "
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
#------------------------------------------------------------------------------------------------------------------
#FINISH PACKAGE
#--------------------------------------------------------------
echo "Finding dependencies..."
ADD="$ADDRB" EXCLUDE="$EXRB" requiredbuilder -v -y -s $RELEASEDIR $PKG
echo "Creating package $NAME-$VERSION-$ARCH-$BUILD.txz"
makepkg -l y -c n $RELEASEDIR/$NAME-$VERSION-$ARCH-$BUILD.txz
cd $CWD
echo "Cleaning up temp files..." && rm -rf $TMP
echo "Package Complete"
#--------------------------------------------------------------
# vim: set tabstop=4 shiftwidth=4 foldmethod=marker : ##