Como construir backports privados. Para criar um repositório pessoal para seus backports, veja DebianRepository/Setup. Para backports adequados para upload para backports.debian.org, consulte BuildingFormalBackports. Para informações gerais sobre empacotamento, consulte Packaging.

Aqui tomamos como exemplo o pacote coreutils, a partir do qual queremos instalar uma versão mais recente disponível na versão teste (testing). Se o pacote que você está procurando não está disponível na teste (testing), mas está em um PPA Ubuntu, dê uma olhada em CriePacotesDePPA.

Não precisamos ser root aqui, exceto nos primeiros e últimos passos.

Describes a specific packaging workflow

This page describes one possible workflow to solve a specific problem. Parts of it may inspire you to find a workflow that suits your situation.

For more pages like this, see Packaging.

Instale as ferramentas de empacotamento Debian

sudo apt install packaging-dev debian-keyring devscripts equivs

Encontre qual versão está disponível no repositório Debian

$ rmadison coreutils --architecture amd64
coreutils  | 8.23-4        | oldstable  | amd64
coreutils  | 8.26-3        | stable     | amd64
coreutils  | 8.30-3        | testing    | amd64
coreutils  | 8.30-3        | unstable   | amd64

Adicione entradas de pacotes-fonte para a versão teste (testing)

Se o pacote que você está criando como backport ainda não estiver na teste (testing), use a versão na qual o pacote se encontre, como instável (unstable) ou experimental, de acordo com as instruções abaixo.

Adicione as entradas deb-src em seu arquivo de fontes do apt:

# Pacotes-fonte para Debian teste (testing)
deb-src http://deb.debian.org/debian/ testing main

Atualize o índice de pacotes:

apt update

Faça o download dos pacotes-fonte:

apt source coreutils/testing

Instale as dependências de construção

cd coreutils-*/
sudo mk-build-deps --install --remove

Isso instalará um pacote chamado coreutils-build-deps dependendo das dependências de construção listadas. Se você remover este pacote mais tarde, as dependências de construção atuais serão marcadas como "automaticamente instaladas e não mais necessárias" e podem ser removidas com apt autoremove.

Indique no changelog um número de revisão backport

dch --bpo

Isso adicionará algo como ~bpo9+ para o número da versão do pacote. O sinal gráfico ~ faz o pacote ser inferior na versão, que deve permitir uma atualização adequada do pacote quando você atualizar para a próxima versão do Debian (ou seja, seu pacote será substituído pelo pacote oficial do Debian).

Teste se é possível construir o pacote com sucesso

fakeroot debian/rules binary

Se isso falhar devido a um arquivo ausente, apt-file pode ser útil para localizar a dependência que você precisa.

Construa o pacote apropriadamente, sem assinar o pacote

dpkg-buildpackage --build=binary --unsigned-changes

Instale a aproveite!

sudo apt install ../coreutils_*_*.deb

Vá além

Dê uma olhada em ConstruindoBackportsFormais e contribua com seu backport para o Debian conforme explicado aqui: https://backports.debian.org/Contribute/


CategoryPackaging