On Tue, 20 Oct 2015 17:04:10 +0300, Nikos Chantziaras wrote: > I'm following the documentation here: > > https://wiki.gentoo.org/wiki/Handbook:AMD64/Portage/Advanced#Using_.2Fetc.2Fportage.2Fenv > > to hook into the postinst phase of an ebuild. The docs only provide an > actual example for the global hook case (/etc/portage/bashrc), but it > says it works the same way on a per-ebuild basis > using /etc/portage/env. But it is totally silent on how to actually do > that :-/ > > So I assume, since the docs don't mention anything special, that I > should put the code in a conf file. So I created this file: > > /etc/portage/env/test.conf > > and in it: > > if [ "${EBUILD_PHASE}" == "postinst" ]; > then > echo ":: TEST" > fi > > Then I added this line to /etc/portage/package.env: > > app-misc/mc test.conf > > But when I "emerge app-misc/mc", I get: > > !!! Problem in 'app-misc/mc' dependencies. > !!! "/etc/portage/env/test.conf", line 1: Invalid token '[' (not '=') > portage.exception > ... done! > "/etc/portage/env/test.conf", line 1: Invalid token '[' (not '=') > > I don't get it... Can't I have a per-package bashrc or something? The > docs are suggesting that I can, but don't tell me how.
I'm nut sure you can put that sort of thing in package.env, I thought it was only for settings variables, like make.conf but per-package. You can add function calls in /etc/portage/env/cat/pkg, for example I have used this for a couple of packages that didn't support epatch_user post_src_unpack() { cd "${S}" epatch_user } AFAIK you can do this for any of the standard ebuild functions listed in man 5 ebuild. -- Neil Bothwick "We demand rigidly defined areas of doubt and uncertainty!"
pgpYc64XEVc9K.pgp
Description: OpenPGP digital signature