Capítulo 13. Utilizações de Ferramenta

Índice

13.1. debdiff
13.2. dget
13.3. mk-origtargz
13.4. origtargz
13.5. git deborig
13.6. dpkg-source -b
13.7. dpkg-source -x
13.8. debc
13.9. bts
13.10. dpkg-depcheck

Aqui estão algumas dicas notáveis em redor do empacotamento Debian.

[Nota]Nota

As descrições nesta secção são intencionalmente breves. Os futuros maintainers são fortemente encorajados a procurar e a ler toda a documentação relevante associada a estes comandos.

[Nota]Nota

Os exemplos aqui usam a compressão gz. Pode ser usada a compressão xz em vez desta.

Você pode comparar o conteúdo de ficheiros em dois pacotes Debian fonte com o comando debdiff.

[base_dir] $ debdiff old-package.dsc new-package.dsc

Você também pode comparar listas de ficheiros em dois conjuntos de pacotes Debian binário com o comando debdiff.

[base_dir] $ debdiff old-package.changes new-package.changes

Estes são úteis para identificar o que foi mudado nos pacotes fonte e para verificar por alterações inadvertidas feitas quando se actualiza pacotes binário, tais como ficheiros não intencionalmente mal colocados ou removidos.

Debian agora força o envio apenas-fonte quando se desenvolve pacotes. Assim podem existir 2 ficheiros diferentes *.changes:

  • pacote_versão-revisão_source.changes para o envio normal apenas-fonte
  • package_version-revision_arch.changes for the source+binary upload

Você pode descarregar o conjunto de ficheiros para o pacote fonte Debian com o comando dget.

[base_dir] $ dget https://www.example.org/path/to/package_version-rev.dsc

Você pode tornar o tarball de autor ../foo-nova-versão.tar.[xg]z acessível a partir da árvore fonte Debian como ../foo_nova-versão.orig.tar.[xg]z. Este comando é útil para renomear e ligar por link simbólico o tarball do autor à convenção de nomes esperada em Debian.

Você pode ir buscar o tarball original pré-existente de um pacote Debian a partir de várias fonte, e desempacota-lo com o comando origtargz.

Isto é basicamente para revisões -2, -3, …​.

[Nota]Nota

When the upstream tarball is missing, debmake automatically produces a required tarball. This is a convenient feature and good enough for making a private Debian package. But when making a Debian package for the official Debian repository, you must use exactly the same upstream tarball as the -1 revision. For such case, origtargz should be used.

Se o projeto do autor estiver hospedado num repositório Git sem um lançamento oficial do tarball, você pode gerar o seu tarball original a partir do repositório git para ser usado pelo pacote fonte Debian. Execute git deborig a partir da raiz da árvore fonte copiada (checked-out).

Isto é basicamente para revisões -1.

O comando dpkg-source -b empacota a árvore fonte do autor no pacote fonte Debian.

Ele espera uma série de patches no directório debian/patches/ e a sua sequência de aplicação em debian/patches/series.

É compatível com operações dquilt (veja Secção 4.4, “Configuração do quilt”) e entende o estado de aplicação da patch a partir da existência de .pc/applied-patches.

O comando dpkg-buildpackage invoca dpkg-source -b.

O comando dpkg-source -x extrai a árvore fonte e aplica as patches no directório debian/patches/ usando a sequência especificada em debian/patches/series na árvore fonte do autor. Também adiciona .pc/applied-patches. (Veja Secção 11.13, “Repositório Git de patch aplicada””.)

O comando dpkg-source -x --skip-patches extrai apenas a árvore fonte. Não adiciona .pc/applied-patches. (Veja Secção 11.5, “Repositório Git de patch não-aplicada”.)

Ambas árvores fonte extraídas estão prontas para compilar pacotes binário Debian com dpkg-buildpackage, dbuild, sbuild, etc..

Você deve instalar os pacotes gerados com o comando debc para os testar localmente.

[base_dir] $ debc package_version-rev_arch.changes

Após enviar o pacote, você irá receber relatórios de bug. É um dever importante de um maintainer de pacote gerir estes bugs apropriadamente, como descrito em 5.8. Lidar com bugs” do Debian Developer’s Reference.

O comando bts é uma ferramenta útil para gerir bugs no Debian Bug Tracking System.

[~] $ bts severity 123123 wishlist , tags -1 pending

You can use dpkg-depcheck(1) to obtain a good first approximation to the Build-Depends line needed by a Debian package.

[foo-1.0] $ dpkg-depcheck -b debian/rules build