#!/bin/sh

# names of binaries
check=/usr/sbin/quotacheck
on=/usr/sbin/quotaon
quotadir=/var/lib/quota
quotaisnew=${quotadir}/new

ALLFLAGS=-aug
CHECKALLFLAGS=${ALLFLAGS}m

set -e

. /lib/lsb/init-functions

if [ ! -d "${quotadir}" ]; then
    if [ -x /bin/mountpoint ] && /bin/mountpoint -q /var; then
	log_action_msg "quota directory ${quotadir} does not exist, but /var is mounted already -- consider reinstalling package \"quota\".  Aborting."
    elif [ -x /bin/mountpoint ]; then
	log_action_msg "quota directory ${quotadir} does not exist (nothing mounted to /var).  Aborting."
    else
	log_action_msg "quota directory ${quotadir} does not exist (/var not mounted yet maybe? \$(ls -la /var|wc -l)==\"$(/usr/bin/ls -la /var|/usr/bin/wc -l)\").  Aborting."
    fi
    exit 1
fi

# Check if quota has been enabled already
LC_MESSAGES=C $on -ap|grep -q "is on" && exit 0

# option 'skip' takes precedence even for newly installed quota package 
skip="no"
if grep "quotacheck.mode=skip" /proc/cmdline >/dev/null 2>&1; then
	skip="yes"
fi

# Check all filesystems if quota is new
if [ -x $check -a $skip = "no" -a -f $quotaisnew ] ; then
	log_action_begin_msg 'Checking quotas';
	$check -c $CHECKALLFLAGS
	log_action_end_msg 0
fi

# Remove special file
rm -f $quotaisnew

exit 0
