Capítulo 16. opções do debmake

Índice

16.1. Opção curta (-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.

O comando debmake oferece uma opção curta de atalho.

  • -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

Pode ser usado como um argumento um URL como https://www.example.org/DL/package-1.0.tar.xz para um tarball, https://github.com/username/package.git para um repositório git, ou /caminho/para/directório-fonte/ para uma árvore fonte local..

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 "pacote-binário[:tipo], …""

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', ou seu formato curto -b'-', ou nenhuma opção -b
  • 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.

O comando debmake invocado com a opção -B pode gerar ficheiros modelo com sufixo .ex. Isto é útil se você deseja comparar os ficheiros modelo auto-gerados com os existentes.

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.