#!/bin/bash

CWD=$(pwd)

GITHUB_REPO=pluxml/PluXml
VERSION=${VERSION:-latest}

PRGNAM=$(basename $CWD)
ARCH="noarch"	# hardcode ARCH
BUILD=${BUILD:-1}
TAG=${TAG:-gwh}

VHOST=${VHOST:-vhosts/$PRGNAM/}
VHOSTROOT=/var/www/${VHOST}
DOCROOT=${DOCROOT:-/var/www/${VHOST}htdocs}

PHPUSER=${PHPUSER:-apache}
PHPGROUP=${PHPGROUP:-apache}

TMP=${TMP:-/tmp/$TAG}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

set -eu

rm -rf $PKG
mkdir -p $TMP $OUTPUT $PKG/$VHOSTROOT

REPOSITORY=/home/installs/SlackBuilds/_repositories/$PRGNAM
[ ! -e $REPOSITORY ] && git clone https://github.com/${GITHUB_REPO} $REPOSITORY
( cd $REPOSITORY
  git pull )

cp -R $REPOSITORY $PKG/$VHOSTROOT/htdocs
cd $PKG/$VHOSTROOT/htdocs

[ "x$VERSION" == "xlatest" ] && VERSION=$(git tag --sort=-taggerdate | head -n1)
[ "x$VERSION" == "x" ] && VERSION=trunk
[ "x$VERSION" == "xtrunk" ] && VERSION="git_r$(git rev-list --count HEAD)_$(git log -1 --format=%h)" || git checkout $VERSION

rm -fr $PKG/$VHOSTROOT/htdocs/.git
mv $PKG/$VHOSTROOT/htdocs/install.php $PKG/$VHOSTROOT/htdocs/install.php.disabled

chown -R root:root .
find . \
     \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 -o -perm 755 \) \
     -exec chmod 750 {} \; -o \
     \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 -o -perm 644 \) \
     -exec chmod 640 {} \;

mkdir -p $PKG/usr/doc/$PRGNAM
cp -a README* $PKG/usr/doc/$PRGNAM

# Change ownership and perms and create a link.
chown -R $PHPUSER:$PHPGROUP $PKG/$DOCROOT
chmod 0750 $PKG/$DOCROOT

mkdir -p $PKG/install

cat <<EOF > $PKG/install/slack-desc
$PRGNAM: $PRGNAM (Moteur de Blog et CMS à l'XML sans base de données)
$PRGNAM:
$PRGNAM: (rename $VHOSTROOT/htdocs/install.php.disabled
$PRGNAM:  into
$PRGNAM:  $VHOSTROOT/htdocs/install.php
$PRGNAM:  if it's your first installation)
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM: http://pluxml.org
$PRGNAM:
EOF

cd $PKG
rm -f $PKG/{,usr/}lib$(uname -m | grep -o 64)/*.la
/sbin/makepkg --linkadd y --chown n --prepend $OUTPUT/$PRGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}