#!/bin/bash

[[ -r /etc/default/hhvm ]] || {
    echo "file '/etc/default/hhvm' not found/readable."
    exit 1
}
. /etc/default/hhvm

[[ -n $RUN_AS_USER ]] || {
    echo "var 'RUN_AS_USER' empty/undefined."
    exit 1
}
getent passwd $RUN_AS_USER >/dev/null || {
    echo "user '$RUN_AS_USER' does not exist."
    exit 1
}
[[ -n $SERVER_FILESOCKET ]] || {
    echo "var 'SERVER_FILESOCKET' empty/undefined."
    exit 1
}

[[ -S $SERVER_FILESOCKET ]] && {
    echo "removing socket file '$SERVER_FILESOCKET'"
    rm -f "$SERVER_FILESOCKET"
}

#etc_tmpfile="/etc/tmpfiles.d/hhvm.conf"
#lib_tmpfile="/usr/lib/tmpfiles.d/hhvm.conf"
#[[ -e $etc_tmpfile ]] || cp -p $lib_tmpfile $etc_tmpfile
#cur_user=$(grep "^d /run/hhvm 0755 " $etc_tmpfile | awk '{print $4}')
#[[ $RUN_AS_USER != $cur_user ]] && \
#    sed -e "s|^\(d /run/hhvm 0755\) [^ ]* \(.*\)$|\1 $RUN_AS_USER \2|" \
#        -i $etc_tmpfile

for dir in /run/hhvm /var/cache/hhvm /var/lib/hhvm ; do
    echo "checking file owner for '$dir'"
    [[ $RUN_AS_USER != $(stat -c "%U" $dir) ]] && {
        echo "changing file owner for '$dir' to '$RUN_AS_USER'"
        chown -fR $RUN_AS_USER $dir || {
            echo "... chown with errors."
            exit 1
        }
    }
done

exit 0
