#!/bin/sh # Heavily based on the Slackware 13.37 SlackBuild (v1) # Written by Michelino Chionchio # Last build from Luca De Pandis aka atomix600 (atomix600(at)hotmail(dot)it) # Slackware build script for Alien # Official Site: http://kitenet.net/~joey/code/alien # 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. set -e PKGNAME=${PKGNAME:-alien} VERSION=${VERSION:-8.85} ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-sl} PKGTYPE=${PKGTYPE:-txz} SOURCE=${SOURCE:-http://ftp.de.debian.org/debian/pool/main/a/$PKGNAME/${PKGNAME}_$VERSION.tar.gz} CWD=$(pwd) TMP=${TMP:-/tmp/buildpkgs/$PKGNAME} PKG=${PKG:-$TMP/package-$PKGNAME} OUTPUT=${OUTPUT:-$CWD} if [ ! -e ${PKGNAME}_$VERSION.tar.gz ]; then wget $SOURCE fi CHOST=i486 if [ $ARCH = i486 ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" elif [ $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" CHOST=x86_64 fi rm -rf $TMP mkdir -p $TMP $PKG $OUTPUT cd $TMP tar xvzf $CWD/${PKGNAME}_${VERSION}.tar.gz cd $PKGNAME chmod -R u+w,go+r-w,a-s . chown -R root:root . perl Makefile.PL CCFLAGS="SLKCFLAGS" \ make make install PERLVER=$(ls /var/log/packages/perl* | cut -c19- | cut -f2 -d '-' | cut -f1 -d '.') PERLSUBVER=$(ls /var/log/packages/perl* | cut -c19- | cut -f2 -d '-') mkdir -p $PKG/usr/bin mv /usr/bin/alien $PKG/usr/bin/ mkdir -p $PKG/usr/lib/perl$PERLVER/site_perl/$PERLSUBVER/ mv /usr/lib/perl$PERLVER/site_perl/$PERLSUBVER/Alien/ $PKG/usr/lib/perl$PERLVER/site_perl/$PERLSUBVER mkdir -p $PKG/usr/man/{man1,man3}/ mv /usr/man/man1/alien* $PKG/usr/man/man1/ mv /usr/man/man3/Alien* $PKG/usr/man/man3/ gzip -9 $PKG/usr/man/{man1,man3}/* mkdir -p $PKG/usr/lib/perl$PERLVER/site_perl/$PERLSUBVER/i486-linux-thread-multi/auto/Alien cat << EOF > $PKG/usr/lib/perl$PERLVER/site_perl/$PERLSUBVER/i486-linux-thread-multi/auto/Alien/.packlist /usr/bin/alien /usr/lib/perl5/site_perl/$PERLVER/Alien/Package.pm /usr/lib/perl5/site_perl/$PERLVER/Alien/Package/Deb.pm /usr/lib/perl5/site_perl/$PERLVER/Alien/Package/Lsb.pm /usr/lib/perl5/site_perl/$PERLVER/Alien/Package/Pkg.pm /usr/lib/perl5/site_perl/$PERLVER/Alien/Package/Rpm.pm /usr/lib/perl5/site_perl/$PERLVER/Alien/Package/Slp.pm /usr/lib/perl5/site_perl/$PERLVER/Alien/Package/Tgz.pm /usr/man/man1/alien.1.gz /usr/man/man3/Alien::Package.3.gz /usr/man/man3/Alien::Package::Deb.3.gz /usr/man/man3/Alien::Package::Lsb.3.gz /usr/man/man3/Alien::Package::Pkg.3.gz /usr/man/man3/Alien::Package::Rpm.3.gz /usr/man/man3/Alien::Package::Slp.3.gz /usr/man/man3/Alien::Package::Tgz.3.gz EOF rm -rf /usr/lib/perl5/site_perl/$PERLVER/i486-linux-thread-multi/auto/Alien/ mkdir -p $PKG/usr/share mv /usr/share/$PKGNAME/ $PKG/usr/share/ mkdir -p $PKG/usr/doc/$PKGNAME-$VERSION cp -a \ GPL INSTALL README TODO \ $PKG/usr/doc/$PKGNAME-$VERSION cat $CWD/$PKGNAME.SlackBuild > $PKG/usr/doc/$PKGNAME-$VERSION/$PKGNAME.SlackBuild cat $CWD/slack-desc > $PKG/usr/doc/$PKGNAME-$VERSION/slack-desc 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 ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true ) mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG chown -R root:root $PKG if [ -x "$(which requiredbuilder 2>/dev/null)" ]; then requiredbuilder -y -v -s $CWD $PKG fi /sbin/makepkg -l y -c n $OUTPUT/$PKGNAME-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE if [ "$1" = "--cleanup" ]; then rm -rf $TMP fi