helpers and the games eclass
On Sat, 2 Jan 2010, Jeremy Olexa wrote:
On Fri, 01 Jan 2010 18:53:12 -0600 (CST), mattmatteh@mac.com wrote:
thought i would take a look at the games that need patching with
#${EPREFIX}. using bug http://bugs.gentoo.org/show_bug.cgi?id=296987 as
an example, i removed the fix to verify the failure and added einfo to
see
whats going on:
Install tuxmath-20010907 into
/Volumes/prefix-ppc-macos-x11/var/tmp/portage/games-kids/tuxmath-20010907/image/Volumes/prefix-ppc-macos-x11/
category games-kids
* games eclass debug: EPREFIX /Volumes/prefix-ppc-macos-x11
* games eclass debug: GAMES_PREFIX
/Volumes/prefix-ppc-macos-x11/usr/games
* games eclass debug: GAMES_DATADIR
/Volumes/prefix-ppc-macos-x11/usr/share/games
* games eclass debug: GAMES_DATADIR_BASE
/Volumes/prefix-ppc-macos-x11/usr/share
* games eclass debug: GAMES_SYSCONFDIR
/Volumes/prefix-ppc-macos-x11/etc/games
* games eclass debug: GAMES_STATEDIR
/Volumes/prefix-ppc-macos-x11/var/games
* games eclass debug: GAMES_LOGDIR
/Volumes/prefix-ppc-macos-x11/var/log/games
* games eclass debug: GAMES_LIBDIR
/Volumes/prefix-ppc-macos-x11/usr/games/lib
* games eclass debug: GAMES_BINDIR
/Volumes/prefix-ppc-macos-x11/usr/games/bin
-------------------------------------------------------
You should not use ${EPREFIX} with helpers.
--> /Volumes/prefix-ppc-macos-x11/usr/share/games/tuxmath
-------------------------------------------------------
soo... i dont see any problem with the install paths, no double prefix.
what is this error about using ${EPREFIX} with helpers?
before sending i googled and found this
http://www.mail-archive.com/gentoo-alt@lists.gentoo.org/msg03335.html
so it seems that the games eclass should not handle EPREFIX at all ?
but for confugure those do need to be set since that is whats passed,
econf --prefix="${GAMES_PREFIX}"
seems like doins needs to stop whinning ?
matt
In general, you should know that do* functions (helpers) set EPREFIX
behind the scenes.
There are two approaches here.
1) Have EPREFIX in GAMES_PREFIX (eclass) because it is used in ./configure
and makes sense to have it there. If you use "do* ${GAMES_PREFIX}/foo" then
you have to strip the leading EPREFIX out, such as "do*
${GAMES_PREFIX#${EPREFIX}}/foo"
2) Have GAMES_PREFIX not include EPREFIX and then add it to ./configure
--prefix="${EPREFIX}/${GAMES_PREFIX}"
Both approaches are in use and it depends on which way "makes the most
sense" (less diffs/less work) - I hope that sheds some light on the
subject.
-Jeremy
i think i am in favor of #2, but have the games.eclass use EPREFIX
internally where needed.
are there any other eclasses or parts of portage this is or was an issue ?
matt
|