#!/bin/bash
# make_digiKam.sh is a script that generates a DEB digiKam package
# from tar ball source. Aimed at Ubuntu 9.04

set -o errexit  # Exit when simple command fails.  Same as `set -e'
set -o nounset  # Trigger error when expanding unset variables.  Same as `set -u'

WHO="`whoami` <mail@home.net>"
PKGN="digikam"
PKGV="1.0.0"
PKGR="beta4"
PKGF=${PKGN}-${PKGV}-${PKGR}.tar.bz2
TOP="${HOME}/src"
DEST="$HOME/tmp/${PKGN}"
ARCH="amd64" # either amd64 or i386
DEB="${PKGN}_${PKGV}-${PKGR}_${ARCH}.deb"

# Start from a green field
echo "*** Deleting previous code..."
sudo rm -rf "${DEST}"
sudo rm -rf "${TOP}/${PKGN}-${PKGV}-${PKGR}"
#svn#sudo rm -rf "${TOP}/graphics"

echo "*** Going to install dependencies from repository..."
sudo apt-get install build-essential automake libtool gettext fakeroot cdbs debhelper pkg-kde-tools cmake kdelibs5-dev kdepimlibs5-dev libc6-dev libqt4-dev libgcc1 libglib2.0-dev libgphoto2-2-dev  libkdcraw7-dev libkexiv2-7-dev libkipi6-dev liblcms1-dev libtiff4-dev libpng12-dev libjasper-dev liblensfun-dev libjpeg62-dev libmarble-dev libsqlite3-dev libltdl3-dev
echo ""
mkdir -p $TOP && cd $TOP

if [ ! -f "${PKGF}" ]; then
	echo "MK: Downloading the tarball ${PKGF} from SourceForge..."
	wget "http://downloads.sourceforge.net/sourceforge/digikam/${PKGF}"
fi
tar -xvjf "${PKGF}"
cd "${TOP}/${PKGN}-${PKGV}-${PKGR}"

#svn#svn co -N svn://anonsvn.kde.org/home/kde/trunk/extragear/graphics
#svn#cd graphics
#svn#svn up digikam
#svn#svn up kipi-plugins
#svn#svn up cmake
#svn#mkdir build
#svn#cd build

echo "*** Compiling..."
#svn#cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ../../graphics
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .
make
make DESTDIR=${DEST} install 
mkdir -p -m 0777 ${DEST}/DEBIAN

# Basic description
echo "Package: ${PKGN}" > ${DEST}/DEBIAN/control
echo "Version: 2:${PKGV}-${PKGR}" >> ${DEST}/DEBIAN/control
echo "Section: Applications/Graphics" >> ${DEST}/DEBIAN/control
echo "Priority: optional" >> ${DEST}/DEBIAN/control
echo "Architecture: ${ARCH}" >> ${DEST}/DEBIAN/control
echo "Depends: kdebase-runtime, kdelibs5, kdepimlibs5, libc6, libgcc1, libglib2.0-0, libgphoto2-2, libgphoto2-port0, libjasper1, libjpeg62, libkdcraw7, libkexiv2-7, libkipi6, liblcms1, liblensfun0, libmarble4, libqt4-dbus, libqt4-network, libphonon4, libqt4-qt3support, libqt4-sql, libqt4-sql-sqlite, libqt4-svg, libqt4-xml, libqtcore4, libqtgui4, libsoprano4, libstdc++6, libtiff4, zlib1g" >> ${DEST}/DEBIAN/control
echo "Maintainer: ${WHO}" >> ${DEST}/DEBIAN/control
echo "Description: digiKam" >> ${DEST}/DEBIAN/control
echo " digiKam" >> ${DEST}/DEBIAN/control

# Update dynamic linker cache
cat > ${DEST}/DEBIAN/postinst << 'EOF'
#!/bin/sh
set -e
ldconfig
exit 0
EOF

# Do some cleaning
chmod 0755 ${DEST}/DEBIAN/postinst
find ${DEST} -type d | xargs chmod 755   # this is necessary on Debian Woody, don't ask me why

# Put it all together
fakeroot dpkg-deb --build ${DEST} ${HOME}/${DEB}

echo "Script $0 completed."


