Provided by: svn-buildpackage_0.8.4_all bug

NOME

       svn-buildpackage - constrói pacotes Debian a partir de repositório SVN

SINOPSE

       svn-buildpackage [[ OPES... ] [ OPES 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

       mergeWithUpstream requer que o sistema possa preparar um tarball,
       usando tipicamente make dist e autotools. Todos os pacotes da origem
       irão ter alguma forma de suporte a criação de tarball e os pacotes
       nativos que usam autotools ou têm suporte de tarball interno podem usar
       mergeWithUpstream para lidar com os ficheiros gerados que são
       necessários para construir o pacote mas não estão presentes no SVN.
       Veja o guia HOWTO para exemplos de como isto pode ser feito. Os pacotes
       nativos que não usam autotools e não têm suporte de tarball interno
       podem ainda adicionar os ficheiros gerados ao tarball do pacote fonte
       usando o useNativeDist ao alvo do Makefile de nível de topo. Este alvo
       personalizado tem de ser idempotente e apenas modificar / gerar os
       ficheiros desejados usando apenas a fonte SVN exportada e as
       dependências de construção. Para permitir ao svn-buildpackage usar um
       alvo make native-dist no seu Makefile de nível de topo, regule a
       propriedade useNativeDist no directório ./debian/:

           $ svn propset useNativeDist 1 debian

       O comportamento predefinido do svn-buildpackage é o seguinte:

       Verifica o directório de trabalho, queixa-se de ficheiros não
       submetidos (veja também --svn-ignore-new)

       Copia o tarball de origem para a área de construção se necessário (veja
       também --svn-no-links)

       Extrai o tarball (em modo de fusão) ou exporta o directório de trabalho
       do svn para o directório de construção (veja também em baixo e
       --svn-no-links)

       Constrói com o dpkg-buildpackage (veja também --svn-builder,
       --svn-lintian, etc.)

       Cria um entrada no registo de alterações para a versão futura

OPÇÕES

       svn-buildpackage aceita as seguintes opções na linha de comandos:

       --svn-builder=COMANDO
           Especifica 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

       Para começar a trabalhar com um pacote da origem existente em Debian a
       partir de um ficheiro *.dsc, importe-o para o repositório 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 está disponível, ex. se o uscan está a funcionar:

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

       Para uma construção teste do pacote a partir de repositório SVN, use o
       comando abaixo. Use referências do manual do dpkg-buildpackage(1) para
       as opções -us etc.

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

       Para verificar que o pacote constrói 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 lançamento da origem está disponível, submete todas as
       alterações e tem a árvore de trabalho num estado limpo. Depois usa o
       svn-upgrade(1) para importar o novo lançamento.

           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, pacote
           O 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"

       Esses comandos têm significados respectivos: construir
       independentemente de ficheiros novos ou alterados; construir
       independentemente de ficheiros novos ou alterados e reutiliza o
       directório de construção; construir e etiquetar (para upload).

       SSH é o modo mais fácil de aceder a repositórios remotos, apesar de
       geralmente requerer a entrada da palavra passe com mais frequência 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 ligação SSH
       presente nas versões recentes do SSH. Para mais detalhes, veja o manual
       do svn-buildpackage.

       Outro modo de obter uma ligação remota é usar o módulo DAV do
       Subversion (com SSL e autenticação do utilizador do Apache), veja o
       manual HOWTO do svn-buildpackage para mais detalhes.

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

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 é o responsável Debian actual

COPYRIGHT

       Copyright © 2009 Eduard Bloch

NOTAS

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