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 |