Um olhar sobre o Portage-Tools - Parte III
Nesta terceira parte, pretendo introduzir os conceitos de USE flags e sua utilização. Como podemos construir um sistema moderno e estável definindo as flags necessárias. Vou expor também o arquivo de configurações que, talvez, seja o mais conhecido e utilizado no Gentoo: o make.conf. Vou apresentar também outros arquivos de configuração muito úteis para a dupla dinâmica: Portage/Emerge. Vamos nessa!
Introdução
The Philosophy of Gentoo
Every user has work they need to do. The goal of Gentoo is to design tools and systems that allow a user to do that work as pleasantly and efficiently as possible, as they see fit. Our tools should be a joy to use, and should help the user to appreciate the richness of the Linux and free software community, and the flexibility of free software. This is only possible when the tool is designed to reflect and transmit the will of the user, and leave the possibilities open as to the final form of the raw materials (the source code.) If the tool forces the user to do things a particular way, then the tool is working against, rather than for, the user. We have all experienced situations where tools seem to be imposing their respective wills on us. This is backwards, and contrary to the Gentoo philosophy.
Put another way, the Gentoo philosophy is to create better tools. When a tool is doing its job perfectly, you might not even be very aware of its presence, because it does not interfere and make its presence known, nor does it force you to interact with it when you don't want it to. The tool serves the user rather than the user serving the tool. The goal of Gentoo is to strive to create near-ideal tools. Tools that can accommodate the needs of many different users all with divergent goals. Don't you love it when you find a tool that does exactly what you want to do? Doesn't it feel great? Our mission is to give that sensation to as many people as possible.
Daniel Robbins
Previous Chief Architect
INTRODUÇÃO
Como vimos nos artigos anteriores, o Portage possui diversos arquivos de configuração que servem para moldar a forma como ele deve trabalhar e construir nosso sistema. Apesar da facilidade de alteração nestes arquivos é necessário entendermos a interação entre eles, pois alguns arquivos possuem precedências sobre outros e resultados inesperados podem aparecer, como falhas na compilação dos pacotes e/ou diversos erros devolvidos pelo Portage.Não entrarei em detalhes sobre como configurar cada arquivo pois o Gentoo é uma meta distribuição de inúmeros propósitos. Sendo assim, cada caso é um caso. Eu não posso assumir que as configurações que eu tenho definidas farão o mesmo efeito na máquina de outra pessoa. Ora, o sistema é todo compilado e de acordo com a arquitetura da máquina. Insto inclui instruções bem específicas, até mesmo em Assembly que o GCC entende e assume para o sistema. Desta forma é importante frisar que os sistemas são ímpares, assim sendo, as necessidades de cada usuário e de cada máquina serão totalmente diferentes.
É importante esclarecer que isto não quer dizer que não podemos ajudar a definir e compartilhar as configurações de tais arquivos. A grande questão é: conforme a arquitetura da máquina e conforme o caminho que o usuário quer e/ou pretende seguir. O Gentoo pode ser construído para ser um servidor, um Desktop para jogos, um sistema embarcado, ou qualquer outra coisa que nossa tecnologia atual permita. Diante disto cada configuração será ordenada de um jeito bem específico. Até mesmo para Desktop há inúmeras opções de configuração, imagine toda as possibilidades que temos em mãos.
Dito isto, antes de tudo irei introduzir o conceito de USE flags. Isto será importante para entendermos os próximos passos, arquivos e ferramentas. Vimos superficialmente as flags no artigos anteriores agora é hora de nos aprofundarmos mais e, nas próximas páginas, veremos aonde reside um pouco do poder e versatilidade do Gentoo. Vou falar também sobre o arquivo make.conf e suas variáveis que controlam o ambiente global do Gentoo.
Vamos nessa!
Sobre a variável do USE_EXPAND, a L10N, esta irá substituir a variável LINGUAS em um futuro próximo. Então, obrigatoriamente, devemos ter ambas informadas no nosso make.conf respeitando as diferenças de padrões entre elas.
É isso aí.
-----------------------------------''----------------------------------
"If it moves, compile it."