#!/bin/sh # Heavily based on the Slackware 12.2 SlackBuild # http://lxde.org # Packager Andrea Sciucca ( gohanz at infinito.it) # http://www.slacky.it # Exit on most errors set -e NAME=lxde-common VERSION=0.4.1 ARCH=${ARCH:-i486} BUILD=1as_lxslacky TMP=${TMP:-/tmp/tgz} PKG=$TMP/package-$NAME CWD="$(pwd)" CHOST=i486 SOURCE=http://dfn.dl.sourceforge.net/sourceforge/lxde/$NAME-$VERSION.tar.bz2 if [ ! -e $NAME-$VERSION.tar.bz2 ]; then wget -c $SOURCE fi if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486 elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486 elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC"; SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" fi rm -rf $TMP/$NAME-$VERSION rm -rf $PKG mkdir -p $PKG cd $TMP tar xvjf $CWD/$NAME-$VERSION.tar.bz2 echo -e "\E[0;32m+--------------------------------------+\E[0;0m" echo -e "\E[0;32m| Start SlackBuild $NAME-$VERSION |\E[0;0m" echo -e "\E[0;32m+--------------------------------------+\E[0;0m" cd $NAME-$VERSION # Patch the source to start LXDE with dbus.! # Thank's Darkvision :) #patch -p1 < $CWD/lxde-use_dbus.patch || exit sed -i "s/Exec\=\@prefix\@\/bin\/startlxde/Exec\=dbus\-launch \-\-exit\-with\-session \-\-sh\-syntax \@prefix\@\/bin\/startlxde/g" LXDE.desktop.in sed -i "s/firefox\.desktop/mozilla\-firefox\.desktop/g" lxpanel/panel.in sed -i "s/gnome\-terminal\.desktop/lxterminal\.desktop/g" lxpanel/panel.in sed -i "s/xterm/lxterminal/g" lxpanel/config find . \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) -exec chmod 755 {} \; find . \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; chown -R root:root . LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --disable-static \ --mandir=/usr/man \ --program-prefix= \ --program-suffix= \ --build=$CHOST-slackware-linux make make install DESTDIR=$PKG ( 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 find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null ) # Add support for KDM: for kdmdir in ${KDEDIR} ${KDE4DIR}; do if [ -d $kdmdir/share/apps/kdm/sessions ]; then mkdir -p $PKG/$kdmdir/share/apps/kdm/sessions ln -sf /usr/share/xsessions/LXDE.desktop $PKG/$kdmdir/share/apps/kdm/sessions/ fi done # Add support for GDM: mkdir -p $PKG/etc/X11/dm/Sessions ln -sf /usr/share/xsessions/LXDE.desktop $PKG/etc/X11/dm/Sessions/ #auto update mime-database, desktop-database, icon-cache cp $CWD/update.sh $PKG/usr/share/lxde/ chmod 755 $PKG/usr/share/lxde/update.sh echo "" >> $PKG/etc/xdg/lxsession/LXDE/autostart echo "/usr/share/lxde/update.sh" >> $PKG/etc/xdg/lxsession/LXDE/autostart echo -e "\nivman &" >> $PKG/etc/xdg/lxsession/LXDE/autostart # This file is kept for backward compatibility. Only used by obsolete lxsession <=0.3.6, not lxsession-lite (renamed lxsession from 0.3.8). rm -rf $PKG/etc/xdg/lxsession/LXDE/default # fix lxde-logout on lxpanel mkdir -p $PKG/usr/share/applications cat lxde-logout.desktop.in > $PKG/usr/share/applications/lxde-logout.desktop # add lock screen cat $CWD/lxde-lock-screen.desktop > $PKG/usr/share/applications/lxde-lock-screen.desktop # add slackware wallpapers tar -xvjf $CWD/slackware-wallpapers.tar.bz2 -C $PKG/usr/share/lxde/wallpapers mv $PKG/usr/share/lxde/wallpapers/slackware-wallpapers/* $PKG/usr/share/lxde/wallpapers/ rm -rf $PKG/usr/share/lxde/wallpapers/slackware-wallpapers # add new lxde wallpapers tar -xvjf $CWD/lxde-new-wallpapers.tar.bz2 -C $PKG/usr/share/lxde/wallpapers mv $PKG/usr/share/lxde/wallpapers/lxde-new-wallpapers/* $PKG/usr/share/lxde/wallpapers/ rm -rf $PKG/usr/share/lxde/wallpapers/lxde-new-wallpapers # set default wallpaper sed -i "s/^wallpaper\=.*$/wallpaper\=\/usr\/share\/lxde\/wallpapers\/SlackClean_1600x1200.jpg/" $PKG/usr/share/lxde/pcmanfm/main.lxde # fix default terminal echo -e "[General] \nterminal=lxterminal" >> $PKG/usr/share/lxde/pcmanfm/main.lxde # add slackware icons tar -xvjf $CWD/slackware-icons.tar.bz2 -C $PKG/usr/share/lxde/images mv $PKG/usr/share/lxde/images/slackware-icons/* $PKG/usr/share/lxde/images/ rm -rf $PKG/usr/share/lxde/images/slackware-icons # i don't like slackware icon, i prefer lxde default icon for this reason not set different icon # replace banner with my banner mv $PKG/usr/share/lxde/images/logout-banner.png $PKG/usr/share/lxde/images/logout-banner.png.orig cat "$CWD"/my-logout-banner.png > $PKG/usr/share/lxde/images/logout-banner.png mkdir -p $PKG/usr/doc/$NAME-$VERSION cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README $PKG/usr/doc/$NAME-$VERSION mkdir -p $PKG/usr/doc/$NAME-$VERSION/SlackBuild cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/slack-desc cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/$NAME.SlackBuild cat $CWD/update.sh > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/update.sh if [ -d $PKG/usr/man ]; then ( cd $PKG/usr/man find . -type f -exec gzip -9 {} \; for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done ) fi mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat << EOF > $PKG/install/doinst.sh if [ -x /usr/bin/update-mime-database ]; then /usr/bin/update-mime-database usr/share/mime &> /dev/null fi if [ -x /usr/bin/update-desktop-database ]; then /usr/bin/update-desktop-database &> /dev/null fi if [ -x /usr/bin/gtk-update-icon-cache ]; then /usr/bin/gtk-update-icon-cache -f -q usr/share/icons/hicolor &> /dev/null fi EOF cd $PKG chown -R root:root $PKG if [ -x /usr/bin/requiredbuilder ]; then requiredbuilder -y -v -s $CWD $PKG fi makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz (cd $CWD md5sum $NAME-$VERSION-$ARCH-$BUILD.tgz > $NAME-$VERSION-$ARCH-$BUILD.tgz.md5 cat $PKG/install/slack-desc | grep "^$NAME" > $NAME-$VERSION-$ARCH-$BUILD.txt ) if [ "$1" = "--cleanup" ]; then if [ "$TMP" != "/" ]; then rm -rf $TMP fi fi