Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 381037 - media-libs/freetype-1.4_pre20080316-r2.ebuild (CVS v1.8) must declare EAPI for $ED to work
Summary: media-libs/freetype-1.4_pre20080316-r2.ebuild (CVS v1.8) must declare EAPI fo...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Fonts Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-29 11:19 UTC by Gianni Ceccarelli
Modified: 2011-09-01 08:40 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gianni Ceccarelli 2011-08-29 11:19:50 UTC
The freetype 1.4 ebuild has been recently modified to use $EPREFIX and $ED.

When I tried building it, I got a sandbox access violation, because $ED was not actually set, so it was trying to install to /usr/lib

When I set EAPI="4" in the ebuild, everything worked.

I don't know much about the internals of portage, but I'm pretty sure by this point that setting EAPI is required to have EPREFIX and ED set.


Reproducible: Always

Steps to Reproduce:
1. update the portage tree to include $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/freetype-1.4_pre20080316-r2.ebuild,v 1.8 2011/08/28 17:32:21 grobian Exp $
2. emerge media-libs/freetype:1
Actual Results:  
sandbox access violation when trying to install into /usr/lib

Expected Results:  
normal emerge, installing into /var/tmp/portage/media-libs/freetype-1.4_pre20080316-r2/image/usr/lib or some such, then merging
Comment 1 Ryan Hill (RETIRED) gentoo-dev 2011-09-01 04:18:22 UTC
We need to migrate the ebuild to EAPI 3.  Fabian, I think you just volunteered ;).
Comment 2 Fabian Groffen gentoo-dev 2011-09-01 08:40:12 UTC
Hey that seems like unintended breakage.  Sorry folks!

I couldn't migrate the ebuild to EAPI=3, so I added guards for the prefix vars.  Tested on amd64.  I hope this fixes the issue for everyone.  Sorry once again for the breakage!

@Gianni: yes you're right.  EPREFIX, EROOT and ED are only available starting from EAPI=3.  Since EAPI=2 src_compile is split in src_configure and src_compile, which means the econf calls all need to be done at the same time, which is not easily possible, since they depend on each other, that is the second econf requires the first one to have finished and actually built some libs.