Provided by: svn-buildpackage_0.8.4_all bug

NOME

       svn-buildpackage - constroi pacotes Debian a partir de repositorio SVN

SINOPSE

       svn-buildpackage [[ OP,C~OES... ] [ OP,C~OES para o dpkg-buildpackage ]]

DESCRI,C~AO

       Constroi um pacote Debian a partir de um repositorio Subversion. O
       repositorio de codigo fonte tem de estar no formato criado pelo
       svn-inject, e este script tem de ser executado no directorio de
       trabalho (trunk/pacote).

       Por predefinicao, o directorio de trabalho e usado como o directorio de
       fonte principal (assumindo que toda a fonte original esta armazenada no
       repositorio). A alternativa e o chamado "modo merge". Com este metodo,
       apenas o directorio debian (e talvez outros ficheiros modificados) sao
       armazenados no repositorio. Durante a construcao, o conteudo do trunk
       svn e copiado para o conteudo do tarball extraido (e pode sobrescrever
       partes dele). Para escolher este modelo de trabalho, defina a
       propriedade mergeWithUpstream do svn no directorio debian.

           $ svn propset mergeWithUpstream 1 debian

       mergeWithUpstream requer que o sistema possa preparar um tarball,
       usando tipicamente make dist e autotools. Todos os pacotes da origem
       irao ter alguma forma de suporte a criacao de tarball e os pacotes
       nativos que usam autotools ou tem suporte de tarball interno podem usar
       mergeWithUpstream para lidar com os ficheiros gerados que sao
       necessarios para construir o pacote mas nao estao presentes no SVN.
       Veja o guia HOWTO para exemplos de como isto pode ser feito. Os pacotes
       nativos que nao usam autotools e nao tem suporte de tarball interno
       podem ainda adicionar os ficheiros gerados ao tarball do pacote fonte
       usando o useNativeDist ao alvo do Makefile de nivel de topo. Este alvo
       personalizado tem de ser idempotente e apenas modificar / gerar os
       ficheiros desejados usando apenas a fonte SVN exportada e as
       dependencias de construcao. Para permitir ao svn-buildpackage usar um
       alvo make native-dist no seu Makefile de nivel de topo, regule a
       propriedade useNativeDist no directorio ./debian/:

           $ svn propset useNativeDist 1 debian

       O comportamento predefinido do svn-buildpackage e o seguinte:

       Verifica o directorio de trabalho, queixa-se de ficheiros nao
       submetidos (veja tambem --svn-ignore-new)

       Copia o tarball de origem para a area de construcao se necessario (veja
       tambem --svn-no-links)

       Extrai o tarball (em modo de fusao) ou exporta o directorio de trabalho
       do svn para o directorio de construcao (veja tambem em baixo e
       --svn-no-links)

       Constroi com o dpkg-buildpackage (veja tambem --svn-builder,
       --svn-lintian, etc.)

       Cria um entrada no registo de alteracoes para a versao futura

OP,C~OES

       svn-buildpackage aceita as seguintes opcoes na linha de comandos:

       --svn-builder=COMANDO
           Especifica um comando de construcao alternativo em vez de
           dpkg-buildpackage, ex.  debuild, pdebuild, etc. Cada parametro que
           o svn-buildpackage nao conhece (--svn-*) e passado para COMMAND.
           Nao existe diferenca entre os parametros de linha de comandos e
           ficheiro de configuracao. Eles sao usados ao mesmo tempo.

           AVISO: as regras de cotacao da shell nao se aplicam completamente
           aqui, e melhor usar wrappers para construcoes complexas. Usar esta
           opcao pode quebrar a funcionalidade de --svn-lintian e --svn-move.
           Algumas funcoes podem ser desactivadas quando e usado um comando de
           construcao personalizado porque a localizacao do ficheiro
           resultante nao e previsivel.

           Predefinicao: usa dpkg-buildpackage.

       --svn-ignore-new | --svn-ignore
           Nao para em conflitos do svn ou ficheiros novos/alterados. Para
           definir este comportamento para ficheiros unicos defina a
           propriedade deb:ignoreM para 1 neles. Veja tambem a documentacao da
           propriedade svn:ignore no livro do SVN.

           Predefinicao: Para em conflitos ou ficheiros novos/alterados.

       --svn-dont-clean
           Nao corre a limpeza de debian/rules.

           Predefinicao: primeiro limpa.

       --svn-no-links
           Nao use links de ficheiro mas tente exporta-los ou fazer copias
           fisicas do directorio de trabalho. Isto e util se o seu pacote
           falhar na construcao devido a alguns ficheiros, directorios vazios,
           links quebrados... nao poderem ser transportados no modo link-copy
           predefinido.

           Predefinicao: usa os links onde possivel.

       --svn-dont-purge
           Nao remove o directorio de construcao quando a construcao esta
           pronta.

           Predefinicao: remove apos construcao com sucesso.

       --svn-reuse
           Se possivel, reutilize um directorio de construcao existente nas
           construcoes subsequentes. O directorio de construcao nao e purgado
           apos a construcao, nao e renomeado quando uma construcao comeca e
           os ficheiros sao apenas copiados para ele. Util em modo
           mergeWithUpstream como pacotes grandes.

           Predefinicao: o directorio de construcao e removido.

       --svn-rm-prev-dir
           Se for encontrado um directorio de construcao anterior, remove-o
           antes da construcao em vez de o renomear. Se --svn-reuse for tambem
           fornecido na mesma linha, o corre o comportamento de reutilizacao.

           Predefinicao: renomeia os directorios antigos com o sufixo
           'obsolete'.

       --svn-export
           Apenas exporta o directorio de trabalho e faz as operacoes de fusao
           de codigo necessarias, e depois termina.

           Predefinicao: Desligado.

       --svn-tag
           Construcao final: Etiqueta, exporta, constroi com limpeza & cria
           nova entrada no registo de alteracoes.

           Predefinicao: Desligado.

       --svn-tag-only | --svn-only-tag
           Nao constroi o pacote, apenas faz a copia da etiqueta.

           Predefinicao: Desligado.

       --svn-retag
           Se um directorio alvo existente foi encontrado durante a tentativa
           de criacao da copia de etiqueta, primeiro remove o directorio alvo.

           Predefinicao: Desligado.

       --svn-noautodch
           Nenhuma entrada no registo de alteracoes Debian e adicionada
           automaticamente.

           Predefinicao: Uma nova entrada no registo de alteracoes UNRELEASED
           e definida via dch.

       --svn-lintian
           Corre o lintian no ficheiro de alteracoes resultante quando pronto.

           Predefinicao: Desligado.

       --svn-move
           Quando pronto, move os ficheiros criados (como listado em .changes)
           para o directorio pai, relativo aquele onde o svn-buildpackage foi
           iniciado.

           Predefinicao: Desligado.

       --svn-move-to=...
           Especifica o directorio alvo para onde mover os ficheiros gerados.

           Predefinicao: Desligado. (Os ficheiros sao deixados onde o comando
           de construcao os colocou.)

       --svn-pkg=nome_de_pacote
           Sobrepoe 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 variaveis da shell).

           Predefinicao: Desligado.

       --svn-arch=ARQUITECTURA
           Permite especificar a arquitectura de construcao (ex. construir
           para i386 numa maquina amd64).

           Predefinicao: Desligado.

       --svn-override=var=valor,anothervar=valor
           Sobrepoe qualquer variavel de configuracao que tenha sido
           auto-detectada ou encontrada em .svn/deb-layout.

           Predefinicao: Desligado.

       --svn-prebuild | --svn-postbuild | --svn-pretag | --svn-posttag
           Comandos (hooks) a serem executados antes/apos as invocacoes dos
           comandos de construcao/etiquetagem, ex. para descarregar os
           tarballs de origem a partir do arquivo. Aqui pode ser incluido
           codigo de shell apesar de nao ser recomendado. Varias variaveis de
           ajuda estao disponiveis no ambiente, veja VARIAVEIS DE AMBIENTE em
           baixo para uma explicacao detalhada.

           Por favor note que os hooks prebuild e postbuild substituem as
           accoes prebuild e postbuild normais do svn-buildpackage. Para
           prebuild, isto significa que as dependencias de construcao nao
           serao verificadas. Para postbuild, isto significa que os ficheiros
           resultantes nao serao movidos, e o lintian nao sera executado.

           Predefinicao: Desligado.

       --svn-noninteractive
           Com este parametro o svn-buildpackage nao ira interagir com o
           utilizador.

           Predefinicao: Desligado.

       --svn-savecfg
           Por predefinicao, o svn-buildpackage costumava criar
           .svn/deb-layout a cada invocacao. Desde a versao 0.6.22 que este
           comportamento esta descontinuado.

           Com este parametro o svn-buildpackage ira (parcialmente) replicar o
           comportamento antigo. Em contraste com o comportamento
           descontinuado, o .svn/deb-layout e reconhecido como uma
           sobreposicao local; o comportamento antigo simplesmente ignorava
           qualquer informacao de disposicao com versao se encontrasse
           .svn/deb-layout.

           Esta opcao foi disponibilizada porque pode ser util quando se cria
           um ficheiro de sobreposicao local.

           Predefinicao: Desligado.

       --svn-download-orig
           Esta opcao faz com que o svn-buildpackage tente descarregar o
           tarball da origem usando apt e uscan.

           Predefinicao: Desligado.

       --svn-verbose
           Saida do programa mais detalhada.

           Predefinicao: Desligado.

       -h | --help
           Mostra a mensagem de ajuda.

EXEMPLOS

       Para informacao mais detalhada de como usar o svn-buildpackage, veja o
       HOWTO.  http://svn-bp.alioth.debian.org/[1].

       Para comecar a trabalhar com um pacote Debian nativo existente a partir
       de um ficheiro *.dsc, importe-o para o repositorio com o comando:

           svn-inject package_0.1.dsc svn://host/debian/devel/packages

       Para comecar a trabalhar com um pacote da origem existente em Debian a
       partir de um ficheiro *.dsc, importe-o para o repositorio com o
       comando:

           svn-inject -o package_0.1-2.dsc svn://host/debian/devel/packages

       Antes de construir um pacote da origem, certifique-se que a fonte
       original esta disponivel, ex. se o uscan esta a funcionar:

           svn mkdir ../tarballs
           svn propset svn:ignore "*" ../tarballs
           uscan --force-download --destdir ../tarballs

       Para uma construcao teste do pacote a partir de repositorio SVN, use o
       comando abaixo. Use referencias do manual do dpkg-buildpackage(1) para
       as opcoes -us etc.

           svn-buildpackage --svn-lintian -us -uc -rfakeroot

       Para verificar que o pacote constroi num estado limpo, teste-o com
       pbuilder(1):

           svn mkdir ../build-area  # Para armazenar resultados
           svn propset svn:ignore "*" ../build-area
           svn-buildpackage --svn-ignore-new --svn-builder=pdebuild

       Quando um novo lancamento da origem esta disponivel, submete todas as
       alteracoes e tem a arvore de trabalho num estado limpo. Depois usa o
       svn-upgrade(1) para importar o novo lancamento.

           svn status   # Verifica que nao ha alteracoes nao submetidas
           svn-upgrade --verbose ../package-2.0.tar.gz

FICHEIRO DE CONFIGURA,C~AO

       O comportamento do svn-buildpackage pode ser modificado usando o
       ficheiro ~/.svn-buildpackage.conf. Podem ser adicionadas partes
       adicionais em cada directorio de trabalho de pacote usando o ficheiro
       .svn/svn-buildpackage.conf. E essencialmente uma lista de opcoes longas
       de linha de comandos (sem os sinais menos iniciais), um argumento por
       linha (sem citacoes envolvendo os argumentos de multiplas palavras). As
       variaveis sao expandidas com a shell do sistema se la existirem
       variaveis de shell. Evite o sinal ~ porque nao e expansao de confianca:
       E 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,C~AO DO DIRECT'ORIO

       Por predefinicao, o svn-buildpackage espera um ficheiro de configuracao
       com declaracao de caminho/url, .svn/deb-layout. Os valores de la podem
       ser sobrepostos com a opcao --svn-override, veja em cima. Se um
       ficheiro de configuracao nao pode ser encontrado, as definicoes sao
       auto-detectadas seguindo as deducoes normais acerca de directorios
       locais e disposicao do repositorio. Adicionalmente, o conteudo de um
       ficheiro personalizado debian/svn-deblayout sera importado durante a
       configuracao inicial. Os responsaveis pelo pacote podem armazenar este
       ficheiro no repositorio para passar predefinicoes correctas aos novos
       utilizadores do svn-buildpackage. O formato e o mesmo que no ficheiro
       .svn/deb-layout. Como uma alternativa ao ficheiro debian/svn-deblayout,
       os responsaveis podem definir as propriedades do Subversion para o
       directorio debian/, quaisquer propriedades de debian/ que tenham um
       nome no formato svn-bp:PROP serao a fonte da definicao PROP a qual tem
       o valor indicado pela primeira linha do valor da propriedade. Se nao
       for fornecido um URL de svn completo, o repositorio raiz ira ser
       precedido para este valor.

VARI'AVEIS DE AMBIENTE

       As seguintes variaveis de ambiente sao exportadas pelo svn-buildpackage
       e podem ser usadas em hook a comandos ou ao sistema de construcao de
       pacotes.

       PACOTE, pacote
           O nome do pacote fonte.

       SVN_BUILDPACKAGE
           Versao do svn-buildpackage.

       TAG_VERSION, debian_version
           A string de versao Debian completa, tambem usada para a copia de
           etiqueta.

       non_epoch_version
           O mesmo que debian_version mas sem strings de epoca.

       upstream_version
           O mesmo que debian_version mas sem extensoes 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 localizacao do ficheiro diff gerado

       Todas as propriedades de disposicao sao tambem exportadas para o
       ambiente. As seguintes tem significado para o svn-buildpackage.

       buildArea
           a localizacao do directorio de area de construcao

       trunkUrl
           o URL do directorio trunk para o pacote actual.

       tagsUrl
           o URL do directorio base de etiquetas para o pacote actual.

       origDir
           o directorio local onde o tarball original deve estar colocado.

       origUrl
           o URL de onde pode ser puxado o tarball original do pacote actual.

       As seguintes variaveis sao compreendidas pelo svn-buildpackage:

       FORCETAG
           Ignora os sinais de um registo de alteracoes incompleto e etiqueta
           o repositorio mesmo assim.

       FORCEEXPORT
           Exporta a fonte da origem a partir do repositorio mesmo que a
           propriedade mergeWithUpstream esteja definida.

       DEBIAN_FRONTEND
           Se DEBIAN_FRONTEND estiver definida para 'noninteractive',
           --svn-noninteractive e chamado em silencio.

RECOMENDA,C~OES

       Usa nomes alternativos de shell. Aqui estao 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"

       Esses comandos tem significados respectivos: construir
       independentemente de ficheiros novos ou alterados; construir
       independentemente de ficheiros novos ou alterados e reutiliza o
       directorio de construcao; construir e etiquetar (para upload).

       SSH e o modo mais facil de aceder a repositorios remotos, apesar de
       geralmente requerer a entrada da palavra passe com mais frequencia com
       o svn-buildpackage. Meios de contornar incluem usar uma chave ssh com
       uma frase passe (apesar de isto ser inseguro e mesmo assim
       relativamente lento), ou a funcionalidade de cache da ligacao SSH
       presente nas versoes recentes do SSH. Para mais detalhes, veja o manual
       do svn-buildpackage.

       Outro modo de obter uma ligacao remota e usar o modulo DAV do
       Subversion (com SSL e autenticacao do utilizador do Apache), veja o
       manual HOWTO do svn-buildpackage para mais detalhes.

VEJA TAMB'EM

       /usr/share/doc/svn-buildpackage/()
           O manual HOWTO do svn-buildpackage

       svn-inject(1)
           coloca um pacote fonte Debian num repositorio Subversion

       svn-upgrade(1)
           actualiza o pacote fonte a partir de uma nova revisao 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

AUTHORS

       Eduard Bloch
           Este 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 e o responsavel Debian actual

COPYRIGHT

       Copyright (C) 2009 Eduard Bloch

NOTAS

        1. http://svn-bp.alioth.debian.org/
           http://svn-bp.alioth.debian.org/

Lancamento: 0.8.2                  Maio 2009               SVN-BUILDPACKAGE(1)