diff options
Diffstat (limited to 'patches/source/kdebase-workspace/kdebase-workspace.SlackBuild')
-rwxr-xr-x | patches/source/kdebase-workspace/kdebase-workspace.SlackBuild | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/patches/source/kdebase-workspace/kdebase-workspace.SlackBuild b/patches/source/kdebase-workspace/kdebase-workspace.SlackBuild new file mode 100755 index 00000000..7b05faa7 --- /dev/null +++ b/patches/source/kdebase-workspace/kdebase-workspace.SlackBuild @@ -0,0 +1,117 @@ +#!/bin/sh + +# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-kdebase-workspace + +# 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 + +# Avoid a version number in .la files: +if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then + QTDIR=/usr/lib${LIBDIRSUFFIX}/qt +fi + +rm -rf $PKG +mkdir -p $PKG/usr +cd $TMP +echo "Building kdebase-workspace-$VERSION..." +tar xvf $CWD/../src/kdebase-workspace-$VERSION.tar.?z* || exit 1 +cd kdebase-workspace-$VERSION + +cat $CWD/kdebase-workspace-4.3.5-CVE-2010-0436-really-for-4.3.5.diff | patch -p1 || exit 1 + +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 build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DMAN_INSTALL_DIR=/usr/man \ + -DSYSCONF_INSTALL_DIR=/etc/kde \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + .. + make $NUMJOBS || exit 1 + make install DESTDIR=$PKG || exit 1 +cd - + +if [ -d $PKG/usr/man ]; then + gzip -9 $PKG/usr/man/man?/* +fi + +mkdir -p $PKG/etc/X11/xinit +cat $CWD/xinit/xinitrc.kde > $PKG/etc/X11/xinit/xinitrc.kde +chmod 0755 $PKG/etc/X11/xinit/xinitrc.kde + +# 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. +sed -i 's/AllowRootLogin=false/AllowRootLogin=true/' \ + $PKG/usr/share/config/kdm/kdmrc +mv $PKG/usr/share/config/kdm/kdmrc $PKG/usr/share/config/kdm/kdmrc.new + +cp -a $PKG/usr/share/config/kdm/Xsession $PKG/usr/share/config/kdm/Xsession.orig +cat $CWD/config/Xsession | sed -e "s#/lib#/lib${LIBDIRSUFFIX}#" \ + > $PKG/usr/share/config/kdm/Xsession +mv $PKG/usr/share/config/kdm/backgroundrc $PKG/usr/share/config/kdm/backgroundrc.new + +# 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 . ) + +# This is fubar: +rm -f $PKG/usr/share/icons/hicolor/index.theme + +mkdir -p $PKG/usr/doc/kdebase-workspace-$VERSION +cp -a COPYING* README $PKG/usr/doc/kdebase-workspace-$VERSION + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/kdebase-workspace-$VERSION-$ARCH-$BUILD.txz + |