I have set the following in my make.conf: PORTDIR="/var/portage" DISTDIR=${PORTDIR}/distfiles PKGDIR=${PORTDIR}/packages RPMDIR=${PORTDIR}/rpm since I felt that /var is a better location for the portage tree. However, I think that the proper behavior would be for packages to respect the PORTDIR variable and a lot of them don't. A grep -r /usr/portage in my portage tree shows that gentoolkit for sure has problems, the openoffice, setiathome, avidemux, ymessenger, sendmail, mondo-rescue, gzip_x86, arphicfonts, artwiz-fonts ebuilds only show wrong information, bash-completion uses /usr/portage in its completion file, blackdown-jdk and kaffe try to source /usr/portage/eclass/inherit.eclass (hardcoded path), sys-apps/portage ebuilds have the make.profile link hardcoded, nss-mysql uses /usr/portage/${CATEGORY}/nss-mysql/files/ instead of ${FILESDIR}... that's about it. The wrong output of those packages is not a problem - it is only information after all, and those who tweak the value of $PORTDIR probably know what that means. However, having ebuilds fail because of that is not an option. Right now I have a symlink at /usr/portage pointing to ../var/portage. I don't have to submit a separate report for each ebuild do I?
Created attachment 6364 [details, diff] Removes hardcoded paths from PORTAGE ebuilds Works for me, just: patch -p1 < $patch in ${PORTDIR}/sys-apps/portage
portage is fixed