#!/bin/sh
#
# updated.SlackBuild
# 2015-10-30
#

PRGNAM=updated
VERSION=20151030
ARCH=noarch
BUILD=${BUILD:-1}
TAG=${TAG:-scr}

HOMEPAGE="http://www.gernot-walzl.at/"
SOURCE="rc.updated"
DOWNLOAD="${HOMEPAGE}Slackware/Scripts/${SOURCE}"
MD5SUM="b47c12f079bfa31655675da8831fa7b5"

REQUIRES="slackpkg"

MAINTAINER="Gernot Walzl"
EMAIL="gernot.walzl@gmx.at"

DESC="Update Daemon"

# EOF info


# set initial variables
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# exit on error
set -e

# download the source if needed
if [ ! -f $CWD/$SOURCE ]; then
  wget -O $CWD/$SOURCE $DOWNLOAD || exit 1
fi

# check for correct source file
if [ "$(md5sum $CWD/$SOURCE | cut -f 1 -d ' ')" != "$MD5SUM" ]; then
  exit 1
fi

# install everything into the package directory
rm -rf $PKG
mkdir -p $PKG/install
mkdir -p $PKG/etc/rc.d
install -m 0755 $SOURCE $PKG/etc/rc.d || exit 1

# config
cat > $PKG/etc/rc.d/rc.updated.conf.new <<EOF
# /etc/rc.d/rc.updated.conf
REMOVE_MULT_VERS_SAME_PKG=on
AUTO_UPGRADE_SLACKPKG=on
AUTO_UPGRADE_SLAPTGET=on
CLEAN_CACHE_AFTER_UPGRADE_SLACKPKG=on
CLEAN_CACHE_AFTER_UPGRADE_SLAPTGET=on
EOF

# add some description to the package
if [ "$DESC" != "" ]; then
  echo "$DESC" | sed 's/^/'$PRGNAM': /g' > $PKG/install/slack-desc
fi

# append dependency information to the package
if [ "$REQUIRES" != "" ]; then
  for REQ in $REQUIRES; do
    echo "$REQ" >> $PKG/install/slack-required
  done
fi

# doinst.sh
cat > $PKG/install/doinst.sh << EOF2
#!/bin/sh

config () {
  NEW="\$1"
  OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
  if [ ! -r "\$OLD" ]; then
    mv \$NEW \$OLD
  elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
    rm \$NEW
  fi
}

config etc/rc.d/rc.updated.conf.new

if [ "\$(grep rc.updated etc/rc.d/rc.local)" = "" ]; then
  cat >> etc/rc.d/rc.local << EOF
if [ -x /etc/rc.d/rc.updated ]; then
  /etc/rc.d/rc.updated start
fi
EOF
fi
EOF2

# build the package
cd $PKG
makepkg -l y -c n \
  $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} \
  || exit 1

# make everything clean
cd $CWD
rm -rf $PKG
