#! /bin/sh # Heavily based on the Slackware 12.0 SlackBuild # definiamo alcune variabili contenenti la directory corrente e quella temporanea di lavoro: CWD=`pwd` if ["$TMP" = ""]; then TMP=/tmp/tmp-xl2tpd fi PKG=$TMP/xl2tpd #PKGslash=$(echo $PKG | sed 's/\//\\\//g') # Settiamo qualche altra variabile per velocizzare il lavoro: NAME=xl2tpd VERSION=1.1.12 ARCH=i486 BUILD=1ld if [ ! -d $TMP ]; then mkdir -p $TMP # posizione dove creiamo il sorgente fi if [ ! -d $PKG ]; then mkdir -p $PKG # posizione dove creiamo il package fi echo "+----------------+" echo "| $NAME-$VERSION |" echo "+----------------+" cd $TMP # scompattiamo i sorgenti tar xzf $CWD/$NAME-$VERSION.tar.gz # Sistemiamo un po' di permessi chown -R root:root . find . -perm 777 -exec chmod 755 {} \; find . -perm 775 -exec chmod 755 {} \; find . -perm 555 -exec chmod 755 {} \; find . -perm 664 -exec chmod 644 {} \; find . -perm 666 -exec chmod 644 {} \; find . -perm 444 -exec chmod 644 {} \; # compiliamo e passiamo a make il parametro DESTDIR la dir dove creiamo il package #mkdir -p $PKG/etc/rc.d ## creo rc.d per non avere problemi nel make install echo -e "\n ----- Compiliamo ----- \n" cd $TMP/$NAME-$VERSION make \ MANDIR=/usr/man \ DESTDIR=$PKG install make \ MANDIR=/usr/man \ DESTDIR=$PKG install # strippiamo gli eseguibili e le librerie ( 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 ) # rinominiamo e spostiamo la cartella doc standard, nel caso venga creata in un path non corretto # copiamo i file con informazioni da conservare della dir doc mkdir -p $PKG/etc/rc.d mkdir -p $PKG/etc/xl2tpd mkdir -p $PKG/usr/doc/$NAME-$VERSION cat $CWD/rc.xl2tpd > $PKG/etc/rc.d/rc.xl2tpd cp -a -r doc examples BUGS CHANGES CREDITS LICENSE README* TODO $PKG/usr/doc/$NAME-$VERSION/ FILE_CONF=`find ./doc/ -name "*.sample"` for conf in $FILE_CONF do cp $conf $PKG/etc/xl2tpd/$(basename $conf .sample).new done # gzippiamo le man pages MAN_DIR=`find $PKG/usr/man/ -type f` for man in $MAN_DIR do gzip $man done # Puliamo la cartella doc da doppioni rm $PKG/usr/doc/$NAME-$VERSION/doc/*.5 rm $PKG/usr/doc/$NAME-$VERSION/doc/*.8 rm $PKG/usr/doc/$NAME-$VERSION/doc/*.sample # aggiungiamo la dir Install mkdir -p $PKG/install # impostiamo i permessi chown -R root:root $PKG chmod -R 644 $PKG/usr/doc/$NAME-$VERSION/* chmod -R 644 $PKG/etc/* chmod -R 744 $PKG/etc/rc.d/* #chmod 644 $PKG/lib/modules/$NAME-$VERSION/kernel/extra/* # permetto di accedere alle directory in doc PERM_DOC=`find $PKG/usr/doc/$NAME-$VERSION/ -type d` for dir in $PERM_DOC do chmod +x $dir done # copiamo slack-desc in install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild cd $PKG # Creiamo il pacchetto con makepkg requiredbuilder -v -y -s $CWD $PKG makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz # eliminiamo le dir di lavoro qualora avessimo eseguito lo SlackBuild con l'opzione --cleanup if [ "$1" = "--cleanup" ]; then rm -rf $TMP fi echo -e "\n" echo -e " \|||/ " echo -e " (o o) " echo -e "--------ooO-(_)-Ooo-------" echo -e " by Diego @ www.slacky.eu " echo -e "\n"