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

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

if ! ___eapi_has_prefix_variables; then
	ED=${D}
fi

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
___eapi_has_docompress && 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
