What is the difference between removing support for a feature that appears in the defaults by using -useflag in the make.conf file vs. not having a feature in the cumulative defaults at all and having nothing related to it either in the make.conf file?
É mais complexo do que isso, a ordem do sinalizador USE conforme visto pelo Portage é determinada por USE_ORDER = "env:pkg:conf:defaults:pkginternal:repo:env.d"
(o padrão pode ser substituído em /etc/{,portage/}make.conf
; consulte man make.conf
para obter mais detalhes), o que significa que todos esses locais substituir o que é definido nos últimos locais mencionados nessa variável.
Para simplificar, sua pergunta é sobre pkginternal
e repo
aqui; respectivamente os flags de USE do pacote interno e o repositório, você notará aqui que o pacote pode sobrescrever os padrões no repositório.
Isso acontece quando um pacote usa explicitamente a sintaxe +flag
ou -flag
, caso em que isso é usado em consideração posterior; se, no entanto, apenas flag
sem sufixo for usado, a configuração padrão que vem do repositório (ou env.d) será usada.
Se não houver nenhuma configuração padrão, o padrão é desativado; isso faz sentido, já que os perfis permitem coisas tão bem quanto o fato de ter todos os recursos ativados por padrão permitiria demais.
Se você fizer uma bolha (passando adiante conf
, que é /etc/{,portage/}make.conf
); o mesmo continua a ser aplicado, uma configuração padrão não existente em qualquer lugar significa que o sinalizador USE está desativado.
Can an application sourced from the default profile be qualified in relation to a standard application compiled in one of the standard Linux distributions? (is the default profile close to some "standard" or is it already a pretty much customized subset?)
Em uma distribuição Linux padrão, você receberia um pacote com muitos recursos habilitados; no entanto, no Gentoo você pode escolher quais recursos você deseja ativar. As mais sadias bandeiras de USE que a maioria deseja são on-line; mas além disso, suporte para diferentes tipos de formatos, protocolos, recursos ... e assim por diante, você precisa especificamente ativá-lo.
Para ter uma ideia melhor sobre isso; Dê uma olhada nos flags USE em emerge -pv media-video/vlc
. Para obter uma lista descrita mais detalhada disso; do emerge gentoolkit
e, em seguida, equery u media-video/vlc
.
Em uma nota lateral, você encontrará alguns sinalizadores de USE relacionados à área de trabalho habilitados no perfil da área de trabalho; bem como as opções de USE relacionadas ao servidor ativadas no perfil do servidor, e assim por diante ...
Is it really an issue nowadays to select a no-multilib profile for the whole build?
Nenhum comentário sobre isso, você pode tentar pedir pro e contras nos fóruns; Eu corro um perfil multilib para estar no lado seguro. Eu diria que isso só faz sentido se você executar um sistema no qual saiba que não precisará de aplicativos de 32 bits; você pode notar pela lista daqueles que existem que não há nenhum desktop ou servidor específico presente:
$ find /usr/portage/profiles/ -name '*no-multilib*'
/usr/portage/profiles/hardened/linux/amd64/no-multilib
/usr/portage/profiles/arch/amd64/no-multilib
/usr/portage/profiles/default/linux/amd64/10.0/no-multilib
/usr/portage/profiles/default/linux/amd64/13.0/no-multilib
Assim, escolher esse perfil também faria com que você perdesse os padrões que o desktop / servidor pode fornecer; no entanto, a quantidade de padrões é bastante limitada, você pode muito bem replicá-los em seu make.conf se realmente acredita que precisa de um perfil sem multilib para o seu fluxo de trabalho.