#!/bin/bash
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh

[[ " ${FEATURES} " == *" force-prefix "* ]] || \
	case "$EAPI" in 0|1|2) ED=${D} ;; esac

if [[ -z $1 ]] ; then 
	mandir="${ED}usr/share/man"
else
	mandir="${ED}$1/man"
fi

if [[ ! -d ${mandir} ]] ; then
	eqawarn "QA Notice: prepman called with non-existent dir '${mandir#${ED}}'"
	exit 0
fi

# replaced by controllable compression in EAPI 4
has "${EAPI}" 0 1 2 3 || exit 0

shopt -s nullglob

really_is_mandir=0

# use some heuristics to test if this is a real mandir
for subdir in "${mandir}"/man* "${mandir}"/*/man* ; do
	[[ -d ${subdir} ]] && really_is_mandir=1 && break
done

[[ ${really_is_mandir} == 1 ]] && exec ecompressdir --queue "${mandir#${ED}}"

exit 0
