Использование mozjpeg вместо jpeg-turbo, включая удовлетворяющие зависимости

Я пытаюсь использовать 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, устанавливались с использованием замены?

Заранее благодарим.

2
задан 19 February 2017 в 11:58
1 ответ

зависимости кодируются сопровождающими пакетов в самих пакетах как зависимость от конкретного имени и / или версии пакета. Насколько мне известно, не существует метода, с помощью которого вы, как конечный пользователь, могли бы управлять такими зависимостями, например, из файла конфигурации apt-get.

Можно создать отношения зависимости для определенных функций, а не в зависимости от конкретное имя пакета с помощью виртуального пакета , когда несколько пакетов предлагают идентичную функциональность, но обычно это требует координации с другими сопровождающими пакета.

Для вашей собственной среды вы можете попробовать это без такой координации, хотя :

В руководстве есть ряд предупреждений, но когда вы создаете пакет для mozjpeg, вы можете использовать параметр Provides: jpeg-turbo , чтобы сделать его виртуальным пакетом, который после установки , удовлетворяет требованиям зависимостей для пакетов, которым требуется jpeg-turbo.

0
ответ дан 3 December 2019 в 14:14

Теги

Похожие вопросы