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

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

if [[ -z $1 ]] ; then
	infodir="/usr/share/info"
else
	if [[ -d ${D}$1/share/info ]] ; then
		infodir="$1/share/info"
	else
		infodir="$1/info"
	fi
fi

if [[ ! -d ${D}${infodir} ]] ; then
	if [[ -n $1 ]] ; then
		vecho "${0##*/}: '${infodir}' does not exist!"
		exit 1
	else
		exit 0
	fi
fi

find "${D}${infodir}" -type d -print0 | while read -d $'\0' x ; do
	rm -f "${x}"/dir{,.info}{,.gz,.bz2}
done

exec ecompressdir --queue "${infodir}"
