#! /bin/sh
#
# (C) 1998 Manoj Srivastava & Eric Delaunay.

set -e

PATCHNAME=international
PATCHFILE=int-patch.gz
PATCHDIR=/usr/src/kernel-patches/all

if ! test -d kernel -a -d Documentation ; then
    echo "Not in kernel top level directory. Exiting" >&2
    exit 1
fi

if test -f debian/APPLIED_all_$PATCHNAME ; then
   exit 0		# patch already applied
fi

VERSION=$(grep ^VERSION Makefile 2>/dev/null | \
                 sed -e 's/[^0-9]*\([0-9]*\)/\1/')
PATCHLEVEL=$(grep ^PATCHLEVEL Makefile 2>/dev/null | \
                    sed -e 's/[^0-9]*\([0-9]*\)/\1/')
SUBLEVEL=$(grep ^SUBLEVEL Makefile 2>/dev/null | \
                  sed -e 's/[^0-9]*\([0-9B]*\)/\1/')

#if [ "$VERSION.$PATCHLEVEL.$SUBLEVEL" != "2.2.10" -a "$VERSION.$PATCHLEVEL.$SUBLEVEL" != "2.2.11" ] ; then
#   echo -n "The international kernel patch has only been tested with kernel"
#   echo -n "versions 2.2.{10,11,12}. Apply patch (Y/n)?"
#   read answer
#   if [ "$answer" = "n" -o "$answer" = "N" ] ; then
#     exit 1
#   fi
#fi

PATCH_VERSION=$(patch -v | head -1 | sed -e 's/[^0-9\.]//g')
PATCH_OPTIONS="-l -s -p1"

rm -f include/asm

# If a prepatch exists apply it:
if test -f $PATCHDIR/pre-int-patch-$VERSION.$PATCHLEVEL.$SUBLEVEL.gz ; then
  zcat $PATCHDIR/pre-int-patch-$VERSION.$PATCHLEVEL.$SUBLEVEL.gz | patch $PATCH_OPTIONS
fi

zcat $PATCHDIR/$PATCHFILE | patch $PATCH_OPTIONS

echo "Removing empty files after patching" >&2
find . -type f -size 0 -exec rm {} \; -print
mkdir -p debian && touch debian/APPLIED_all_$PATCHNAME
exit 0
