#!/bin/sh # $Id: lxsession.SlackBuild,v 1.1 2009/09/11 10:33:13 root Exp root $ # Copyright (c) 2008-2009 Eric Hameleers, Eindhoven, NL # Copyright (c) 2010-2014 Matteo Bernardini, Pisa, IT # All rights reserved. # # Permission to use, copy, modify, and distribute this software for # any purpose with or without fee is hereby granted, provided that # the above copyright notice and this permission notice appear in all # copies. # # THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR # CONTRIBUTORS 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. # ----------------------------------------------------------------------------- # # Slackware SlackBuild script # =========================== # By: Eric Hameleers # For: lxsession # Descr: LXDE session manager # URL: http://lxde.sourceforge.net/ # Needs: # Changelog: # 0.3.5-1: 04/Jun/2008 by Eric Hameleers # * Initial build. # 0.3.6-1: 23/Jun/2008 by Eric Hameleers # * Update # 0.3.8-1: 11/sep/2009 by Eric Hameleers # * Update - and name change (previously called lxsession-lite, # it now replaces the deprecated old lxsession) # 0.4.4-1: 12/sep/2010 by Matteo Bernardini # * Adapted to slackbuilds.org's autotools template. # * updated. # 20111224_9e50fdf: 26/dec/2011 by Matteo Bernardini # * update. # 20131103_0cdb35c: 05/nov/2013 by Matteo Bernardini # * update: now includes lxpolkit, lxsession-edit, lxlock, # lxsession-default-apps and lxsettings-daemon. # 20131119_9d2a0cc: 23/nov/2013 by Matteo Bernardini # * update: fixes wrong behaviour with missing lsb_release # 20140418_9550c0e: 29/apr/2014 by Matteo Bernardini # * update. # 0.5.0-1: 06/oct/2014 by Matteo Bernardini # * update. # 0.5.2-1: 07/dec/2014 by Matteo Bernardini # * update. # 0.5.3-1: 10/dec/2016 by Matteo Bernardini # * update. # # Run 'sh lxsession.SlackBuild' to build a Slackware package. # The package (.tgz) plus descriptive .txt file are created in /tmp . # Install using 'installpkg'. # # ----------------------------------------------------------------------------- # Modified by Didier Spaier for Slint # Patches lxsession-logout.c to: # 1) Make handler of clicking the logout button more robust in some # contexts (e.g. under lightdm) by calling the script xlogout, shipped # in the wm-logout package (new dependency). # 2) Disallow "Switch User" under accessible display managers (gdm, gdm3 # and lightdm, as that leads do display a screen locker unaccessible # with speech and braille. PRGNAM=lxsession VERSION=${VERSION:-0.5.3} BUILD=${BUILD:-2} TAG=${TAG:-slint} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi DOCS="AUTHORS COPYING ChangeLog README" CWD=$(pwd) TMP=${TMP:-$CWD} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-$CWD} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi WITHGTK3="" [ "${GTK3:-no}" = "yes" ] && WITHGTK3="--enable-gtk3" set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.?z cd $PRGNAM-$VERSION patch -p0 < $CWD/more_robust_handler_of_logout.diff patch -p0 < $CWD/lxsession-logout-no-switch-user.diff chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \; CXXFLAGS="$SLKCFLAGS" \ CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --localstatedir=/var \ --sysconfdir=/etc \ --enable-man \ --mandir=/usr/man \ --program-prefix= \ --program-suffix= \ --enable-gtk \ $WITHGTK3 \ --enable-buildin-clipboard \ --build=$ARCH-slackware-linux make make install-strip DESTDIR=$PKG find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done # Remove lxpolkit that we don't need. It is built even if not enabled in # configure, despite what "./configure --help" says. Oh, well... rm -rf $PKG/etc rm $PKG/usr/man/man1/lxpolkit.1.gz $PKG/usr/bin/lxpolkit # Add documentation: mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $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.${PKGTYPE:-txz}