Capítulo 16. opções do debmake

Índice

16.1. Shortcut option (-i)
16.2. debmake -b
16.3. debmake -B
16.4. debmake -x

Aqui estão algumas explicações adicionais para as opções do debmake.

The debmake command offers a shortcut option.

  • -i : executa script para compilar o pacote binário

O exemplo em cima Capítulo 5, Empacotamento simples” pode ser feito simplesmente como se segue.

[base_dir] $ debmake package-1.0.tar.xz -i debuild
[Dica]Dica

A URL such as https://www.example.org/DL/package-1.0.tar.xz for a tarball, https://github.com/username/package.git for a git repository, or /path/to/source_dir for a local source tree may be used as an argument.

O comando debmake com a opção -b fornece um método intuitivo e flexível de criar o ficheiro modelo inicial debian/control. Este ficheiro define a divisão dos pacotes binário Debian com as seguintes estrofes:

O comando debmake também define um conjunto apropriado de substvars (variáveis de substituição) usado em cada estrofe de dependência pertinente.

Vamos citar a parte pertinente do manual do debmake aqui.

-b, --binaryspec "binarypackage[:type], …​"

define as especificações do pacote binário por uma lista separada por vírgulas de pares pacotebinário:tipo. Aqui, pacote-binário é o nome do pacote binário, e o tipo opcional é escolhido a partir dos seguintes valores de tipo:

  • bin: Pacote de código binário ELF compilado C/C++ (any, foreign) (predefinido, nome alternativo: "", isto é, string-nula)
  • data: Pacote de dados (fonts, gráficos, …) (all, foreign) (nome alternativo: da)
  • dev: Pacote de desenvolvimento de biblioteca (any, same) (nome alternativo: de)
  • doc: Pacote de documentação (all, foreign) (nome alternativo: do)
  • lib: Pacote biblioteca (any, same) (nome alternativo: l)
  • perl: Pacote script Perl (all, foreign) (nome alternativo: pl)
  • python3: Pacote script Python (versão 3) (all, foreign) (nome alternativo: py3, python, py)
  • ruby: Pacote script Ruby (all, foreign) (nome alternativo: rb)
  • nodejs: Pacote JavaScript baseado em Node.js (all, foreign) (nome alternativo: js)
  • script: Pacote script shell e outra linguagem interpretada (all, foreign) (nome alternativo: sh)

O par de valores dentro de parênteses, tais como (any, foreign), são os valores de estrofe Arquitectura e Multi-Arch definidos no ficheiro debian/control. Em muitos casos, o comando debmake consegue adivinhar bem o tipo de pacotebinário. Se tipo não for óbvio, tipo é definido para bin.

Aqui estão exemplos para cenários típicos de divisão de pacote binário onde o nome do pacote fonte Debian do autor é foo:

  • Gerando um pacote binário executável foo:

    • -b’foo:bin', or its short form -b'-', or no -b option
  • Gerando um pacote binário executável (python3) python3-foo:

    • -b’python3-foo:py', ou o seu formato curto -b’python3-foo'
  • Gerando um pacote de dados foo:

    • -b’foo:data', ou seu formato curto -b'-:data'
  • Gerando um pacote binário executável foo e um de documentação foo-doc:

    • -b’foo:bin,foo-doc:doc', ou seu formato curto -b'-:-doc'
  • Gerando um pacote binário executável foo, um pacote biblioteca libfoo1, e um pacote de desenvolvimento de biblioteca libfoo-dev:

    • -b’foo:bin,libfoo1:lib,libfoo-dev:dev' ou seu formato curto -b'-,libfoo1,libfoo-dev'

Se o conteúdo da árvore fonte não corresponder à definição para tipo, o comando debmake avisa-o.

The debmake command invoked with the -B option can generate template files with .ex suffix. This is handy if you want to see auto-generated template files to the existing ones.

A quantidade de ficheiros modelo gerados pelo comando debmake depende da opção -x[01234].

[Nota]Nota

Nenhum dos ficheiros de configuração existentes são modificados pelo comando debmake.