Forma recomendada de reempacotamento de pacotes deb proprietários, que incluem bibliotecas antigas do sistema

2

Introdução

Para encurtar a história, em alguns projetos estou usando algumas câmeras estéreo. Infelizmente, o fabricante fornece pacotes (rpm e deb ) para drivers de espaço do usuário que não são exatamente formatados (faltando dependências, outras informações de controle, etc.) Para piorar, ele deveria ser executado em uma versão de distribuição Linux específica (Ubuntu 12.04 / Ubuntu 14.04), mas é empacotado com bibliotecas desatualizadas, por exemplo:

libturbojpeg.so

libusb-1.0.so.0.1.0

Mais uma coisa, o driver original é instalado em /opt/manufacturer/proprietary_driver/{bin, lib, etc} .

Portanto, para uma boa distribuição, construção e execução dos meus projetos, decidi remontar a bagunça oficial deste fabricante. A solução Blunt estava deixando todas as bibliotecas como estão, preenchendo as informações de controle necessárias e adicionando algo em /etc/ld.so.conf.d/proprietary_driver.so.conf da seguinte forma:

/opt/manufacturer/proprietary_driver/lib

Problema

Tudo parece funcionar, mas todas as vezes fazendo apt-get upgrade Eu recebo isso:

/sbin/ldconfig.real: /opt/manufacturer/proprietary_driver/lib/libusb-1.0.so.0 is not a symbolic link

Além disso, enquanto lia o guia de mantenedores do Debian , percebi que colocar coisas em /opt não são compatíveis. Sem mencionar poluir LD_LIBRARY_PATH com bibliotecas necessárias apenas por algum driver específico.

Por assim dizer, devo estar fazendo algo errado.

Pergunta

Existe alguma outra maneira recomendada e / ou melhor de lidar com pacotes Debian binários proprietários que incluem versões antigas de várias bibliotecas do sistema? Eu ficaria muito feliz se a solução sugerida pudesse ser usada para fazer o upstream do pacote em questão pelo menos no Debian e no Ubuntu.

    
por Kamiccolo 22.12.2015 / 22:45

0 respostas