Я пытаюсь использовать mozjpeg как заменяющую библиотеку для jpeg -турбо. Я прекрасно могу получить исходные коды и компилировать их по мере необходимости и даже создать из него deb-файл, который я могу использовать для установки пакета (например, apt-get install. /mozjpeg_3.2_amd64.deb
).
Чтобы было ясно, обратите внимание, что эти два пакета должны обеспечивать один и тот же интерфейс и, следовательно, быть функционально эквивалентными. Соответственно, зависимость от jpeg-turbo должна удовлетворяться с помощью mozjpeg.
Итак, когда я продолжаю устанавливать зависимые пакеты (например, заголовки разработки ghostscript, libgs-dev
), я сталкиваюсь с ошибки, поскольку они объявили зависимость от 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
То, что на этом этапе возникает конфликт, конечно же, логично. Есть ли способ предотвратить это? Могу ли я сообщить системе зависимостей, что mozjpeg удовлетворяет зависимости от jpeg-turbo, чтобы любые пакеты, зависящие от jpeg-turbo, устанавливались с использованием замены?
Заранее благодарим.
зависимости кодируются сопровождающими пакетов в самих пакетах как зависимость от конкретного имени и / или версии пакета. Насколько мне известно, не существует метода, с помощью которого вы, как конечный пользователь, могли бы управлять такими зависимостями, например, из файла конфигурации apt-get.
Можно создать отношения зависимости для определенных функций, а не в зависимости от конкретное имя пакета с помощью виртуального пакета
, когда несколько пакетов предлагают идентичную функциональность, но обычно это требует координации с другими сопровождающими пакета.
Для вашей собственной среды вы можете попробовать это без такой координации, хотя :
В руководстве есть ряд предупреждений, но когда вы создаете пакет для mozjpeg, вы можете использовать параметр Provides: jpeg-turbo
, чтобы сделать его виртуальным пакетом, который после установки , удовлетворяет требованиям зависимостей для пакетов, которым требуется jpeg-turbo.