#!/bin/sh

# Copyright 2008  Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# 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.

PKGNAM=iproute2
VERSION=2.6.26
PKGVER=$(echo $VERSION | tr - _)
BUILD=${BUILD:-1}

. /etc/pkghelpers
pkghelpers_env

rm -rf $PKG
mkdir -p $PKG
mkdir -p $PKG/usr/man/man8
cd $TMP
rm -rf iproute2-$VERSION
tar xvf $CWD/iproute2-$VERSION.tar.bz2
cd iproute2-$VERSION
pkghelpers_permissions

if [ x$LIBSUFFIX = "" ]; then
  # Fix up path to bdb
  zcat $CWD/iproute2.dbpath.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
  # Fix up iptables lib path
  zcat $CWD/iproute2.iptablespath.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
  exit
else
  # Patch from CLFS
  zcat $CWD/iproute2-2.6.26-libdir-1.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
  # Apply the Slackware bdb change with sed instead
  sed -i s%/usr/include%/usr/include/db44% Makefile
fi

make -j 1 \
  DOCDIR=doc/iproute2-$VERSION \
  MANDIR=man/ \
  LIBDIR=lib$LIBSUFFIX \
  || exit 1

# This doesn't embed any $TMP or $PKG paths in anything
# Have a look at what the Makefile does for why :)
mkdir -p $PKG/usr
make install \
  DOCDIR=doc/iproute2-$VERSION \
  MANDIR=man/ \
  LIBDIR=lib$LIBSUFFIX \
  DESTDIR=$PKG/usr/ \
  || exit 1

# This stuff has always been installed under /sbin rather than
# /usr/sbin, as the latter could possibly be network-mounted, and
# these utilities may be needed to set up that network, so move
# them appropriately, but leave symlinks in /usr/sbin so that
# any scripts using absolute paths will work either way:
mkdir $PKG/sbin
mv $PKG/usr/sbin/* $PKG/sbin
( cd $PKG/usr/sbin
  for file in ../../sbin/* ; do
    ln -sf $file .
  done
)

mv $PKG/usr/etc $PKG
# Don't clobber existing config files
for file in $PKG/etc/iproute2/* ; do
  mv $file ${file}.new
done

mkdir -p $PKG/var/lib/arpd

cp -a COPYING RE* $PKG/usr/doc/iproute2-$VERSION

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh

cd $PKG
pkghelpers_fixup
pkghelpers_makepkg