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

source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1

if ___eapi_dodoc_supports_-r; then
	__PORTAGE_HELPER='dodoc' exec doins "$@"
fi

if [ $# -lt 1 ] ; then
	__helpers_die "${0##*/}: at least one argument needed"
	exit 1
fi

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

dir="${ED}usr/share/doc/${PF}/${_E_DOCDESTTREE_}"
if [ ! -d "${dir}" ] ; then
	install -d "${dir}"
fi

ret=0
for x in "$@" ; do
	if [ -d "${x}" ] ; then
		eqawarn "QA Notice: dodoc argument '${x}' is a directory"
	elif [ -s "${x}" ] ; then
		install -m0644 "${x}" "${dir}" || { ((ret|=1)); continue; }
		ecompress --queue "${dir}/${x##*/}"
	elif [ ! -e "${x}" ] ; then
		echo "!!! ${0##*/}: $x does not exist" 1>&2
		((ret|=1))
	fi
done

[[ $ret -ne 0 ]] && __helpers_die "${0##*/} failed"
exit ${ret}
