#!/bin/bash # # KWORT PACKAGE MAKER # Build script by mankeletor # Kwort home page: http://kwort.org # Date: May 4, 2007 # Patches and code edited from the original files made by Patrik Volderking PKG=kdebase-3.5.6 MANP=opt/kde ARCH=i486 CWD=`pwd` QTDIR=/usr/lib/qt KDEDIR=/opt/kde BUILD=2mnk if [ "$1" = "--clean-log" ]; then rm $CWD/build-errors.log fi echo "cleaning..." make distclean $NULL make clean $NULL zcat $CWD/plugin-keyboard-handler.diff.gz | patch -p0 echo "configuring..." ./configure \ --prefix=/opt/kde \ --sysconfdir=/etc \ --localstatedir=/var \ --with-ssl-dir=/usr \ --with-xinerama \ --enable-inotify \ --program-prefix="" \ --program-suffix="" \ --host=$CHOST \ --target=$CHOST $CHOST || exit if [ -d /home/pkg/$PKG ]; then echo "removing previous existing package directory..." rm -rf /home/pkg/$PKG fi echo "make..." make || exit 1 #echo "make install..." #make install DESTDIR=/home/pkg/$PKG # ================================================================== # ADDITIONALS # ================================================================== date >> build-errors.log mkdir -p /home/pkg/$PKG/install && echo "Path done: /home/pkg/$PKG/install........ [OK]" >> build-errors.log mkdir -p /home/pkg/$PKG/usr/doc/kde/$PKG && echo "Path done: /home/pkg/$PKG/usr/doc/kde/$PKG....... [OK]" >> build-errors.log mkdir -p /home/pkg/$PKG/opt/kde/share/config && echo "Path done: /home/pkg/$PKG/opt/kde/share/config...... [OK]" >> build-errors.log mkdir -p /home/pkg/$PKG/etc/X11/xinit && echo "Path done: /home/pkg/$PKG/etc/X11/xinit....[OK]" >> build-errors.log mkdir -p /home/pkg/$PKG/etc/profile.d/ && echo "Path done: /home/pkg/$PKG/etc/profile.d/....... [OK]" >> build-errors.log mkdir -p /home/pkg/$PKG/opt/kde/share/applications/kde && echo "Path done: /home/pkg/$PKG/opt/kde/share/applications/kde....[OK]" >> build-errors.log # REPLACE the follow slack-desc file with yours: cat $CWD/slack-desc > /home/pkg/$PKG/install/slack-desc && echo "File created: slack-desc" >> build-errors.log cp AUTHORS COPYING INSTALL README kdebase.lsm \ /home/pkg/$PKG/usr/doc/kde/$PKG && echo "Documentation files sucessfuly copied" >> build-errors.log ####################################################################################################################### cat $CWD/doinst.sh > /home/pkg/$PKG/install/doinst.sh && echo "doinst.sh sucessfully created" >> build-errors.log ######################################################################################################################### cat $CWD/kludge/kcmartsrc > /home/pkg/$PKG/opt/kde/share/config/kcmartsrc && echo "kcmartsrc sucessfuly copied" >> build-errors.log cat $CWD/xinit/xinitrc.kde > /home/pkg/$PKG/etc/X11/xinit/xinitrc.kde && (echo "xinitrc.kde sucessfuly created")>> build-errors.log chmod 755 /home/pkg/$PKG/etc/X11/xinit/xinitrc.kde && echo "Chmoding 755 to xinitrc.kde done" >> build-errors.log ########################################################################################################################## cat $CWD/profile.d/kde.sh > /home/pkg/$PKG/etc/profile.d/kde.sh && (echo "kde.sh sucessfuly created")>> build-errors.log ######################################################################################################################## cat $CWD/profile.d/kde.csh > /home/pkg/$PKG/etc/profile.d/kde.csh && (echo "kde.csh sucessfuly created")>> build-errors.log # Change the konsole defaults to look like the real Linux console: cat $CWD/config/konsolerc > /home/pkg/$PKG/opt/kde/share/config/konsolerc && (echo "konsolerc sucessfuly created") >> build-errors.log chmod 644 /home/pkg/$PKG/opt/kde/share/config/konsolerc && echo "Chmoding 644 to konsolerc done" >> build-errors.log # Setting 38 pixel custom icons to kpanel cat $CWD/kickerrc > /home/pkg/$PKG/opt/kde/share/config/kickerrc && echo "kickerrc sucessfuly created">> build-errors.log # Make konsole a login shell by default: cat $CWD/config/konsole.desktop > /home/pkg/$PKG/opt/kde/share/applications/kde/konsole.desktop && (echo "konsole.desktop... done")>> build-errors.log chmod 644 /home/pkg/$PKG/opt/kde/share/applications/kde/konsole.desktop && echo "Chmoding 644 to konsole.desktop done" >> build-errors.log # Antialias fonts ###################################################################################################### cat > $PKG/opt/kde/share/config/kdeglobals && echo "kdeglobals... done">> build-errors.log chmod 644 $PKG/opt/kde/share/config/kdeglobals # Setup config files for KDM: /home/pkg/$PKG/opt/kde/bin/genkdmconf --no-old --no-old-scripts --no-backup --in /home/pkg/$PKG/opt/kde/share/config/kdm && (echo "creating the file kdm... done")>> build-errors.log # 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 /home/pkg/$PKG/opt/kde/share/config/kdm/kdmrc | perl -pi -e 's|AllowRootLogin=false|AllowRootLogin=true|' > /home/pkg/$PKG/opt/kde/share/config/kdm/kdmrc.new && (echo "Not allow RootLogin=false done! I sucessfuly patched the file kdmrc")>> build-errors.log ( cd /home/pkg/$PKG/opt/kde/share/config/kdm/; mv kdmrc.new kdmrc ) || (echo "I cannot move the file kdmrc.new to kdmrc ")>> build-errors.log cp -a /home/pkg/$PKG/opt/kde/share/config/kdm/Xsession /home/pkg/$PKG/opt/kde/share/config/kdm/Xsession.orig && echo "I sucessfuly backup the file Xsession to Xsession.orig">> build-errors.log cat $CWD/config/Xsession > /home/pkg/$PKG/opt/kde/share/config/kdm/Xsession && echo "I sucesfully create the file Xsession" >> build-errors.log # ================================================================== # @END ADDITIONALS@ # ================================================================== cd /home/pkg/$PKG DU1=$(du -s | sed -e "s/[.]//g") echo "The entire package directory without strip have $(du -sh)" 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 DU2=$(du -s | sed -e "s/[.]//g") echo "Now have $(du -sh)" && echo "Package was be stripped" >> build-errors.log if [ ! $DU1 = $DU2 ]; then echo "=)" else echo "Package uses same disc space than before strip =( ...don't worry, probably you don't need it =)" && echo "Package didn't need to be streeped" fi if [ -d $MANP/man ]; then echo "gziping manuals..." gzip -9 $MANP/man/man?/* && echo "Manuals gziped" >> build-errors.log fi echo "makepkg..." makepkg -l y -c n $PKG-$ARCH-$BUILD.tgz && echo "package done!" >> build-errors.log echo "FINISHIED*************************************************************"