- ACCEPT_RESTRICT: [strip,mirror,fetch,userpriv,test,binchecks,bindist,installsources,preserve-libs,primaryuri,splitdebug] - nesta variável mascaramos pacotes com base nestas restrições. A saber:
binchecks: desabilita a checagem de QA (Quality Assurance) para pacotes binários e apenas para estes que esta checagem se faça desnecessária, por exemplo para pacotes que não tenham partes binárias. Para pacotes que contenham binários proprietários, será necessário utilizar variáveis especiais de QA (vide man page).
bindist: restringe pacotes pré compilados (binários).
fetch: assim como mirror, porém os pacotes não serão buscados através da variável SRC_URI.
installsources: desabilita a instalação de pacotes fontes para pacotes específicos cujos binários não são compatíveis com o pacote debugedit (RPM).
mirror: arquivos na variável SRC_URI não serão baixados através do GENTOO_MIRRORS.
preserve-libs: desabilita a característica de preservar bibliotecas (preserv-libs) para pacotes específicos.
primaryuri: busca por URI's através da variável SRC_URI, antes da variável GENTOO_MIRRORS.
splitdebug: desabilita informações de debug para pacotes específicos, estas informações são providenciadas pelo pacote splitdebug. Esta característica pode ser aplicada para pacotes que tenham problemas com debug, colisões de arquivos etc.
strip: por padrão, ao instalar pacotes binários, o Portage fará uma varredura nestes arquivos em busca de seções desnecessárias, reduzindo assim, o tamanho do arquivo a ser instalado e consequentemente ocupando menos espaço em disco, além de retirar informações de debug (geradas pela flag -g*, do GCC). Ao definirmos esta restrição (strip) o Portage não fará esta busca e deixará estes arquivos exatamente da forma como foram construídos, incluindo informações de debug e símbolos para debugging.
É possível ainda conseguir o mesmo procedimento com a restrição anterior, a splitdebug. Entretanto com esta opção, além do Portage fazer a varredura no arquivo, ele também fará o backup das informações de debug e copiará estas para um arquivo default ".debug", que será instalado no diretório /usr/lib/debug. O nome completo do arquivo será o mesmo dado pelo mesmo nome do pacote/programa instalado.
test: com esta restrição definida, o Portage não rodará a função src_test() presente nos ebuilds. Esta função testa a pré instalação de scripts, entretanto, talvez seja necessário restringir isto caso ocorra problemas se determinados testes não possam ser utilizados no ambiente do Portage. Algumas razões para isto pode ser:
- Necessidade de usar o ambiente X;
- Necessidade para trabalhar com arquivos que são desabilitados pelo sandbox¹;
- Requer uma ação do usuário - a função src_test() não deve ser interativa;
- Requer privilégios root.
Caso o usuário defina esta restrição aqui, o Portage dará preferência à esta ao invés da FEATURES="test", que veremos mais adiante.
userpriv: durante determinadas fases de compilação de um pacote o Portage pode decidir escalar privilégios do usuário, do root para usuário comum (caso este esteja no grupo "portage"). Habilitando esta restrição o Portage não tomará nenhuma ação caso uma destas fases requeira isto.
É importante enfatizar que a maioria destas restrições são mais interessantes para desenvolvedores. Isto inclui uma série de fatores, começando pelo stage baixado e passando pelo perfil de desenvolvedor definido pelo utilitário eselect. Então, salvo o contrário, um usuário comum dificilmente precisará utilizar tais restrições.
- CCACHE_DIR = [caminho]: define o diretório de onde o programa ccache irá trabalhar, o valor default é /var/tmp/ccache. Este programa é, ou era, muito utilizado, porém devido à inúmeros problemas e bugs é importante frisar que seu uso é mais recomendado para desenvolvedores. O que este programa faz é criar um cache de programas compilados. Quando o mesmo programa for atualizado ou reinstalado, o ccache buscará esta informação tornando a (re)compilação mais rápida. Este programa é útil apenas nestes casos: quando precisamos (re)compilar um programa muitas vezes ou quando há muitas atualizações para o mesmo programa. Atualmente suporta as linguagens C, C++, Objective-C e Objective-C++.
- CCACHE_SIZE = "tamanho[G, M ou K]": define o tamanho do espaço que será usado pelo ccache. O valor default é de 2G.
- CFLAGS CXXFLAGS: são variáveis de ambiente que controlam os compiladores de C (CFLAGS, usualmente o gcc) e de C++ (CXXFLAGS, g++), durante as fases de compilação dos pacotes. Servem para otimizar a compilação e os pacotes para o sistema. Estas variáveis são comumente setadas da seguinte forma:
Muitas pessoas param no meio do caminho por conta destas variáveis, encontrando dificuldades para entender seu funcionamento. Entretanto seu uso é bem simples e pretendo explicar brevemente como devemos utilizar tais variáveis. Veremos isto na próxima página e já peço desculpas antecipadas por conta da próxima página gigante.