Usando package.env para ganchos de fase

0

Seguindo esta resposta eu configurei um arquivo simples /etc/portage/env/echo.conf :

post_pkg_postinst()
{
    echo "updating $P to $PV"
}

com a linha

sys-apps/util-linux echo.conf

em /etc/portage/package.env

Agora, quando o emerge tenta atualizar util-linux , recebo o seguinte erro:

!!! Problem in 'sys-apps/util-linux' dependencies.
!!! "/etc/portage/env/echo.conf", line 2: Invalid token '(' (not '=') portage.exception                                                                ... done!
"/etc/portage/env/echo.conf", line 2: Invalid token '(' (not '=')

com a linha 2 sendo a declaração da função post_pkg_postinst() .

Minha configuração de portage:

sys-apps/portage-2.2.20::gentoo was built with the following:
USE="(ipc) -build -doc -epydoc (-selinux) -xattr" ABI_X86="64" LINGUAS="-ru" PYTHON_TARGETS="python2_7 python3_3 (-pypy) -python3_4"
    
por Uroc327 25.07.2015 / 11:15

1 resposta

1

env/* arquivos são analisados com python , e não bash , portanto, a mensagem de erro.

AFAIK, o único lugar para colocar código bash é portage/bashrc , mas NÃO tente substituir funções internas como src_configure , etc. Ganchos em fases precisam ser configurados através da verificação de $EBUILD_PHASE var.

E para dar aos seus ganchos alguma estrutura, você pode tentar a sua sorte com bashrc-mv .

    
por 07.08.2015 / 01:28

Tags