[devel] apt-conf-branch и apt-conf-sisyphus

Leonid Krivoshein klark.devel на gmail.com
Ср Фев 21 03:01:37 MSK 2018


По мотивам багов #34510 и #30806, которые теперь точно можно закрыть.

Мне кажется, у нас небольшая проблема. Надеюсь, решаемая. Речь о 
пакетном наполнении образов, собираемых mkimage. Сам он, как оказалось, 
не причём, это особенность APT'а и следствие mkimage-profiles. Ну и, 
конечно, наша традиция использовать ВЕЗДЕ одинаковые 
/etc/apt/pkgpriorities из apt-conf-{branch,sisyphus}, точнее, не 
использовать их по назначению ВООБЩЕ. Но, давайте по-порядку...

В mate-default была приколочена жёсткая зависимость на firefox. Это 
мешало сделать специальную сборку с firefox-gost, поэтому баг закрыли, 
поменяв зависимость на webclient. На последних регулярках в сборку с 
MATE стал приезжать браузер rekonq, ко всему прочему нерабочий. Понятное 
дело, тащил он за собой кучу всего Qt'шного и KDE'шного. А главное, 
причину искали долго, поскольку бага очевидно затрагивала не только 
регулярки, но и почти все наши основные дистрибутивы с MATE.

Причиной оказалась в зависимости xsane от webclient. Если ставить так:

apt-get install xsane firefox

То в систему попадает ещё и rekonq. А если так:

apt-get install firefox xsane

То не попадёт. То есть, от перемены мест слагаемых наполнение 
дистрибутивного образа явно зависит, причём так работает наш apt. 
Регулировать порядок следования пакетов в финальном списке, формируемом 
в m-p и передаваемом mki, на мой взгляд, чересчур проблематично. Но 
подобных сторонних эффектов мы ещё встретим много, если не поменяем 
подход к /etc/apt/pkgpriorities (у APT'а есть ещё PIN-priorities). При 
помощи этой штуки регулировать предпочтения для того или иного 
дистрибутива правильней, тогда и коллизий подобных станет на порядок 
меньше. В нашем случае для дистрибутивов с MATE и Firefox:

echo "  firefox" >> /etc/apt/pkgpriorities
apt-get install xsane firefox

Теперь без разницы, на каком месте xsane. Костыль, конечно. Но править 
логику apt'а будет сложнее...


-- 
Best regards,
Leonid Krivoshein.



Подробная информация о списке рассылки Devel