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!"

Attachment: pgpYc64XEVc9K.pgp
Description: OpenPGP digital signature

Reply via email to