Codice: Seleziona tutto
#!/bin/sh
CWD=`pwd`
TMP=/tmp
PKG=$TMP/package-kdebase
# Set the config option variables if they are not already set:
if [ -r ../KDE.options ]; then
. ../KDE.options
fi
# The global options may be overridden here (if needed):
if [ -r ./local.options ]; then
. ./local.options
fi
rm -rf $PKG
mkdir -p $PKG/usr
# Avoid a version number in .la files:
if [ -d /usr/lib/qt ]; then
QTDIR=/usr/lib/qt
fi
cd $TMP
echo "Building kdebase-$VERSION.tar.bz2..."
tar xjvf $CWD/kdebase-$VERSION.tar.bz2 || exit 1
cd kdebase-$VERSION || exit 1
chown -R root:root .
CFLAGS=$CPUOPT \
CXXFLAGS=$CPUOPT \
./configure \
--prefix=/usr \
--sysconfdir=/etc/kde \
--with-shadow \
--with-xinerama \
--disable-debug \
--program-prefix="" \
--program-suffix="" \
--build=$TARGET-slackware-linux
make || exit 1
make install DESTDIR=$PKG
# Move the KDM files someplace FHS compliant:
mkdir -p $PKG/etc/kde
mv $PKG/usr/share/config/kdm $PKG/etc/kde
( cd $PKG/usr/share/config ; ln -sf ../../../etc/kde/kdm . )
### !!! KLUDGE ALERT !!! ###
### CAUSES ARTS TO NOT USE REALTIME PRIORITY BY DEFAULT, WORKING AROUND A LOGOUT HANG ###
### THIS SHOULD BE RECONSIDERED WITH EACH KDEBASE RELEASE! ###
cat $CWD/kludge/kcmartsrc > $PKG/usr/share/config/kcmartsrc
### !!! KLUDGE ALERT !!! ###
mkdir -p $PKG/usr/doc/kdebase-$VERSION
cp -a \
AUTHORS COPYING INSTALL README kdebase.lsm \
$PKG/usr/doc/kdebase-$VERSION
mkdir -p $PKG/etc/X11/xinit $PKG/etc/profile.d
cat $CWD/xinit/xinitrc.kde > $PKG/etc/X11/xinit/xinitrc.kde
cat $CWD/profile.d/kde.sh > $PKG/etc/profile.d/kde.sh
cat $CWD/profile.d/kde.csh > $PKG/etc/profile.d/kde.csh
chmod 755 $PKG/etc/X11/xinit/xinitrc.kde $PKG/etc/profile.d/kde.sh $PKG/etc/profile.d/kde.csh
# Change the konsole defaults to look like the real Linux console:
cat $CWD/config/konsolerc > $PKG/usr/share/config/konsolerc
chmod 644 $PKG/usr/share/config/konsolerc
# Make konsole a login shell by default:
cat $CWD/config/konsole.desktop > $PKG/usr/share/applications/kde/konsole.desktop
chmod 644 $PKG/usr/share/applications/kde/konsole.desktop
# set sane defaults for antialiasing:
if [ ! -e $PKG/usr/share/config/kdeglobals ]; then
cat $CWD/config/kdeglobals > $PKG/usr/share/config/kdeglobals
chmod 644 $PKG/usr/share/config/kdeglobals
else
# This might be fixed or unsafe. Better check it out...
echo
echo "BAILOUT: kdeglobals already exists. Check to see if anti-aliased"
echo " fonts work out-of-the-box now..."
echo
exit 1
fi
# Setup config files for KDM:
$PKG/usr/bin/genkdmconf --no-old --no-old-scripts --no-backup --in $PKG/usr/share/config/kdm
# Not allowing root to login at the console is just plain silly. If they have physical access to
# the machine, what's the point of trying to stop this? Even the kdmrc file says this is supposed
# to be the default.
cat $PKG/usr/share/config/kdm/kdmrc | perl -pi -e 's|AllowRootLogin=false|AllowRootLogin=true|' > $PKG/usr/share/config/kdm/kdmrc.new
rm -f $PKG/usr/share/config/kdm/kdmrc
cp -a $PKG/usr/share/config/kdm/Xsession $PKG/usr/share/config/kdm/Xsession.orig
cat $CWD/config/Xsession > $PKG/usr/share/config/kdm/Xsession
mv $PKG/usr/share/config/kdm/backgroundrc $PKG/usr/share/config/kdm/backgroundrc.new
mkdir -p $PKG/install
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
( cd $PKG
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
)
if [ -d $PKG/usr/man ]; then
gzip -9 $PKG/usr/man/man?/*
fi
cd $PKG
makepkg -l y -c n ../kdebase-$VERSION-$ARCH-$BUILD.tgz

