[devel] Q: Авто вырезание зависимостей?

Aleksey Avdeev solo на solin.spb.ru
Пн Мар 18 15:41:14 MSK 2013


18.03.2013 13:06, Dmitry V. Levin пишет:
> On Mon, Mar 18, 2013 at 12:40:22PM +0400, Aleksey Avdeev wrote:
...
>>
>>   Видно, что:
>>
>> 1.1. Одинаковая зависимость /usr/lib/python2.7/site-packages
>> присутствует о обоих подпакетов: python-module-weave, где она
>> %python_sitelibdir_noarch и python-module-scipy, где она
>> %python_sitelibdir. И понятно, что на x86_64 такого совпадения не будет
>> (подпакет python-module-scipy содержит архитектурно зависимые файлы =>
>> на x86_64 у него будет /usr/lib64/python2.7/site-packages).
>>
>> 1.2. У python-module-weave-0.12.0-alt2.git20121009.1 отсутствует
>> зависимость на python-module-scipy = 0.12.0-alt2.git20121009.1.
>>
>>   Смотрим, что в
>> python-module-weave-0.12.0-alt2.git20121009.1.noarch.rpm
>> (<http://git.altlinux.org/tasks/92602/build/100/i586/rpms/python3-module-weave-0.12.0-alt2.git20121009.1.noarch.rpm>)
>> по факту:
>>
>> $ rpm -qpR i586/python3-module-weave-0.12.0-alt2.git20121009.1.noarch.rpm
>> python3-module-scipy = 0.12.0-alt2.git20121009.1
>> rpmlib(PayloadIsLzma)
>>
>>   Т. е. в noarch пакете добавлена жёсткая зависимость на
>> архитектурнозависимый python3-module-scipy = 0.12.0-alt2.git20121009.1 и
>> удалены:
>>
>> 2.1. Все неявные зависимости на содержимое python3-module-scipy.
>>
>> 2.2. Все зависимости, совпадающие с присутствующими в python3-module-scipy.
>>
>>   Вот п. 2.2 всю малину нам и портит (из-за п. 1.1): т. к. присутствует
>> совпадение которое есть на i586 (где %python_sitelibdir_noarch =
>> %python_sitelibdir), но которого нет на x86_64 (где
>> %python_sitelibdir_noarch != %python_sitelibdir) => для x86_64
>> оптимизатор оставляет ту зависимость, которую удаляет на i586.
> 
> В таком случае рабочим объездом будет наличие зависимости на
> %python_sitelibdir_noarch именно в python3-module-scipy.

  Да, это работает (см.
<http://git.altlinux.org/tasks/92613/logs/events.1.1.log>). Но не
нравиться мне этот хак (грязный, т. к. для вправления мозгов
оптимизатору, мы ставим подпакету зависимость --  ненужную ему самому).
Ручка, позваляющая защитить ручную зависимость от удаления, была бы
более красивым решением.

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 897 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20130318/28b71759/attachment-0001.bin>


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