[devel] Requires optimization/pruning

Michael Shigorin mike на osdn.org.ua
Ср Мар 9 11:20:41 UTC 2011


On Sat, Feb 05, 2011 at 08:41:03AM +0300, Alexey Tourbin wrote:
> Насчет оптимизации зависимостей между подпакетами.  Мне совсем недавно
> пришло в голову, что зависимости можно оптимизировать ещё сильнее:
> а именно, оптимизировать можно не только зависимости, удовлетворённые
> через Provides, но и зависимости, удовлетворенные через Requires! Ж-)
> 
> Пусть например пакет rpm требует две зависимости
> librpm = 4.0.4-alt16
> libc.so.6()(64bit)
> а пакет librpm в свою очередь требует среди прочих зависимость
> libc.so.6()(64bit)
> 
> Тогда из пакета rpm можно удалить зависимость на libc.so.6()(64bit).
> То есть некоторые зависимости подпакетов иногда "отоваривать", как говорит
> лидер нации, через базовый подпакет.  Что в принципе имеет смысл.
> 
> Но там сложнее сделать, поскольку две Requires зависимости нельзя
> сравнивать напрямую.  И это не будет хорошо работать с set-версиями,
> потому что обычно будут разные/несравнимые подможества.  А оптимизация
> зависимостей делается прежде всего, чтобы снизить нагрузку на
> pkglist/pkgcache и apt, которая подскочила из-за set-версий.

Может, всё-таки обрезать в pkglist, а не в самих пакетах?

Тогда пакеты будут нести достаточную индивидуальную информацию,
а pkglist-ы -- отражать достаточную совокупную на момент генерации.
(мысль высказана led@ и мне кажется разумной)

Если вырезать из самих пакетов -- очень большой шанс напороться
на ещё более неприятные грабли с разрывом цепочки, чем уже
предсказанные и происшедшие с BuildRequires (см. тж. buildreq -u):
http://lists.altlinux.org/pipermail/devel/2007-March/137289.html

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


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