[devel] чудесное обретение *-debuginfo пакетов

Alexey Tourbin at на altlinux.ru
Пт Фев 4 11:34:41 UTC 2011


On Fri, Feb 04, 2011 at 12:04:34AM +0300, Dmitry V. Levin wrote:
> On Mon, Jan 31, 2011 at 08:36:12AM +0300, Alexey Tourbin wrote:
> > Просьба пока не собирать пакетов с системными библиотеками.
> 
> У меня почти все библиотеки системные, почти вся работа застопорилась...

- сделал макросы %brp_strip_debug и %brp_srip_none
- сделал скрипты debuginfo.{req,prov}, они в упрощенном виде дублируют
  логику lib.{req,prov}, зависимости будут типа debug64(libc.so.6) и
  /usr/lib/debug/lib64/ld-linux-x86-64.so.2.debug

Как-то чуднО новые зависимости смотрятся.

- выложил оптимизатор зависимостей: удаляет "лишние" виртуальные
  зависимости, если между пакетами есть строгая реальная зависиомсть

Есть много каверзных тонкостей.  Пусть например пакет rpm-build
имеет две зависимости
Requires: rpm = V-R
Requires(pre): librpm-4.0.4.so >= set:...
а пакет rpm имеет зависимость
Requires: librpm = V-R

Тогда зависимость на librpm-4.0.4.so можно соптимизировать по
тразитивности, т.к. оба перехода строгие.  Но ещё надо куда-то
пристроить флаг (pre), а пристроить его особо некуда.

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

- не сделал пока коррекцию %{SIZE}
- не сделал проверки запакованности симлинков, по которым создаются
  создаются *.debug симлинки - т.е. возможна ситуация, что напр в
  /usr/bin/ некоторые симлинки не запакованы, а в /usr/lib/debug/usr/bin
  все соответствующие им симлинки запакованы

Хотя это и довольно умозрительная ситуация, она слишком легко позволяет
создать файловый конфликт.

> -- 
> ldv


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