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

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

if [[ ! -d ${mandir} ]] ; then
	eqawarn "QA Notice: prepman called with non-existent dir '${mandir#${D}}'"
	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#${D}}"

exit 0
