Chapter 12. Tool usages

Table of Contents

12.1. debdiff
12.2. dget
12.3. mk-origtargz
12.4. origtargz
12.5. git deborig
12.6. dpkg-source -b
12.7. dpkg-source -x
12.8. debc
12.9. piuparts
12.10. bts

Here are some notable tools around Debian packaging.

[Note]Note

A descrição nesta secção é demasiado concisa para ser útil para a maioria dos futuros maintainers. Esta é a escolha intencional do autor. Você é altamente encorajado a procurar e ler todos os documentos pertinentes associados aos comandos usados.

[Note]Note

Examples here use the gz-compression. The xz-compression may be used instead.

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

$ debdiff velho-pacote.dsc novo-pacote.dsc

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

$ debdiff velho.pacote.changes novo-pacote.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 now enforces the source-only upload when developing packages. So there may be 2 different *.changes files:

  • package_version-revision_source.changes for the normal source-only upload
  • package_version-revision_arch.changes for the binary upload

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

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

You can make the upstream tarball ../foo-newversion.tar.[xg]z accessible from the Debian source tree as ../foo_newversion.orig.tar.[xg]z.

You can fetch the pre-existing orig tarball of a Debian package from various sources, and unpack it with origtargz command.

This is basically for -2, -3, …​ revisions.

If the upstream project is hosted on a Git repository without the official release of tarball, you can generate its orig tarball from the git repository for use by the Debain source package. Please, execute git deborig from the root of the checked-out source tree.

This is basically for -1 revisions.

The dpkg-source -b command packs the upstream source tree into the Debian source package.

It expects a series of patches in the debian/patches/ directory and their application sequence in debian/patches/series.

It is compatible with dquilt (see Section 4.4, “quilt setup””) operations and understands the the patch application status from the existance of .pc/applied-patches.

The dpkg-buildpackage command invokes dpkg-source -b.

The dpkg-source -x command extracts source tree and applies the patches in the debian/patches/ directory using the sequence specified in debian/patches/series to the upstream source tree. It also adds .pc/applied-patches. (See Section 10.6, “Patch applied Git repository””.)

The dpkg-source -x --skip-patches command extracts source tree only. It doesn’t add .pc/applied-patches. (See Section 10.5, “Patch unapplied Git repository”.)

Both extracted source trees are ready for building Debian binary packages with dpkg-buildpackage, dbuild, sbuild, etc..

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

$ debc package_version-rev_arch.changes

Você deve instalar os pacotes gerados com o comando piuparts para os testar automaticamente.

$ sudo piuparts package_version-rev_arch.changes
[Note]Note

Isto é um processo muito lento com acesso a repositório de pacotes APT remoto.

After uploading the package, you will receive bug reports. It is an important duty of a package maintainer to manage these bugs properly as described in 5.8. Handling bugs” of the 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