Usando o mozjpeg no lugar do jpeg-turbo, incluindo dependências satisfatórias

2

Estou tentando usar o mozjpeg como uma biblioteca substituta para o jpeg-turbo. Eu sou perfeitamente capaz de buscar os fontes e compilá-los conforme necessário e até mesmo criar um arquivo deb que eu possa usar para instalar o pacote (por exemplo, apt-get install ./mozjpeg_3.2_amd64.deb ).

Para ser claro, note que esses dois pacotes devem fornecer exatamente a mesma interface e, portanto, ser funcionalmente equivalentes. Consequentemente, uma dependência do jpeg-turbo deve ser satisfeita pelo mozjpeg.

Ok, continuando, quando eu continuar a instalar pacotes dependentes (por exemplo, cabeçalhos de desenvolvimento do ghostscript, libgs-dev ), me deparo com erros, pois eles declararam uma dependência em libjpeg62-turbo-dev :

dpkg: error processing archive /tmp/apt-dpkg-install-HuzNRO/0-libjpeg62-turbo-dev_1%3a1.5.1-2_amd64.deb (--unpack):
trying to overwrite '/usr/include/jerror.h', which is also in package mozjpeg 3.2-20170219

Agora, que um conflito surge neste ponto é claro que é lógico. Há uma maneira de prevenir isto? Posso dizer ao sistema de dependências que o mozjpeg satisfaz a dependência do jpeg-turbo, de modo que quaisquer pacotes que dependam do jpeg-turbo serão instalados usando a substituição?

Obrigado antecipadamente.

    
por fvm 19.02.2017 / 10:58

1 resposta

0
As dependências

são codificadas pelos mantenedores de pacotes nos próprios pacotes como uma dependência em um nome de pacote e / ou versão específicos. Não há, até onde eu sei, nenhum método que você, como usuário final, possa manipular tais dependências, por exemplo, de um arquivo de configuração do apt-get.

É possível criar relações de dependência em funcionalidades específicas, em vez de depender de um nome de pacote específico, através de um virtual-package quando vários pacotes oferecem funcionalidade idêntica, mas normalmente isso requer coordenação com os outros mantenedores de pacotes.

Para o seu próprio ambiente, você pode tentar isso sem qualquer coordenação:

Existem vários avisos no manual, mas quando você constrói o pacote para o mozjpeg você pode usar o Provides: jpeg-turbo opção para torná-lo um pacote virtual que, uma vez instalado, satisfaria os requisitos de dependência para pacotes que precisem de jpeg-turbo.

    
por 19.02.2017 / 11:50