Convenção de nomenclatura de pacotes Debian?

12

É tudo muito confuso. Existem diferentes exemplos por aí, por exemplo:

<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb

fonte: nomes de arquivo do pacote debian

A seção 5.6.12 Versão ou o Manual de Políticas Debian também está relacionada ao nome do arquivo do pacote real também? Ou apenas para os campos no arquivo de controle?

Neste tópico da wiki sobre formatos de repositório, ele realmente não diz nada sobre convenções, o mesmo no guia de práticas recomendadas do desenvolvedor .

Talvez eu esteja apenas procurando a coisa errada, por favor me ajude e me diga onde encontrar as convenções de nome de pacote Debian. Estou especialmente curioso sobre onde colocar o codinome do Debian. Eu quero fazer algo assim:

<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb

Onde <debiancodename>é apenas squeezeou wheezy.

Preexo
fonte
A seção da política refere-se apenas ao arquivo de alterações. Apenas renomear o debe ajuste o .changesarquivo
Ulrich Dangel
significa que não há convenções sobre os nomes de arquivos para arquivos .deb?
Preexo
1
@prex existem, mas não há uma definição formal. E se você quiser ajustar o nome do arquivo, apenas renomeie o deb e ajuste o arquivo de alterações. Se você não fizer um upload seria suficiente apenas para renomear o arquivo deb
Ulrich Dangel
obrigado! sim, eu não estou upload de modo problema é resolvido meio;) fazem uma resposta com isso e talvez sobre como estrita as convenções são e eu vou aceitá-lo como uma resposta :)
Preexo

Respostas:

11

Meu entendimento é que você deseja distribuir / implantar um pacote em várias distribuições baseadas no Debian.

No mundo Debian / Ubuntu, você não deve fornecer .debarquivos individuais para baixar e instalar. Em vez disso, você deve fornecer um repositório APT. (no mundo do Fedora / Red Hat / CentOS, eu daria um conselho semelhante para fornecer um repositório YUM). Não apenas resolve o problema de como nomear o arquivo deb, mas o repositório é uma maneira eficaz de fornecer uma versão mais recente do seu pacote, incluindo correções de erros e atualizações de segurança. Criar um repositório APT está além do objetivo desta página / pergunta, basta pesquisar por "como configurar um repositório apt"

Agora, de volta à sua pergunta: "convenção de nomenclatura de pacotes":

Quando você gera o pacote dpkg-buildpackage, o pacote será nomeado de maneira padrão. Citando a página de manual do dpkg-name :

Um nome completo do pacote consiste em package_version_architecture.package-type, conforme especificado no arquivo de controle do pacote.

package_version_architecture.package-type

A Política Debian é o lugar certo para conhecer a sintaxe dos arquivos de controle: nome (para os pacotes Source e binário), versão , arquitetura , tipo de pacote .

Não há nenhuma disposição para declarar a distribuição, porque não é assim que as coisas acontecem.

Se você precisar compilar a mesma versão de um pacote para várias distribuições , altere o versioncampo (no arquivo debian/changeloge debian/control). Algumas pessoas usam o nome da distribuição no campo da versão. por exemplo openssl :

0.9.8o-4squeeze14 
1.0.1e-2+deb7u14
1.0.1k-1 

Se é isso que você quer fazer, leia sobre debian-policy debian_revisionna versão .

Franklin Piat
fonte