--- eutils.eclass.bak 2007-01-31 19:27:10.000000000 +0100
+++ eutils.eclass 2007-01-31 21:02:16.000000000 +0100
@@ -1217,10 +1217,22 @@
# - If the file is not specified then ${LICENSE} is used.
check_license() {
local lic=$1
+ local current_overlay="${O%/*-*/*}"
if [ -z "${lic}" ] ; then
- lic="${PORTDIR}/licenses/${LICENSE}"
+ # Favor current overlay license over any other
+ # If not from an overlay, this checks the ordinary portage tree
+ if [ -d $current_overlay -a -e "${current_overlay}/licenses/${LICENSE}" ] ; then
+ lic="${current_overlay}/licenses/${LICENSE}"
+ # When in an overlay, but license not present there, check portage tree as well
+ elif [ $current_overlay != ${PORTDIR} -a -e "${PORTDIR}/licenses/${LICENSE}" ] ; then
+ lic="${PORTDIR}/licenses/${LICENSE}"
+ else
+ lic="${LICENSE}"
+ fi
else
- if [ -e "${PORTDIR}/licenses/${lic}" ] ; then
+ if [ -d $current_overlay -a -e "${current_overlay}/licenses/${lic}" ] ; then
+ lic="${current_overlay}/licenses/${lic}"
+ elif [ $current_overlay != ${PORTDIR} -a -e "${PORTDIR}/licenses/${lic}" ] ; then
lic="${PORTDIR}/licenses/${lic}"
elif [ -e "${PWD}/${lic}" ] ; then
lic="${PWD}/${lic}"