#!/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
