other languages
SVN-BUILDPACKAGE(1) | Referência de comando | SVN-BUILDPACKAGE(1) |
NOME¶
svn-buildpackage - constrói pacotes Debian a partir de repositório SVNSINOPSE¶
svn-buildpackage
[[ OPÇÕES... ] [
OPÇÕES para o
dpkg-buildpackage ]]
DESCRIÇÃO¶
Constrói um pacote Debian a partir de um repositório Subversion. O repositório de código fonte tem de estar no formato criado pelo svn-inject, e este script tem de ser executado no directório de trabalho (trunk/ pacote). Por predefinição, o directório de trabalho é usado como o directório de fonte principal (assumindo que toda a fonte original está armazenada no repositório). A alternativa é o chamado "modo merge". Com este método, apenas o directório debian (e talvez outros ficheiros modificados) são armazenados no repositório. Durante a construção, o conteúdo do trunk svn é copiado para o conteúdo do tarball extraído (e pode sobrescrever partes dele). Para escolher este modelo de trabalho, defina a propriedade mergeWithUpstream do svn no directório debian.$ svn propset mergeWithUpstream 1 debian
$ svn propset useNativeDist 1 debian
OPÇÕES¶
svn-buildpackage aceita as seguintes opções na linha de comandos: --svn-builder=COMANDOEspecifica um comando de construção
alternativo em vez de dpkg-buildpackage, ex. debuild,
pdebuild, etc. Cada parâmetro que o svn-buildpackage
não conhece ( --svn-*) é passado para COMMAND.
Não existe diferença entre os parâmetros de linha de
comandos e ficheiro de configuração. Eles são usados ao
mesmo tempo.
AVISO: as regras de cotação da shell não se aplicam
completamente aqui, é melhor usar wrappers para
construções complexas. Usar esta opção pode
quebrar a funcionalidade de --svn-lintian e --svn-move. Algumas
funções podem ser desactivadas quando é usado um comando
de construção personalizado porque a localização
do ficheiro resultante não é previsível.
Predefinição: usa dpkg-buildpackage.
--svn-ignore-new | --svn-ignore
Não pára em conflitos do svn ou ficheiros
novos/alterados. Para definir este comportamento para ficheiros únicos
defina a propriedade deb:ignoreM para 1 neles. Veja também a
documentação da propriedade svn:ignore no livro do SVN.
Predefinição: Pára em conflitos ou ficheiros
novos/alterados.
--svn-dont-clean
Não corre a limpeza de debian/rules.
Predefinição: primeiro limpa.
--svn-no-links
Não use links de ficheiro mas tente
exportá-los ou fazer cópias físicas do directório
de trabalho. Isto é útil se o seu pacote falhar na
construção devido a alguns ficheiros, directórios vazios,
links quebrados... não poderem ser transportados no modo link-copy
predefinido.
Predefinição: usa os links onde possível.
--svn-dont-purge
Não remove o directório de
construção quando a construção está pronta.
Predefinição: remove após construção com
sucesso.
--svn-reuse
Se possível, reutilize um directório de
construção existente nas construções subsequentes.
O directório de construção não é purgado
após a construção, não é renomeado quando
uma construção começa e os ficheiros são apenas
copiados para ele. Útil em modo mergeWithUpstream como pacotes
grandes.
Predefinição: o directório de construção
é removido.
--svn-rm-prev-dir
Se for encontrado um directório de
construção anterior, remove-o antes da construção
em vez de o renomear. Se --svn-reuse for também fornecido na
mesma linha, o corre o comportamento de reutilização.
Predefinição: renomeia os directórios antigos com o sufixo
' obsolete'.
--svn-export
Apenas exporta o directório de trabalho e faz as
operações de fusão de código necessárias, e
depois termina.
Predefinição: Desligado.
--svn-tag
Construção final: Etiqueta, exporta,
constrói com limpeza & cria nova entrada no registo de
alterações.
Predefinição: Desligado.
--svn-tag-only | --svn-only-tag
Não constrói o pacote, apenas faz a
cópia da etiqueta.
Predefinição: Desligado.
--svn-retag
Se um directório alvo existente foi encontrado
durante a tentativa de criação da cópia de etiqueta,
primeiro remove o directório alvo.
Predefinição: Desligado.
--svn-noautodch
Nenhuma entrada no registo de alterações
Debian é adicionada automaticamente.
Predefinição: Uma nova entrada no registo de
alterações UNRELEASED é definida via
dch.
--svn-lintian
Corre o lintian no ficheiro de alterações
resultante quando pronto.
Predefinição: Desligado.
--svn-move
Quando pronto, move os ficheiros criados (como listado em
.changes) para o directório pai, relativo àquele onde o
svn-buildpackage foi iniciado.
Predefinição: Desligado.
--svn-move-to=...
Especifica o directório alvo para onde mover os
ficheiros gerados.
Predefinição: Desligado. (Os ficheiros são deixados onde o
comando de construção os colocou.)
--svn-pkg=nome_de_pacote
Sobrepõe o nome de pacote detectado. Use com
cuidado porque pode ser definido tarde demais durante o processamento (ex.
ainda ter o valor antigo quando expandir variáveis da shell).
Predefinição: Desligado.
--svn-arch=ARQUITECTURA
Permite especificar a arquitectura de
construção (ex. construir para i386 numa máquina amd64).
Predefinição: Desligado.
--svn-override=var=valor,anothervar=valor
Sobrepõe qualquer variável de
configuração que tenha sido auto-detectada ou encontrada em
.svn/deb-layout.
Predefinição: Desligado.
--svn-prebuild | --svn-postbuild | --svn-pretag |
--svn-posttag
Comandos (hooks) a serem executados antes/após as
invocações dos comandos de construção/etiquetagem,
ex. para descarregar os tarballs de origem a partir do arquivo. Aqui pode ser
incluído código de shell apesar de não ser recomendado.
Várias variáveis de ajuda estão disponíveis no
ambiente, veja VARIÁVEIS DE AMBIENTE em baixo para uma
explicação detalhada.
Por favor note que os hooks prebuild e postbuild substituem as
acções prebuild e postbuild normais do svn-buildpackage.
Para prebuild, isto significa que as dependências de
construção não serão verificadas. Para postbuild,
isto significa que os ficheiros resultantes não serão movidos, e
o lintian não será executado.
Predefinição: Desligado.
--svn-noninteractive
Com este parâmetro o svn-buildpackage
não irá interagir com o utilizador.
Predefinição: Desligado.
--svn-savecfg
Por predefinição, o svn-buildpackage
costumava criar .svn/deb-layout a cada invocação. Desde a
versão 0.6.22 que este comportamento está descontinuado.
Com este parâmetro o svn-buildpackage irá (parcialmente)
replicar o comportamento antigo. Em contraste com o comportamento
descontinuado, o .svn/deb-layout é reconhecido como uma
sobreposição local; o comportamento antigo simplesmente ignorava
qualquer informação de disposição com
versão se encontrasse .svn/deb-layout.
Esta opção foi disponibilizada porque pode ser útil quando
se cria um ficheiro de sobreposição local.
Predefinição: Desligado.
--svn-download-orig
Esta opção faz com que o
svn-buildpackage tente descarregar o tarball da origem usando
apt e uscan.
Predefinição: Desligado.
--svn-verbose
Saída do programa mais detalhada.
Predefinição: Desligado.
-h | --help
Mostra a mensagem de ajuda.
EXEMPLOS¶
Para informação mais detalhada de como usar o svn-buildpackage, veja o HOWTO. http://svn-bp.alioth.debian.org/[1]. Para começar a trabalhar com um pacote Debian nativo existente a partir de um ficheiro *.dsc, importe-o para o repositório com o comando:svn-inject package_0.1.dsc svn://host/debian/devel/packages
svn-inject -o package_0.1-2.dsc svn://host/debian/devel/packages
svn mkdir ../tarballs svn propset svn:ignore "*" ../tarballs uscan --force-download --destdir ../tarballs
svn-buildpackage --svn-lintian -us -uc -rfakeroot
svn mkdir ../build-area # Para armazenar resultados svn propset svn:ignore "*" ../build-area svn-buildpackage --svn-ignore-new --svn-builder=pdebuild
svn status # Verifica que não há alterações não submetidas svn-upgrade --verbose ../package-2.0.tar.gz
FICHEIRO DE CONFIGURAÇÃO¶
O comportamento do svn-buildpackage pode ser modificado usando o ficheiro ~/.svn-buildpackage.conf. Podem ser adicionadas partes adicionais em cada directório de trabalho de pacote usando o ficheiro .svn/svn-buildpackage.conf. É essencialmente uma lista de opções longas de linha de comandos (sem os sinais menos iniciais), um argumento por linha (sem citações envolvendo os argumentos de múltiplas palavras). As variáveis são expandidas com a shell do sistema se lá existirem variáveis de shell. Evite o sinal ~ porque não é expansão de confiança: É melhor usar antes $HOME. Exemplo:svn-builder=debuild -EPATH svn-no-links svn-override=origDir=$HOME/debian/upstream/$PACOTE # svn-ignore-new #svn-lintian
MANUSEAMENTO DA DISPOSIÇÃO DO DIRECTÓRIO¶
Por predefinição, o svn-buildpackage espera um ficheiro de configuração com declaração de caminho/url, .svn/deb-layout. Os valores de lá podem ser sobrepostos com a opção --svn-override, veja em cima. Se um ficheiro de configuração não pode ser encontrado, as definições são auto-detectadas seguindo as deduções normais acerca de directórios locais e disposição do repositório. Adicionalmente, o conteúdo de um ficheiro personalizado debian/svn-deblayout será importado durante a configuração inicial. Os responsáveis pelo pacote podem armazenar este ficheiro no repositório para passar predefinições correctas aos novos utilizadores do svn-buildpackage. O formato é o mesmo que no ficheiro .svn/deb-layout. Como uma alternativa ao ficheiro debian/svn-deblayout, os responsáveis podem definir as propriedades do Subversion para o directório debian/, quaisquer propriedades de debian/ que tenham um nome no formato svn-bp:PROP serão a fonte da definição PROP a qual tem o valor indicado pela primeira linha do valor da propriedade. Se não for fornecido um URL de svn completo, o repositório raiz irá ser precedido para este valor.VARIÁVEIS DE AMBIENTE¶
As seguintes variáveis de ambiente são exportadas pelo svn-buildpackage e podem ser usadas em hook a comandos ou ao sistema de construção de pacotes. PACOTE, pacoteO nome do pacote fonte.
SVN_BUILDPACKAGE
Versão do svn-buildpackage.
TAG_VERSION, debian_version
A string de versão Debian completa, também
usada para a copia de etiqueta.
non_epoch_version
O mesmo que debian_version mas sem strings de
época.
upstream_version
O mesmo que debian_version mas sem extensões
Debian
guess_loc
Nome do pacote fonte da origem adivinhado na pool, algo
como libm/libmeta-html-perl_3.2.1.0.orig.tar.gz
DIFFSRC
(experimental) mostra a localização do
ficheiro diff gerado
Todas as propriedades de disposição são também
exportadas para o ambiente. As seguintes têm significado para o
svn-buildpackage.
buildArea
a localização do directório de
área de construção
trunkUrl
o URL do directório trunk para o pacote
actual.
tagsUrl
o URL do directório base de etiquetas para o
pacote actual.
origDir
o directório local onde o tarball original deve
estar colocado.
origUrl
o URL de onde pode ser puxado o tarball original do
pacote actual.
As seguintes variáveis são compreendidas pelo
svn-buildpackage:
FORCETAG
Ignora os sinais de um registo de
alterações incompleto e etiqueta o repositório mesmo
assim.
FORCEEXPORT
Exporta a fonte da origem a partir do repositório
mesmo que a propriedade mergeWithUpstream esteja definida.
DEBIAN_FRONTEND
Se DEBIAN_FRONTEND estiver definida para
'noninteractive', --svn-noninteractive é chamado em
silêncio.
RECOMENDAÇÕES¶
Usa nomes alternativos de shell. Aqui estão alguns exemplos para Bash:alias svn-b="svn-buildpackage -us -uc -rfakeroot --svn-ignore" alias svn-br="svn-b --svn-dont-purge --svn-reuse" alias svn-bt="svn-buildpackage --svn-tag -rfakeroot"
VEJA TAMBÉM¶
/usr/share/doc/svn-buildpackage/()O manual HOWTO do svn-buildpackage
svn-inject(1)
coloca um pacote fonte Debian num repositório
Subversion
svn-upgrade(1)
actualiza o pacote fonte a partir de uma nova
revisão da origem
svn(1)
ferramenta cliente Subversion de linha de comandos
dpkg-buildpackage(1)
Ferramentas de pacotes fonte Debian
lintian(1)
Verificador de pacotes Debian
AUTORES¶
Eduard BlochEste manual foi escrito por Eduard Bloch em roff.
Goneri Le Bouder
Converteu o manual para SGML.
Neil Williams
Converteu o manual para DocBook XML e é o
responsável Debian actual
COPYRIGHT¶
Copyright © 2009 Eduard BlochNOTAS¶
Maio 2009 | Lançamento: 0.8.2 |