Referência de arquivo de configuração
O arquivo ~/.config/jhbuildrc usa uma sintaxe padrão do Python. O arquivo é executado e as variáveis resultantes definidas no espaço de nomes são usadas para controlar como o JHBuild age. Um conjunto de valores padrões são inseridos no espaço de nomes antes de executar o arquivo do usuário.
Variáveis de configuração em Boolean são definas usando uma sintaxe como demonstrado no exemplo a seguir:
use_local_modulesets = True
Variáveis de configuração em string são definidas usando uma sintaxe como demonstrado no exemplo a seguir:
autogenargs = '--disable-static --disable-gtk-doc'
Variáveis de configuração em lista são definidas usando uma sintaxe como demonstrada no exemplo a seguir:
skip = ['mozilla', 'pulseaudio']
Variáveis de configuração de dicionário são definidas usando uma sintaxe como demonstrada no exemplo a seguir:
repos['git.gnome.org'] = 'ssh://usuário@git.gnome.org/git/'
6.1. Variáveis de configuração
- alwaysautogen
-
Um valor em boolean que, se definida como True, sempre excecuta autogen.sh. Este comando é equivalente a passar a opção --autogen para o JHBuild. Padrão é False.
- autogenargs
-
Uma string contendo argumentos passados para o script autogen.sh de todos os módulos. Pode ser sobrescrita por módulos em particular, usando o dicionário module_autogenargs.
- branches
-
Um dicionário especificando qual ramo deve ser usado para módulos específicos. Isso é útil se você está fazendo algumas alterações em um ramo de um módulo e deseja JHBuild compilar este ramo em vez daquele listado na coleção de módulos.
A definição de ramos depende do sistema de controle de versão do módulo:
-
CVS: revisão. Ex.: 'BRANCH-PROJECT-0_8'
-
Bazaar: URI do ramo do módulo. Ex.: 'http://bzr.exemplo.net/projeto/gnome-2-28'
-
Git: tupla, com a primeira parte sendo um repositório opcional (ou o valor "None") e a segunda parte do nome do ramo. Ex.: ('git://git.exemplo.net/projeto', 'gnome-2-28')
Example 2 Exemplo simplesbranches['nome-do-módulo'] = (None, 'nome-do-ramo')
-
Subversion: URI do ramo do módulo. Ex.: 'svn://svn.exemplo.net/projeto/gnome-2-28'
-
- builddir_pattern
-
Um padrão de formatação de estilo do printf usado para gerar nomes de diretórios de compilação. Isso é usado apenas ao usar árvores de fontes e compilação separados. O %s na string de formatação será substituído com checkoutdir. Padrão é '%s'.
- buildroot
-
Uma string especificando o diretório pai para colocar as árvores de compilação. Padrão é None, o que faz com que as compilações sejam realizadas dentro das árvores de fontes.
- buildscript
-
Uma string especificando qual buildscript deve ser usado. A configuração recomendada é a padrão, terminal. Em particular, não defina para gtk.
- build_policy
-
Uma string especificando quais módulos devem ser compilados. As três opções possíveis são: all para compilar todos os módulos solicitados; updated para compilar apenas os módulos que você alterou; ou updated-deps para compilar módulos que você alterou ou que possuem dependências que foram alteradas. Padrão é updated-deps.
- checkoutroot
-
Uma string especificando o diretório para o qual deve-se descompilar árvores de fontes. A menos que buildroot esteja especificado, as compilações ocorrerão neste diretório também. Padrão é ~/checkout/gnome.
- checkout_mode
-
Uma string especificando como o checkout é realizado para diretórios em controle de versão. Padrão é update. Isso pode ser definido por módulo usando module_checkout_mode. Possíveis valores são update (atualiza diretório de checkout), clobber (limpa o diretório antes de buscar os fontes), export (limpa o diretório e, então, cria uma cópia sem versão dos fontes) e copy (realiza checkout em um diretório diferente daquele que será compilado).
- copy_dir
-
Uma string especificando o diretório para onde será copiado, se a cópia checkout_mode estiver em uso. Padrão é o diretório de checkout.
- cvs_program
-
Uma string especificando qual programa deve ser usado para dar suporte a CVS. Pode ser git-cvsimport ou cvs. Padrão é cvs.
- dvcs_mirror_dir
-
Uma string especificando um diretório de espelho local. JHBuild vai criar espelhos locais de repositórios no diretório especificado. Os espelhos podem ser compartilhados por grupos de múltiplos diretórios, economizando espaço e tempo, porque hard-links serão usados por clones locais. Os comandos update e updateone vão criar os espelhos e obter novos commits dos repositórios online. Esta opção tem suporte apenas em repositórios Git e Bazaar.
- help_website
-
Uma tupla especificando o nome do site e URL de ajuda. O site é exibido no html de tinderbox para módulos que falharem. %(module)s na URL será substituído com o nome do módulo. Para desabilitar, defina help_website para None. Padrão é ('Gnome Live!', 'http://live.gnome.org/JhbuildIssues/%(module)s').
- installprog
-
Uma string especificando um programa para usar como substituto do /usr/bin/install. Se disponível, tem como padrão a interface install-check fornecida pelo JHBuild. A interface install-check otimiza a instalação de cabeçalhos para reduzir o tempo levado para recompilar.
- ignore_suggests
-
Um valor em boolean especificando se deve-se ignorar dependências ao se calcular a árvore de dependência. Padrão é False.
- interact
-
Um valor em boolean especificando se deve-se interagir com o usuário. Definindo este valor para False é equivalente a passar a opção --no-interact. Padrão é True.
- makeargs
-
Um texto listando argumentos adicionais a serem passados para o make. JHBuild vai anexar automaticamente a opção de execução paralela (-j) baseada nos núcleos de CPU disponíveis. Padrão é "".
- makecheck
-
Um valor em boolean especificando se deve-se executar make check após make. Padrão é False.
- makecheck_advisory
-
Um valor em boolean especificando se as falhas ao executar make check deveriam ser avisos e não causar uma falha de compilação. Padrão é False.
- makeclean
-
Um valor boolean especificando se deve-se executar make clean antes make. Padrão é False.
- makedist
-
Um valor em boolean especificando se deve-se executar make dist após make. Padrão é False. Esta configuração é equivalente a passar a opção --dist.
- makedistcheck
-
Um valor em boolean especificando se deve-se executar make distcheck após make. Padrão é False. Esta configuração é equivalente a passar a opção --distcheck.
- module_autogenargs
-
Um dicionário mapeando os nomes de módulos em strings especificando os argumentos a serem passados para o autogen.sh. A configuração em module_autogenargs é usada, em vez da configuração global autogenargs. Se um módulo particular não está listado no diretório, a global autogenargs será usada.
- module_checkout_mode
-
Um dicionário especificando quais modos de checkout devem ser usados para os módulos. Isso sobrescreve a configuração global checkout_mode.
- module_makeargs
-
Um dicionário mapeando os nomes de módulos em strings especificando os argumentos a serem passados para make. A configuração em module_makeargs substitui o valor de makeargs. Se um módulo em particular não está listado no dicionário, a global makeargs será usada.
- module_makecheck
-
Um dicionário mapeando os nomes de módulos em valores boolean especificando se deve-se executar make check após make. A configuração em module_makecheck substitui o valor de makecheck. Se um módulo em particular não estiver listado no dicionário, a globa makecheck será usada.
- module_nopoison
-
Um dicionário mapeando os nomes de módulos em valores boolean. Se um módulo estiver definido como True, JHBuild vai tentar compilar módulos dependentes mesmo se o módulo especificado falhar. A configuração em module_nopoison substitui o valor de nopoison. Se um módulo em particular não estiver listado no dicionário, a global nopoison será usada.
- module_extra_env
-
Um dicionário mapeando os nomes de módulos em dicionários com variáveis de ambiente extras a serem passadas ao executar comandos do módulo.
- modules
-
Uma lista de textos especificando módulos para compilar. A lista de módulos realmente compilada será expandida recursivamente para incluir todas as dependências, a menos que o comando buildone seja usado. Padrão é ['meta-gnome-desktop'].
- moduleset
-
Um texto ou uma lista de textos especificando os nomes das coleções de módulos a serem usados. Pode ser o nome do arquivo de uma coleção de módulos inclusa no JHBuild (excluindo o caminho e extensão) ou uma URL de HTTP completa para uma coleção de módulos gerenciada externamente. Coleções de módulos de URL de HTTP são mantidas no cache localmente. Se um módulo com o mesmo nome estiver presente em mais de uma coleção de módulos, a última coleção listada terá prioridade. As coleções de módulos fornecidas com o JHBuild são atualizadas para corresponder à versão de desenvolvimento atual do GNOME.
- modulesets_dir
-
Uma string especificando o diretório contendo as coleções de módulos a serem usadas. Padrão é o diretório modulesets/ nos fontes do JHBuild.
- nice_build
-
Executa compilações sob a prioridade SCHED_IDLE no Linux, nice em outros Unix. Isso pode melhorar drasticamente a interatividade de computador para compilações paralelas enquanto se tem apenas um impacto insignificante no rendimento da compilação.
- nobuild
-
Um valor em boolean, se definido como True, o JHBuild não vai compilar módulos, e sim apenas baixar e desempacotar os fontes. Padrão é False.
- nonetwork
-
Um valor em boolean especificando se deve-se acessar a rede. Isso afeta a obtenção ou atualização de módulos de CVS, download de tarballs e atualização de coleções de módulos. Definir isso como True é equivalente a passar a opção --no-network. Padrão é False.
- nonotify
-
Um valor em boolean especificando se deve-se emitir notificações usando o daemon de notificação. Se definido como False, notificações são emitidas. Padrão é True.
- nopoison
-
Um valor em boolean, se definido como True, JHBuild tenta compilar módulos mesmo se uma ou mais dependências do módulo não compilarem com sucesso. Esta opção é equivalente ao argumento --no-poison. O valor padrão é False.
- notrayicon
-
Um valor em boolean especificando se deve-se mostrar um ícone na área de notificação usando o Zenity. Se definido como False, notificações são emitidas. Padrão é True.
- noxvfb
-
Um valor em boolean, se definido como True, JHBuild vai executar quaisquer testes gráficos no servidor X real, em vez de usar Xvfb. Esta opção é equivalente a passar --no-xvfb. Padrão é False.
- partial_build
-
Um valor em boolean, se definido como True, JHBuild não vai compilar módulos de dependências se os pacotes de sistema correspondentes estiverem instalados em uma versão suficiente. Padrão é True.
- prefix
-
Um texto especificando o prefixo no qual serão instalados os módulos. prefix deve ser um caminho absoluto. Deve haver permissão de escrita para este diretório. Padrão é "/opt/gnome".
- pretty_print
-
Um valor em boolean especificando se deve-se embelezar o formato da saída do subprocesso. Apenas saídas CVS têm suporte a embelezamento da saída. Desabilite se isso causar problemas. Padrão é True.
- print_command_pattern
-
Uma string exibida antes do JHBuild executar um comando. %(command)s na string vai ser substituído com o comando a ser executado. %(cwd)s na string será substituída com o diretório de trabalho atual. Padrão é '%(command)s'.
- progress_bar
-
Um valor em boolean especificando se deve-se exibir uma barra de progresso durante o quiet_mode. Padrão é True.
- quiet_mode
-
Um valor em boolean, se definido como True, desabilita a saída (mensagens) dos comandos em execução. Padrão é False.
- repos
-
Um dicionário especificando uma localização alternativa do repositório para um repositório em particular. Esta variável de configuração é útil para desenvolvedor de módulos. Por padrão, JHBuild vai baixar o código dos repositórios usando um local de repositório anônimo. As chaves de dicionário são nomes curtos de repositórios e os nomes são textos com a localização alternativa do repositório. Por exemplo:
repos['git.gnome.org'] = 'ssh://usuário@git.gnome.org/git/'
- skip
-
Uma lista de módulos para pular. Esta opção de linha de comando --skip estende a lista. Esta lista está vazia, por padrão. Se a lista contém um valor especial "*", JHBuild vai pular todos os módulos não listados explicitamente na variável modules. Isso pode ser útil se você deseja compilar módulos sem suas dependências implícitas.
- sticky_date
-
Uma string que, se definida e se houver suporte por seu sistema de controle de versão, JHBuild vai atualizar a árvore de fontes na data especificada antes de compilar. Uma data no formato ISO é necessária, ex.: "yyyy-mm-dd". Padrão é None.
- svn_program
-
Uma string especificando qual programa deve ser usado para ter suporte a subversion. Pode ser svn, git-svn ou bzr. Padrão é svn.
- tarballdir
-
Uma string que, se definida, faz tarballs serem baixados para o diretório especificado em vez do checkoutroot. Isso é útil se você tem múltiplos ambientes de JHBuild ou regularmente limpa checkoutroot e deseja reduzir o uso da conexão com a Internet.
- tinderbox_outputdir
-
Uma string especificando o diretório para armazenar a saída de jhbuild tinderbox. Esta string pode ser sobrescrita pela opção --output. Padrão é None, de forma que a opção de linha de comando deve ser usada ou esta variável deve estar definida no arquivo de configuração.
- trycheckout
-
Um valor em boolean, se definido como True, JHBuild vai automaticamente tentar resolver falhas 1) executando autogen.sh novamente e 2) baixando uma versão mais nova de um módulo a partir do controle de versão. Esta configuração é equivalente à opção --try-checkout.
- use_lib64
-
Um valor em boolean que especifica se deve-se instalar bibliotecas nos diretórios de lib64. Se definido, --libdir=\${exec_prefix}/lib64 será passado para o configure. Padrão é True se executando em um Linux x86_64, ppc64 ou s390x e False em outros sistemas.
- use_local_modulesets
-
Um valor em boolean que especifica que devem ser usadas coleções de módulos que foram baixados junto com o código fonte do JHBuild; em vez de baixá-los em tempo de execução do sistema de controle de versão do GNOME. Padrão é False.
- xvfbargs
-
Uma string listando argumentos a serem passados para o Xvfb, se executando testes gráficos.
6.2. Outras estruturas do arquivo de configuração
Além das variáveis, há outras configurações que podem ser definidas no arquivo de configuração:
- os.environ
-
Um dicionário representando o ambiente. Este ambiente é passado para o processo que chama o JHBuild.
Algumas variáveis de ambiente influenciáveis incluem CPPFLAGS, CFLAGS, INSTALL e LDFLAGS. Por exemplo:
os.environ['CFLAGS'] = '-O0 -g'
- addpath(envvar, pathname)
-
Isso vai adicionar um diretório à variável de ambiente PATH. addpath vai lidar corretamente o caso quando a variável de ambiente estiver inicialmente vazia (tendo dois-pontos no começo ou final de uma variável de ambiente pode ter consequências inesperadas).
addpath tem uma forma especial de lidar com a variável de ambiente ACLOCAL_FLAGS, que espera que os caminhos estejam listados na forma -I nome-caminho.
- prependpath(envvar, pathname)
-
Após o processamento do arquivo de configuração, JHBuild vai alterar alguns caminhos baseados em tais prefix (ex.: adicionar $prefix/bin ao início de PATH).
A função prependpath funciona como addpath, exceto que a variável de ambiente é modificada após JHBuild ter feito suas alterações no ambiente.