[devel] findreq_skiplist should affect findprov_skiplist; was: Re: Fwd: [#193076] FAILED python-module-paste.git=1.7.5.1-alt3.hg20140319.1.1.1
Ivan Zakharyaschev
imz на altlinux.org
Вт Ноя 14 15:48:13 MSK 2017
Здравствуйте!
On Mon, 13 Nov 2017, Aleksei Nikiforov wrote:
> 13.11.2017 16:20, Michael Shigorin пишет:
>> > i586: NEW unmet dependencies detected:
>> > python3-module-paste#1.7.5.1-alt3.hg20140319.1.1.1
>> > python3(flup.middleware.session) < 0
>> > python3-module-paste#1.7.5.1-alt3.hg20140319.1.1.1
>> > python3(hotshot.stats) < 0
>> > x86_64: NEW unmet dependencies detected:
>> > python3-module-paste#1.7.5.1-alt3.hg20140319.1.1.1
>> > python3(flup.middleware.session) < 0
>> > python3-module-paste#1.7.5.1-alt3.hg20140319.1.1.1
>> > python3(hotshot.stats) < 0
>
> Генератор зависимостей отловил зависимости, которые раньше пропускал.
Спасибо за изучение вопроса! Я согласен с выводами, а ещё мне пришла идея
по поводу того, что авто-Provides неработающего модуля -- это обман;
можно было бы такие модули сразу исключать из списка Provides.
> hotshot.stats - требуется файлом paste/debug/profile.py.
> Модуль hotshot есть в python-2, а вот в python-3 его похоже не завезли. Лучше
> всего требующий его файл удалить из пакета для python-3, в крайнем случае
Я тоже так считаю. Особенно если его в принципе для python-3 не бывает.
> можно заставить генератор зависимостей этот файл пропускать.
>
> flup.middleware.session - требуется файлом paste/flup_session.py.
> Также можно удалить этот файл (причём как из python-3 пакета, так и из
> python-2 пакета), либо добавить в исключения.
>
> В спеке уже есть строки:
> % add_python_req_skip flup openid scgi
> % add_python3_req_skip flup openid scgi hotshot
>
> Мне кажется, лучше всего эти файлы удалить, но если хочется их оставить, то
> наверно лучше это сделать примерно так:
> % add_findreq_skiplist %python_sitelibdir/%modulename/flup_session.py
> % add_findreq_skiplist %python3_sitelibdir/%modulename/flup_session.py
> % add_findreq_skiplist %python3_sitelibdir/%modulename/debug/profile.py
(Я плохо представляю себе для чего служит этот пакет и как работает.) Но
если это поддержка разных механизмов/сайтов (как куча плагинов каких-то) и
в принципе это человеку может быть полезно, если он достанет себе
необходимые дополнительные модули на Python, то мне кажется, что лучше
оставить файлы и возможность использовать дополнительные фичи.
Если же этот пакет людям не нужен, а нужен только автоматам, которые
поставили пакет и используют, то им файл не нужен, можно удалять.
Ещё я подумал, что если файл исключается из поиска зависимостей (как выше
предложено), то мы убираем гарантию того, что он будет работать.
Соответственно и о Provides стоит подумать: если он не будет работать, то
и не надо обманывать клиентов, включать его в список Provides. А для
удобства людей файл можно оставить лежать.
Может, подумать о том, чтобы эту идею закрепить в виде реализации такой
связки skiplist-ов для autoreqs и autoprovs в rpm-build. (Если Provides
всё-таки законен, то можно же руками добавить.)
К тому же, если плохо работает find-requires, а не файл нерабочий, то
можно просто отфильтровать с помощью %filter_from_requires (или
%add_python*_req_skip).
> Кстати, раз уж пересобираете этот пакет, почему бы не обновить его? На pypi
> лежит версия 2.0.3.
Да никому он не был сильно интересен, вот никто и не собирает.
Здесь, думаю, нужно либо удалять файлы, либо попробовать исключить сразу
из списка авто-Requires и авто-Provides.
--
Best regards,
Ivan
Подробная информация о списке рассылки Devel