#!/bin/bash

# syslinux.SlackBuild
# Heavily based on the original Slackware build scripts,
# Modified by Stuart Winter <stuart@armedslack.org>
# Please see changelog.txt for revisions to this package's build script history.
#
# Note that for ARMedslack or anything non x86, we don't care about
# the binaries.  We just want copies of the memdisk and so on because
# they're great for PXE/TFTP boots for x86 clients.

# Record toolchain & other info for the build log:
slackbuildinfo

# Paths to skeleton port's source & real Slackware source tree:
export CWD=$SLACKSOURCE/$PKGSERIES/$PACKAGE
export PORTCWD=$PWD

# Temporary build locations:
export TMPBUILD=$TMP/build-$PACKAGE
export PKG=$TMP/package-$PACKAGE
mkpkgdirs # Delete & re-create temporary directories then cd into $TMPBUILD

# Extract source:
tar jxvvf $CWD/$PACKAGE-$VERSION.tar.bz2
cd $PACKAGE-$VERSION
slackhousekeeping

# Create package framework:
mkdir -p $PKG/usr/{bin,share/syslinux,include,doc/$PACKAGE-$VERSION}

## Install binaries:
#cp -a syslinux syslinux-nomtools gethostip ppmtolss16 lss16toppm \
#      $PKG/usr/bin
#chmod 755 $PKG/usr/bin/*

# Install binary data:
cp -a pxelinux.0 isolinux.bin isolinux-debug.bin syslinux.com copybs.com memdisk/memdisk \
      $PKG/usr/share/syslinux

# Install libraries:
#mkdir -p $PKG/usr/lib
#cp -a libsyslinux.a $PKG/usr/lib

# Install includes:
#mkdir -p $PKG/usr/include
#cp -a syslinux.h $PKG/usr/include

# Copy docs:
cp -a COPYING NEWS README TODO distrib.doc isolinux.doc pxelinux.doc syslinux.doc \
      memdisk/memdisk.doc menu \
      $PKG/usr/doc/$PACKAGE-$VERSION

# If necessary, start the fakeroot server so we can set file/dir ownerships:
start_fakeroot

# Apply generic Slackware packaging policies:
cd $PKG
slackstripall   # strip all .a archives and all ELFs
slackgzpages -i # compress man & info pages and delete usr/info/dir
slackslack      # chown -R root:root, chmod -R og-w, slackchown (root:bin), slack644docs
slackdesc       # install slack-desc and doinst.sh

# Overwrite the slack-desc from Slackware's tree with our own
# that contains a message about the modifcations/removed files:
install -m644 $PORTCWD/slack-desc $PKG/install

# Build the package:
if [ $PORTARCH = arm ]; then
   slackmp # run makepkg
  else
   makepkg -l y -c n $PKGSTORE/$PKGSERIES/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
fi

# Perform any final checks on the package:
cd $PKG
slackhlinks     # search for any hard links
