Como você reempacota um pacote deb para um sistema operacional mais antigo?

0

Eu sei como extrair um pacote, fazer pequenas alterações e reempacotá-lo. Eu queria saber se havia algo especial que você teria que fazer se você fosse reempacotar um pacote deb, então ele era compatível com uma versão mais antiga do sistema operacional.

Por exemplo, eu quero atualizar o pacote xyz no Ubuntu 12, mas o pacote xyz está disponível apenas no Ubuntu 14. Posso apenas modificar o arquivo de controle para alterar o Unicórnio Utopico para Pangolim Preciso?

    
por pullsumo 14.01.2015 / 00:31

2 respostas

1

Você obterá dependências não atendidas se quiser pegar o pacote do sistema mais novo e instalar em um sistema mais antigo. Você pode verificar as dependências no arquivo de controle na seção Depends: . Você pode tentar resolver dependências atualizando-as, mas, ao fazer isso, pode interromper outros aplicativos que dependem de versões antigas. Se você conseguir obtê-los, basta recompilar o pacote ou tentar instalar esse pacote a partir do código-fonte.

    
por 14.01.2015 / 08:36
1

Se tiver compilado o código no pacote, você precisará reconstruí-lo na maioria dos casos.

Breve resumo sobre como fazer isso:

Para fazer isso, baixe o pacote source no Ubuntu 14.04 ou 14.10 (o que você quis dizer com "Ubuntu 14") com apt-get source -d packagename e copie os arquivos baixados, um .dsc e geralmente um .debian.tar.xz ou .debian.tar.gz (às vezes ainda .diff.gz ) e geralmente um .orig.tar.gz na máquina com a versão antiga do Ubuntu (suponho que o Ubuntu 12.04 desde 12.10 não é mais suportado).

Lá, descompacte o pacote de origem com dpkg-source -x file.dsc (como as seguintes ferramentas do pacote dpkg-dev ) no arquivo .dsc copiado e mude para o diretório criado.

Em seguida, verifique se você tem todas as dependências de compilação instaladas com dpkg-checkbuilddeps , instale as que faltam, se necessário.

Opcionalmente, execute dch --bpo para adicionar uma entrada de changelog e um número de versão apropriados, dependendo de quão adequado o backport deve ser.

Em seguida, execute dpkg-buildpackage -b para reconstruir o pacote.

    
por 14.01.2015 / 19:34