A number of ebuilds do things like this:
inherit foo
VAR="${FOO_VAR}"
src_compile()
{
emake blah=${VAR}
}
where foo.eclass looks like this:
foo_pkg_setup()
{
export FOO_VAR=baz
}
and where VAR is usually one of the KV variables from linux-info.
This works with Portage as it is currently implemented because Portage
re-sources everything between every phase. However, it breaks with pure
environment-saving based ebuild implementations, including Paludis and
possibly Portage in the future (pure environment saving is the only way
to avoid the removing eclass problems). So, the question:
Is this something that has to work (at the expense of never allowing
eclass removal in the future), or is it a fluke and are ebuilds that
use it broken? An easy workaround is to move the ebuild global
variables into pkg_setup, and call the eclass_pkg_setup from within the
ebuild pkg_setup.
--
Ciaran McCreesh
Mail : ciaranm at ciaranm.org
Web : http://ciaranm.org/
Paludis, the secure package manager : http://paludis.pioto.org/
signature.asc
Description: PGP signature
