Como enganar as dependências do apt? [duplicado]

7

Eu quero usar o Frescobaldi (um editor para o Lilypond), mas a versão empacotada do lilypond (2.12.3; lilypond é como o TeX para planilhas) nos repositórios oficiais é um pouco antiga, já que eu quero usar alguns Novas características. Então eu acabei de clonar o repositório do git e instalar a partir daí.

Agora, minha pergunta é, como posso dizer ao apt que eu satisfaça a dependência do lilypond manualmente, para que ele não tente instalar outra cópia?

    
por FUZxxl 11.03.2011 / 15:00

2 respostas

11

Para onde você está realmente fornecendo a dependência, eu usaria checkinstall para fazer a instalação. checkinstall basicamente substitui make install e gera um pacote .deb adequado e, em seguida, instala isso. Isso não apenas permite remover ou atualizar o pacote de uma maneira melhor (quando chega a hora), ele satisfaz as dependências de outros aplicativos.

A alternativa é escrever um pequeno pacote fictício que não forneça nenhum arquivo, mas que ofereça o que você quiser. A maneira mais fácil de ver é usar um aplicativo chamado equivs :

sudo apt-get install equivs
equivs-control lilypond

# edit your fake package so it has the right versions, names, description, etc
nano lilypond

equivs-build lilypond
sudo dpkg -i lilypond-dummy*.deb

Há uma terceira rota que é fácil, mas potencialmente prejudicial: basta instalá-la a partir dos repositórios padrão e substituir seus arquivos pelos que você gera. Bloqueie a versão do pacote para que não seja atualizado. Isso tem o escopo de dar errado, então faça isso apenas se você não puder checkinstall ou falsificar o pacote primeiro.

    
por Oli 11.03.2011 / 15:31
0

Você deve ter usado dhmake ou sudo check install em vez de sudo make install . Dessa forma você cria um deb (check install também instala o deb) da versão mais recente do lilypond ^^.

Se você ainda tiver a fonte (e os arquivos / arquivos do objeto, etc., após sua compilação), você ainda poderá fazer isso sem precisar fazer o download novamente.

    
por RolandiXor 11.03.2011 / 15:28