Instalando o mpd 0.17 ou 0.16 no debian squeeze

2

Como eu poderia instalar o mpd 0.17 ou mesmo o 0.16 no debian squeeze? Tem sido sugerido para mim que eu deveria usar backports, mas não entendi muito bem o que devo fazer no caso de dependências não atendidas. Por exemplo, o mpd 0.17 existe em wheezy-backports mas depende de bibliotecas que são uma versão maior do que a que está disponível nos squeeze repos. Devo instalar cada dependência um por um dos pacotes prontos nos backports (se existirem)? Ou devo instalá-los a partir do repos chiado?

Meu arquivo sources.list é:

#

# deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official Snapshot amd64 LIVE/INSTALL Binary 20130824-13:07]/ squeeze main non-free

# deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official Snapshot amd64 LIVE/INSTALL Binary 20130824-13:07]/ squeeze main non-free

deb http://ftp.gr.debian.org/debian/ squeeze main
deb-src http://ftp.gr.debian.org/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main non-free
deb-src http://security.debian.org/ squeeze/updates main non-free

# squeeze-updates, previously known as 'volatile'
deb http://ftp.gr.debian.org/debian/ squeeze-updates main non-free
deb-src http://ftp.gr.debian.org/debian/ squeeze-updates main non-free

# backports
deb http://ftp.gr.debian.org/debian wheezy-backports main contrib non-free
deb http://ftp.gr.debian.org/debian wheezy main contrib non-free
deb http://backports.debian.org/debian-backports/ squeeze-backports main contrib non-free

EDITAR: Não consegui obter as origens com apt-get source mpd=0.17.6-1~bpo70+1 . apt estava me dando esse erro:

E: Ignore unavailable version '0.17.6-1~bpo70+1' of package 'mpd' 
E: Unable to find a source package for mpd

apt-cache showsrc mpd retornou a única versão do squeeze.

EDIT 2: Tentando instalar a versão 0.16 do wheezy. Eu tenho as fontes, mas quando eu corri debuild -uc -us me deu erros sobre dependências não satisfeitas. A criação dos deps com apt-get build-deps mpd=0.16.7-2 retornou que exigiu libmp3lame0 (= 1:3.99.5) e eu tenho 3.98.4+repack2-3~bpo60+1 .

    
por svart 28.02.2014 / 22:21

2 respostas

1

Esta é uma resposta para a versão 0.17.6 do MPD.

O trelosae queria 0,17 ou mais tarde no Debian squeeze. Isso é um pouco difícil, já que a versão MPD no wheezy é 0.16.7, a versão em backhand wheezy é 17.6, e a versão em testing / unstable é 0.18.8. No testing / unstable o pacote agora usa systemd , que não está disponível no squeeze, e também o Debian mudou para usar /run para o wheezy (veja Liberar Objetivos: Executar Diretório ), que não existe no squeeze. Portanto, construir o backport wheezy diretamente no squeeze era problemático.

Após muita discussão sobre o chat , (espalhados por alguns dias, mas siga o ícone azul de trelosae ) o seguinte trabalhado - usando o pacote Debian para o pacote 0.16.7 MPD em wheezy com o tar de 0.17.6 orig do backhand wheezy. Eu acho que o tar tar original também poderia ter sido obtido a partir do upstream.

MAIS DETALHES: Após descompactar os diretórios de origem MPL 0.16.7 e 0.17.6 lado a lado, renomeie o diretório debian/ no diretório de origem 0.17.6 para debian.orig/ . Em seguida, copie o diretório debian / do diretório de origem 0.16.7 para o diretório de origem 0.17.6. A única coisa que resta a fazer é copiar a entrada para 0.17.6 da entrada superior de debian.orig/changelog (a embalagem de 0.17.6) para o topo de debian/changelog (a embalagem 0.16.7).

A compilação foi a mesma da versão 0.16.7. debuild -uc -us como de costume. Isso foi fácil porque (incomum) o pacote Debian não aplica nenhum patch ao código upstream.

    
por 01.03.2014 / 21:09
1

Tudo bem, eu tenho o mpd 0.16 agora trabalhando no squeeze graças a @FaheemMitha e @derobert. O que eu fiz foi pegar os fontes do mpd dos repositórios wheezy com apt-get source mpd=0.16.7-2 . Para fazer isso, você deve primeiro adicionar os repositórios src em seu arquivo sources.list. Caso seu arquivo de fontes seja como o meu, você precisa alterar as linhas referentes aos backports de:

deb http://ftp.gr.debian.org/debian wheezy-backports main contrib non-free
deb http://ftp.gr.debian.org/debian wheezy main contrib non-free

para

deb-src http://ftp.gr.debian.org/debian wheezy-backports main contrib non-free
deb-src http://ftp.gr.debian.org/debian wheezy main contrib non-free

Se você não possui nenhum repositório de backports na sources.list, basta adicionar as duas linhas acima (com o código de país apropriado). Depois de alterar o arquivo sources.list, execute apt-get update . Para verificar o que você fez, você pode executar apt-cache showsrc mpd | less e verificar se a versão 0.16.7-2 está listada lá.

Se você não pode ver, então algo está errado, volte e verifique suas fontes. Você sempre pode verificar se há arquivos .list extras em /etc/apt/sources.list.d/ que podem causar problemas e comentá-los.

Agora, vá para /usr/local/src e crie um diretório com o nome mpd e cd . É aqui que você irá baixar a fonte do pacote mpd para construí-lo. Primeiro execute dch -i para criar uma nova entrada do changelog e não criar conflitos ou substituições. A nova entrada poderia ser assim:

mpd (0.16.7-2.username) UNRELEASED; urgency=low

  * Backport to wheezy.

 -- User <user@domain>  Sat, 01 Mar 2014 22:34:34 +0530

Execute apt-get source mpd=0.16.7-2 e faça o download dos tars para o arquivo e descompacte-os em um novo diretório mpd-0.16.7 .

cd nesse diretório e execute debuild -uc -us . Se ele retornar erros sobre dependências não atendidas, execute apt-get build-dep mpd . Muito provavelmente as dependências de compilação para a versão squeeze do mpd serão suficientes. Depois de instalar as dependências de compilação, execute debuild -uc -us novamente. Se ele ainda retornar erros de dependência, execute apt-get build-dep mpd=0.16.7-2 e tente construir o pacote novamente com debuild -uc -us .

Se isso falhar também, você pode tentar instalar as dependências manualmente. Se você não consegue encontrar as dependências necessárias nos repositórios normais, pode tentar instalar a partir do squeeze-backports com apt-get install -t squeeze-backports package . Nota: para fazer isso você deve ter squeeze-backports em seu arquivo sources.list:

deb http://backports.debian.org/debian-backports/ squeeze-backports main contrib non-free

Agora que o problema de dependência está presumivelmente ordenado, execute debuild -uc -us e isso deve gerar o pacote .deb no diretório pai (neste caso, /usr/local/src/mpd/ ). Agora vá em frente e cd .. e, em seguida, execute dpkg -i name_of_the_generated_package.deb e isso deve instalar o pacote.

    
por 01.03.2014 / 15:18