[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