#!/bin/sh

#################################################################
# A script by Florian "eix" Rehnisch <eixman@gmx.de>
# placed under GPLv2+
#
# fetches xxxterm sources and builds a deb package from them
#
# xxxterm is a minimalistic webbrowser based on webkit with vi(m)
# keybindings by Marco Peereboom <marco@peereboom.us>
#
# install dpkg-dev to get the architecture right
#################################################################

eixstartdir=`pwd`
eixbuilddir=$HOME/src/xxxterm
eixbuilder=$DEBEMAIL
eixdocdir=debian/usr/share/doc/xxxterm
eixbindir=debian/usr/bin
eixmandir=debian/usr/share/man/man1

[ -x /usr/bin/dpkg-architecture ] &&
  eixarch=`dpkg-architecture -qDEB_BUILD_ARCH` ||
  eixarch=unknown


[ -z "$eixbuilder" ] && {
  echo "Please enter your name and email address for maintainer information ";
  echo -n "> ";
  read eixbuilder;
  [ -z $eixbuilder] && exit 1;}

echo "Checking files"
echo -n "/usr/bin/dpkg-deb ... "
[ -x /usr/bin/dpkg-deb ] && echo "Ok" ||{
  echo "Missing.  This script is targeted to dpkg-based systems.  Sorry.  Aborting";
  exit 1;
}
echo -n "/usr/bin/cvs ... "
[ -x /usr/bin/cvs ] && echo "Ok" || {
  echo "missing.  Needed to get sources. Install cvs and re-run.  Aborting";
  exit 1
}
echo -n "/usr/bin/gcc ... "
[ -x /usr/bin/gcc ] && echo "Ok" || (echo "missing. Aborting."&& exit 1)
echo -n "<webkit/webkit.h> ... "
[ -f `find /usr/include -wholename webkit/webkit.h` ] && echo "Ok" ||{
  echo "missing.  Please install libwebkit-dev.  Aborting.";
  exit 1;
}

[ -d $eixbuilddir ] && {
  echo -n $eixbuilddir "exists.  Use it? (y/n) ... "; read eixusebuilddir;
  case $eixusebuilddir in
    y)
      echo "Ok";;
    n)
      echo "Aborting";exit 1;;
    *)
      echo "Didn't understand you.  Aborting";exit 1;;
  esac;
}

[ -d $eixbuilddir ] || mkdir --parent $eixbuilddir

cd $eixbuilddir

echo "getting source ... "
CVSROOT=anoncvs@anoncvs.freedaemon.com:/xxxterm cvs co xxxterm||{
  echo "failed.  Aborting"; exit 1
}
echo "Done"

echo "Compiling ..."
cd xxxterm/linux&&make&&cd ..


echo "Preparing package build ..."
[ -d $eixdocdir ] || mkdir --parent $eixdocdir
cat <<. >$eixdocdir/copyright
Package build on `date`
by $eixbuilder
using xxxterm-debmaker by Florian "eix" Rehnisch <eixman@gmx.de>

Copyright (c) 2010 Marco Peereboom <marco@peereboom.us>
.

eixxxxtermversion=`grep 'xxxterm\.c\/' CVS/Entries|cut -f3 -d'/'`
cat <<. >$eixdocdir/changelog
xxxterm ($eixxxxtermversion-1); unknown; urgency=low

 * Packaged by xxxterm-debmaker.

 -- $eixbuilder  `date -R`
.
gzip -f9 $eixdocdir/changelog

[ -d $eixdocdir/examples ] || mkdir --parent $eixdocdir/examples
install --mode 644 favorites $eixdocdir/examples/
install --mode 644 xxxterm.conf $eixdocdir/examples/

[ -d $eixdocdir/html ] || mkdir --parent $eixdocdir/html
install --mode 644 html/index.html $eixdocdir/html
install --mode 644 html/man.html $eixdocdir/html

[ -d $eixbindir ] || mkdir --parent $eixbindir
install --mode 755 linux/xxxterm $eixbindir

[ -d $eixmandir ] || mkdir --parent $eixmandir
install --mode 644 xxxterm.1 $eixmandir

[ -d debian/DEBIAN ] || mkdir debian/DEBIAN
cat <<. >debian/DEBIAN/control
Package: xxxterm
Version: $eixxxxtermversion-1
Maintainer: $eixbuilder
Section: non-free/web
Priority: extra
Architecture: $eixarch
Homepage: http://www.peereboom.us/xxxterm/html/index.html
Description: minimal webbrowser based on webkit with vi bindings
.

echo "Building package ..."
dpkg-deb -b debian $eixstartdir/xxxterm_$eixxxxtermversion-1_$eixarch.deb


