Bug 35105 - setuptools: The 'setuptools' distribution was not found and is required by Sphinx
Summary: setuptools: The 'setuptools' distribution was not found and is required by Sp...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: python-module-setuptools (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Grigory Ustinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-29 13:19 MSK by Yuri N. Sedunov
Modified: 2018-07-04 10:09 MSK (History)
21 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yuri N. Sedunov 2018-06-29 13:19:04 MSK
Перестаньте мучать setuptools.

pkg_resources.DistributionNotFound: The 'setuptools' distribution was not found and is required by Sphinx

python-module-setuptools-39.2.0-alt3.S1.noarch
Comment 1 Ivan Zakharyaschev 2018-06-29 13:51:36 MSK
Как воспроизвести? Хочу понять, всегда ли для запуска sphinx оно нужно, или только при сборке некоторых пакетов.

Если первое, то добавить в его Requires.

Если второе, то вылечит ли добавление BuildRequires: python*-module-setuptools

Наверное, явно это не написано, а раньше приезжало неявно как runtime-зависимость одного из используемых инструментов.
Comment 2 Dmitry V. Levin 2018-06-29 14:00:23 MSK
(In reply to comment #1)
> Как воспроизвести? Хочу понять, всегда ли для запуска sphinx оно нужно, или
> только при сборке некоторых пакетов.

295 NEW error logs

error$ grep -Fl "pkg_resources.DistributionNotFound: The 'setuptools' distribution was not found and is" *
apiextractor-0.10.11-alt2.git20130522
beremiz-1.2-alt1.20180523
bro-2.3.1-alt8
castxml-0.0.1.20180321-alt2.S1
casync-2.0.101.git8595b4d-alt1
cmake-3.11.2-alt1
dex-0.8.0-alt1.git.3.g9e96e39
extra-cmake-modules-5.47.0-alt1.S1
fio-3.0-alt2
gearmand-1.1.18-alt1.1
generatorrunner-0.6.17-alt2.git20130522
git-cola-2.4-alt1
gnome-builder-3.28.3-alt1
gsl-2.4-alt1
jansson-2.7-alt2
kernel-image-un-def-1:4.16.18-alt1
krb5-1.16-alt1.S1
libabigail-1.2-alt1
libbson-1.9.3-alt1.S1
libcomps-0.1.8-alt1_3.1
libmongoc-1.9.3-alt1.S1
llvm4.0-4.0.1-alt3.rel
llvm6.0-6.0.0-alt0.10.rel
mdds-1.3.1-alt1
metrics-3.1.2-alt1_6jpp8
notmuch-0.25.1-alt1
offlineimap-7.0.12-alt1
pgadmin3-1.22.2-alt1.S1
pki-core-10.6.1-alt2.S1
pyside-qt4-1.2.2-alt3.git20140501
python-module-PyGreSQL-4.1.1-alt1.svn20140730
python-module-Pygments-2.2.0-alt2
python-module-Reportlab-3.4.0-alt2.1
python-module-SleekXMPP-1.3.3-alt1
python-module-blinker-1.3-alt1.git20130703.1.2
python-module-bottle-0.13-alt2
python-module-cliapp-1.20160724-alt1
python-module-contexts-0.10.1-alt1.git20141112.1.1.1
python-module-cvxopt-1.1.7-alt2
python-module-datarray-0.0.7-alt1.git20111119.1.2
python-module-django-appconf-1.0.2-alt1
python-module-django-registration-1.0.0-alt2
python-module-freetypy-0.1-alt1.git20150408.1.1.1
python-module-future-0.16.0-alt2
python-module-gmpy2-2.0.8-alt1.1
python-module-ipyparallel-4.1.0-alt3
python-module-jedi-0.9.0-alt1.git20150623.1.2
python-module-kivy-1.10.0-alt2
python-module-larch-1.20131130-alt1
python-module-momoko-2.2.4-alt1
python-module-mpmath-0.19-alt1.git20150621.1.1.1.1
python-module-mysqlclient-docs-1.3.12-alt1
python-module-oct2py-1.5.0-alt3
python-module-packaging-16.8-alt1.S1
python-module-polib-1.0.4-alt1.1
python-module-prctl-1.7-alt1
python-module-pyaxon-0.5.11-alt1.git20150217.2.1.1
python-module-pysqlite2-docs-2.8.3-alt1
python-module-pyxattr-docs-0.6.0-alt1
python-module-requests-cache-0.4.13-alt1
python-module-requests-oauthlib-0.7.0-alt1
python-module-skosprovider_getty-0.2.0-alt1.git20141223.1.2
python-module-skosprovider_heritagedata-0.2.0-alt1.git20141223.1.2
python-module-sphinx-better-theme-0.1.5-alt2.git20131011.1.2
python-module-testpath-0.3.1-alt1
python-module-tracing-0.9-alt1
python-module-ttystatus-0.34-alt1
python-module-urwid-1.3.1-alt1.1
python-module-wrapt-1.10.11-alt2
python-module-wrapt-docs-1.10.11-alt2
python-module-xlsxwriter-1.0.5-alt1
python-module-zope.hookable-docs-4.0.4-alt2
python3-module-execnet-docs-1.2.0-alt4
python3-module-mysqlclient-docs-1.3.12-alt1
python3-module-pyxattr-docs-0.6.0-alt1
python3-module-whoosh-docs-2.7.4-alt1
python3-module-wrapt-1.10.11-alt2
python3-module-wrapt-docs-1.10.11-alt2
python3-module-zope.hookable-docs-4.0.4-alt2
python3-module-zope.i18nmessageid-docs-4.1.0-alt2
sgc-0.2.1-alt1
shiboken-1.2.2-alt3.git20140422
sos-3.5-alt5.S1
yaafe-0.64-alt2.git20130420
zathura-0.4.0-alt1

error$ grep -l 'No module named .*setuptools' *
bpython-0.14.1-alt1.1.1
fontdump-1.3.0-alt1_9.1
httpie-0.9.8-alt2
pybind11-2.2.3-alt1.S1
python-module-BeautifulSoup4-4.5.3-alt1
python-module-Eve-Elastic-0.2.5-alt1.git20150209.1.2
python-module-Eve-SQLAlchemy-0.3-alt3
python-module-Fabric-1.14.0-alt1
python-module-FormEncode-1:1.3.0-alt1.git20150207.1.2
python-module-Interface-2.11.1-alt2
python-module-Naked-1:0.1.31-alt1.1
python-module-PasteDeploy-1:1.5.2-alt2.2
python-module-PasteScript-1:1.7.5-alt4.2
python-module-Pillow-5.1.0-alt2
python-module-WSGIProxy2-0.4.3-alt1.dev0.git20141227.1.2
python-module-aiohttp-wsgi-0.6.3-alt1
python-module-aiomcache-0.1-alt1.git20140713.1.2
python-module-arpeggio-1.8.0-alt1
python-module-async-0.6.2-alt1.1.2
python-module-asyncio-yify-0.0.8-alt1
python-module-asyncssh-0.9.2-alt1.git20150126.1.2
python-module-attest-0.6-alt4.git20130330
python-module-banyan-0.1.6-alt1.git20141121.2.1
python-module-bda.cache-1.1.3-alt2.git20091201.1
python-module-bitcoinlib-0.7.0-alt1
python-module-bugzilla-2.1.0-alt1
python-module-cmd2-0.6.9-alt1
python-module-codepy-2013.1.2-alt1.git20140620.1.2
python-module-commentjson-0.4-alt1.git20150110.1.1.1
python-module-convertdate-2.0.3.1-alt2.git20141125.1.2
python-module-db-0.4.2-alt2.git20150317
python-module-deform-2.0-alt2.a2.git20141001.1.2
python-module-detox-0.10.0-alt1
python-module-django-admin-tools-0.8.0-alt1
python-module-django-filter-1.0.1-alt1
python-module-django-model-utils-2.3-alt1.a1.git20140922.1.2
python-module-django-mptt-0.9.0-alt1
python-module-django-photologue-3.1-alt1.dev0.git20140928.1.2
python-module-django-taggit-0.12.2-alt2
python-module-encore-0.6.1-alt1.dev.git20141208
python-module-enzyme-0.4.2-alt1.dev.git20131128.1.2
python-module-facebook-sdk-1.0.0-alt1.alpha.git20140828.1.1
python-module-facepy-1.0.3-alt1.git20140824.1.2
python-module-factory_boy-2.4.1-alt1.git20140903.1.2
python-module-fake-factory-0.5.0-alt1.git20150222.1.1.1
python-module-fanstatic-1.0-alt2.a5.1.2
python-module-fiona-1.7.9-alt1.1
python-module-flask-babel-0.11.1-alt1
python-module-flask-pymongo-0.3.0-alt1.git20131201.1.2
python-module-flask_sqlalchemy-2.1-alt1
python-module-geopy-1.7.0-alt1.git20141230.1.2
python-module-gevent-1.2.2-alt1.1
python-module-gocept.filestore-0.3-alt2.1
python-module-green-2.5.3-alt1
python-module-hachoir-core-1:1.3.4-alt4
python-module-hotqueue-0.2.7-alt1.git20120412.1.2
python-module-http-parser-0.8.3-alt1.git20150514.1.3.1
python-module-httpbin-0.6.2-alt1.1
python-module-httpretty-0.8.10-alt1.1.2
python-module-hurry.query-1.1.2-alt2.dev0.git20141106.1
python-module-icalendar-4.0.1-alt1
python-module-islpy-2014.2-alt2.1.1.1
python-module-jarn.mkrelease-3.9-alt1.git20131125.1.1.1
python-module-jinja2-2.10-alt1
python-module-kajiki-0.4.4-alt2.1.2
python-module-kungfu-1.6.8-alt1
python-module-libacl-0.5.3-alt1.1
python-module-logilab-common-1.4.1-alt3
python-module-logilab-database-1.15.0-alt2
python-module-manhole-1.0.0-alt2.git20150419.1.2
python-module-modepy-2013.3-alt1.git20140704.1.2
python-module-msgpack-0.5.6-alt1
python-module-mysqlclient-1.3.12-alt1
python-module-nbconvert-5.3.1-alt4
python-module-netaddr-0.7.19-alt1
python-module-netius-1.5.3-alt1.git20150202.1.1
python-module-networkx-2:1.11-alt2
python-module-numpy-1:1.13.3-alt2.1.1
python-module-odict-1.6.0-alt1.dev0.git20150103.1.1.1
python-module-pandas-highcharts-0.5.2-alt1
python-module-pecan-1.2.1-alt1
python-module-peewee-2.6.0-alt2.git20150421.1.2
python-module-peewee-async-0.0.2-alt1.git20141030.1.2
python-module-pickleshare-0.7.4-alt1
python-module-pip-10.0.1-alt2
python-module-plaster-pastedeploy-0.4.1-alt1
python-module-plotly-1.6.6-alt3
python-module-pretend-1.0.8-alt1.S1
python-module-pycall-2.3.0-alt1
python-module-pycares-2.3.0-alt1.1
python-module-pyglet-1.3.0-alt4.a1.hg20150730.1.1.1
python-module-pytest-cov-2.4.0-alt1
python-module-pytest-django-2.8.0-alt3.1
python-module-pytest-fixture-config-1.2.11-alt1.S1
python-module-pytest-httpbin-0.0.6-alt1.git20150215.1.2
python-module-pytest-localserver-0.3.6-alt1
python-module-pytest-random-0.02-alt2.git20130421.2
python-module-pytest-timeout-1.2.0-alt1
python-module-pytest-translations-0.2.0-alt2
python-module-pytest-watch-1.0.0-alt2.git20150206.2
python-module-python-build-0.2.1-alt1.git20150708.1.2
python-module-rainbow_logging_handler-2.2.2-alt2.git20140807.2
python-module-repoze.sendmail-4.3-alt1
python-module-repoze.what-pylons-1.0.1-alt2.git20110412.1.1.1.1
python-module-repoze.what-sql-1.0.1-alt2.git20110412.1.1.1
python-module-repoze.what-xml-1.0rc1-alt4.1.1.1
python-module-repoze.who-2.2-alt3.git20140327
python-module-repoze.who.plugins.sa-1.0.1-alt2.1.1.1.1
python-module-requests_toolbelt-0.8.0-alt1
python-module-socketpool-0.5.3-alt1.git20150511.1.2
python-module-sqlalchemy-batteries-0.4.5-alt1.git20150204.1.1.1
python-module-sqlparse-0.2.2-alt1
python-module-tldextract-1.5.1-alt1.git20141205.1.2
python-module-twine-1.9.1-alt1
python-module-twisted-json-socket-0.1.3-alt1.git20141113.1.1.1
python-module-ua_parser-0.4.1-alt1
python-module-unittest2-1.1.0-alt3
python-module-versiontools-1.9.1-alt1.1.1.2
python-module-waitress-0.8.10-alt2.dev0.2
python-module-warlock-1.1.0-alt1.1.2
python-module-websocket-client-0.32.0-alt1.1.2
python-module-webtest-2.0.19-alt1.dev0.git20150724.1.2
python-module-werkzeug-0.14.1-alt1
python-module-whois-0.6.4-alt1
python-module-z3c.pt-3.0.0-alt2.a2.dev0.git20130313.1.1.1
python-module-z3c.unconfigure-1.1-alt2.1
python-module-zc.set-0.1-alt2.dev.r75642
python-module-zodbpickle-0.6.1-alt1.dev0.git20150414.1.1.1.1
python-module-zope.contentprovider-4.0.1-alt1.dev0.git20150613.1.1.1.1
python-module-zope.hookable-4.0.4-alt2
python-module-zope.ptresource-4.0.1-alt1.dev0.git20150613.1.1.1
python-module-zope.pytest-0.1-alt4.1.1.1
python-module-zope.security-4.0.4-alt1.dev0.git20150602.1.1.1.1
python-module-zope.testbrowser-5.0.0-alt2.dev0.git20150220.1.1.1
python-module-zope.testing-4.4.0-alt2.git20150825.1.1.1
python-module-zope.viewlet-4.0.1-alt1.dev0.git20150613.1.1.1.1
python3-module-dateutil-2.4.2-alt1.git20150728.1.2
python3-module-html2text-2016.9.19-alt1
python3-module-mario-0.27.1-alt2
python3-module-mysqlclient-1.3.12-alt1
Comment 3 Yuri N. Sedunov 2018-06-29 14:03:39 MSK
Очевидно, что setuptools нужны sphinx'у, и он об этом не знает. Почему?

Самому gnome-builder'у setuptools не нужны для сборки.
http://git.altlinux.org/beehive/logs/Sisyphus-x86_64/latest/error/gnome-builder-3.28.3-alt1
Comment 4 Anton Farygin 2018-06-29 14:19:05 MSK
может быть, всё-таки, не sphinx а python-module-sphinx ?
Comment 5 Yuri N. Sedunov 2018-06-29 14:30:11 MSK
(В ответ на комментарий №4)
> может быть, всё-таки, не sphinx а python-module-sphinx ?

Это про  питоньи модули бага, -- твой Sphinx не причем.
Comment 6 Ivan Zakharyaschev 2018-06-29 14:39:03 MSK
(In reply to comment #2)
> (In reply to comment #1)
> > Как воспроизвести? Хочу понять, всегда ли для запуска sphinx оно нужно, или
> > только при сборке некоторых пакетов.
> 
> 295 NEW error logs

Не во всех этих пакетах, наверное, задействован sphinx. И это не ответ на вопрос, достаточно ли просто sphinx запустить, чтобы воспроизвести, или только sphinx в особых условиях.

А если во всех sphinx -- это прекрасно. Легко исправляется добавлением всего одного Requires.
Comment 7 Dmitry V. Levin 2018-06-29 15:07:17 MSK
(In reply to comment #6)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > Как воспроизвести? Хочу понять, всегда ли для запуска sphinx оно нужно, или
> > > только при сборке некоторых пакетов.
> > 
> > 295 NEW error logs
> 
> Не во всех этих пакетах, наверное, задействован sphinx. И это не ответ на
> вопрос, достаточно ли просто sphinx запустить, чтобы воспроизвести, или только
> sphinx в особых условиях.
> 
> А если во всех sphinx -- это прекрасно. Легко исправляется добавлением всего
> одного Requires.

Эти, возможно, исправятся:
error$ grep -Fl "pkg_resources.DistributionNotFound: The 'setuptools' distribution was not found and is" * |xargs -r grep -l 'rpmi: python3\?-module-sphinx' |wc -l
85

И эти, возможно, исправятся:
error$ grep -l 'No module named .*setuptools' * |xargs -r grep -l 'rpmi: python3\?-module-sphinx' |wc -l
73

Остальные 67, скорее всего, НЕ исправятся:
fontdump-1.3.0-alt1_9.1
pybind11-2.2.3-alt1.S1
python-module-BeautifulSoup4-4.5.3-alt1
python-module-Eve-Elastic-0.2.5-alt1.git20150209.1.2
python-module-Eve-SQLAlchemy-0.3-alt3
python-module-Interface-2.11.1-alt2
python-module-aiohttp-wsgi-0.6.3-alt1
python-module-aiomcache-0.1-alt1.git20140713.1.2
python-module-arpeggio-1.8.0-alt1
python-module-asyncio-yify-0.0.8-alt1
python-module-asyncssh-0.9.2-alt1.git20150126.1.2
python-module-bda.cache-1.1.3-alt2.git20091201.1
python-module-bitcoinlib-0.7.0-alt1
python-module-bugzilla-2.1.0-alt1
python-module-commentjson-0.4-alt1.git20150110.1.1.1
python-module-convertdate-2.0.3.1-alt2.git20141125.1.2
python-module-detox-0.10.0-alt1
python-module-django-filter-1.0.1-alt1
python-module-flask-babel-0.11.1-alt1
python-module-flask-pymongo-0.3.0-alt1.git20131201.1.2
python-module-gocept.filestore-0.3-alt2.1
python-module-green-2.5.3-alt1
python-module-httpbin-0.6.2-alt1.1
python-module-httpretty-0.8.10-alt1.1.2
python-module-hurry.query-1.1.2-alt2.dev0.git20141106.1
python-module-jarn.mkrelease-3.9-alt1.git20131125.1.1.1
python-module-logilab-common-1.4.1-alt3
python-module-netius-1.5.3-alt1.git20150202.1.1
python-module-odict-1.6.0-alt1.dev0.git20150103.1.1.1
python-module-peewee-async-0.0.2-alt1.git20141030.1.2
python-module-pickleshare-0.7.4-alt1
python-module-plaster-pastedeploy-0.4.1-alt1
python-module-pretend-1.0.8-alt1.S1
python-module-pytest-cov-2.4.0-alt1
python-module-pytest-fixture-config-1.2.11-alt1.S1
python-module-pytest-httpbin-0.0.6-alt1.git20150215.1.2
python-module-pytest-localserver-0.3.6-alt1
python-module-pytest-random-0.02-alt2.git20130421.2
python-module-pytest-timeout-1.2.0-alt1
python-module-pytest-translations-0.2.0-alt2
python-module-pytest-watch-1.0.0-alt2.git20150206.2
python-module-python-build-0.2.1-alt1.git20150708.1.2
python-module-rainbow_logging_handler-2.2.2-alt2.git20140807.2
python-module-repoze.who.plugins.sa-1.0.1-alt2.1.1.1.1
python-module-requests_toolbelt-0.8.0-alt1
python-module-socketpool-0.5.3-alt1.git20150511.1.2
python-module-sqlalchemy-batteries-0.4.5-alt1.git20150204.1.1.1
python-module-tldextract-1.5.1-alt1.git20141205.1.2
python-module-twine-1.9.1-alt1
python-module-twisted-json-socket-0.1.3-alt1.git20141113.1.1.1
python-module-ua_parser-0.4.1-alt1
python-module-unittest2-1.1.0-alt3
python-module-warlock-1.1.0-alt1.1.2
python-module-websocket-client-0.32.0-alt1.1.2
python-module-werkzeug-0.14.1-alt1
python-module-whois-0.6.4-alt1
python-module-z3c.unconfigure-1.1-alt2.1
python-module-zc.set-0.1-alt2.dev.r75642
python-module-zodbpickle-0.6.1-alt1.dev0.git20150414.1.1.1.1
python-module-zope.contentprovider-4.0.1-alt1.dev0.git20150613.1.1.1.1
python-module-zope.ptresource-4.0.1-alt1.dev0.git20150613.1.1.1
python-module-zope.testbrowser-5.0.0-alt2.dev0.git20150220.1.1.1
python-module-zope.testing-4.4.0-alt2.git20150825.1.1.1
python-module-zope.viewlet-4.0.1-alt1.dev0.git20150613.1.1.1.1
python3-module-dateutil-2.4.2-alt1.git20150728.1.2
python3-module-html2text-2016.9.19-alt1
python3-module-mario-0.27.1-alt2
Comment 8 Michael Shigorin 2018-06-29 15:27:47 MSK
(В ответ на комментарий №0)
> Перестаньте мучать setuptools.
Вот пояснение причины изменения:
https://lists.altlinux.org/pipermail/devel/2018-June/204807.html

Одна из цепочек, на которые напоролись в sisyphus_e2k:
python-module-freeipa => python-module-setuptools => python-dev
 {=> ncurses-devel,} => lcc

Похоже, конкретно здесь проблемой оказалась сгенерированная для python-dev и ncurses-devel зависимость от lcc, поскольку у сизифных "собратьев" зависимости
от gcc нет.
Comment 9 Dmitry V. Levin 2018-06-29 16:01:26 MSK
(In reply to comment #8)
> (В ответ на комментарий №0)
> > Перестаньте мучать setuptools.
> Вот пояснение причины изменения:
> https://lists.altlinux.org/pipermail/devel/2018-June/204807.html
> 
> Одна из цепочек, на которые напоролись в sisyphus_e2k:
> python-module-freeipa => python-module-setuptools => python-dev
>  {=> ncurses-devel,} => lcc
> 
> Похоже, конкретно здесь проблемой оказалась сгенерированная для python-dev и
> ncurses-devel зависимость от lcc, поскольку у сизифных "собратьев" зависимости
> от gcc нет.

Если проблемные зависимости только в sisyphus_e2k, то, может быть, лучше исправить зависимости в sisyphus_e2k и не ломать Сизиф?
Comment 10 nbr 2018-06-29 16:06:00 MSK
(In reply to comment #9)
> (In reply to comment #8)
> > (В ответ на комментарий №0)
> > > Перестаньте мучать setuptools.
> > Вот пояснение причины изменения:
> > https://lists.altlinux.org/pipermail/devel/2018-June/204807.html
> > 
> > Одна из цепочек, на которые напоролись в sisyphus_e2k:
> > python-module-freeipa => python-module-setuptools => python-dev
> >  {=> ncurses-devel,} => lcc
> > 
> > Похоже, конкретно здесь проблемой оказалась сгенерированная для python-dev и
> > ncurses-devel зависимость от lcc, поскольку у сизифных "собратьев" зависимости
> > от gcc нет.
> 
> Если проблемные зависимости только в sisyphus_e2k, то, может быть, лучше
> исправить зависимости в sisyphus_e2k и не ломать Сизиф?

Нет, это вытягивание средств разработки в основную систему и
такое надо устранить и в основном сизифе.
Comment 11 Dmitry V. Levin 2018-06-29 16:08:27 MSK
(In reply to comment #10)
> (In reply to comment #9)
> > (In reply to comment #8)
> > > (В ответ на комментарий №0)
> > > > Перестаньте мучать setuptools.
> > > Вот пояснение причины изменения:
> > > https://lists.altlinux.org/pipermail/devel/2018-June/204807.html
> > > 
> > > Одна из цепочек, на которые напоролись в sisyphus_e2k:
> > > python-module-freeipa => python-module-setuptools => python-dev
> > >  {=> ncurses-devel,} => lcc
> > > 
> > > Похоже, конкретно здесь проблемой оказалась сгенерированная для python-dev и
> > > ncurses-devel зависимость от lcc, поскольку у сизифных "собратьев" зависимости
> > > от gcc нет.
> > 
> > Если проблемные зависимости только в sisyphus_e2k, то, может быть, лучше
> > исправить зависимости в sisyphus_e2k и не ломать Сизиф?
> 
> Нет, это вытягивание средств разработки в основную систему и
> такое надо устранить и в основном сизифе.

Основная система в основном и состоит из средств разработки.
Не надо ломать Сизиф в угоду сюминутных потребностей.
Comment 12 Anton Farygin 2018-06-29 16:22:45 MSK
В сизифе же нет такого вытягиваения, если я правильно понял Мишу - это специфично для e2k и чинить надо именно там.
Comment 13 Michael Shigorin 2018-06-29 17:06:49 MSK
(В ответ на комментарий №11)
> Основная система в основном и состоит из средств разработки.
Это один из вариантов, далеко не основной и порой нежелательный.

Если правильно понимаю, то пакет python-dev однозначно относится к средствам разработки и в графе зависимостей _пользовательских_ пакетов (вроде что-там-тянет-пресловутый-python-module-freeipa) является спамом.
Comment 14 Dmitry V. Levin 2018-06-29 17:11:08 MSK
(In reply to comment #13)
> (В ответ на комментарий №11)
> > Основная система в основном и состоит из средств разработки.
> Это один из вариантов, далеко не основной и порой нежелательный.
> 
> Если правильно понимаю, то пакет python-dev однозначно относится к средствам
> разработки и в графе зависимостей _пользовательских_ пакетов (вроде
> что-там-тянет-пресловутый-python-module-freeipa) является спамом.

Наши основные пользователи являются разработчиками.
Но всё это не имеет отношения к теме: Сизиф опять разломали, и в этот раз, похоже, совершенно напрасно.
Comment 15 AEN 2018-06-29 17:18:09 MSK
(В ответ на комментарий №14)
> (In reply to comment #13)
> > (В ответ на комментарий №11)
> > > Основная система в основном и состоит из средств разработки.
> > Это один из вариантов, далеко не основной и порой нежелательный.
> > 
> > Если правильно понимаю, то пакет python-dev однозначно относится к средствам
> > разработки и в графе зависимостей _пользовательских_ пакетов (вроде
> > что-там-тянет-пресловутый-python-module-freeipa) является спамом.
> 
> Наши основные пользователи являются разработчиками.

Которые работают, случается, для пользователей-неразработчиков. :)


> Но всё это не имеет отношения к теме: Сизиф опять разломали, и в этот раз,
> похоже, совершенно напрасно.
Да.
Comment 16 Michael Shigorin 2018-06-29 17:33:59 MSK
(В ответ на комментарий №12)
> В сизифе же нет такого вытягиваения, если я правильно понял Мишу -
> это специфично для e2k и чинить надо именно там.
По просьбе aen@:

---
Если правильно понимаю, то пакет python-dev однозначно относится к средствам
разработки и в графе зависимостей _пользовательских_ пакетов (вроде
что-там-тянет-пресловутый-python-module-freeipa) является спамом.
---

PS: на e2k нужное исправление было в rpm-build 4.0.4-alt100.96.E2K.10
(апрель), а пакеты ncurses и python пересобирались в марте; пересборка ncurses
показала, что наводка ушла (над python стоит ещё чуть поработать); в любом разе
к лишней зависимости между python-module-freeipa и python-dev это всё отношения не имеет, бага _по сути_ о ней (а _по срочности_ -- про e2k-специфику).
Comment 17 Anton Farygin 2018-06-29 17:35:01 MSK
Стас может быть лучше знает про python-module-freeipa.
Comment 18 Anton Farygin 2018-06-29 17:38:06 MSK
В p8 и старой freeipa есть такая зависимость, а в sisyphus я её не наблюдаю.
Comment 19 Anton Farygin 2018-06-29 17:41:41 MSK
Предлагаю откатить то, что было сделано и поручить исправить эту зависимость в p8 и e2k.
Comment 20 Ivan Zakharyaschev 2018-06-29 17:43:41 MSK
(In reply to comment #18)
> В p8 и старой freeipa есть такая зависимость, а в sisyphus я её не наблюдаю.

Так я только что её убрал :) ( -> setuptools -> python-dev)

Теперь хорошо бы протестировать, всё ли так же хорошо (что связано с python*-module-freeipa) работает в Sisyphus в freeipa как в предпослденем релизе.
Comment 21 AEN 2018-06-29 17:44:25 MSK
(В ответ на комментарий №17)
> Стас может быть лучше знает про python-module-freeipa.

Дело не в них.
Главная проблема, из-за которой сыр-бор, -- зависимость на компилятор, которой, конечно, быть не должно у пользовательских пакетов. Но она, как выяснилось, с некоторых пор лишь e2k-specific и сейчас Миша ее решает пересборкой нескольких пакетов только для e2k.
Другая проблема -- зависимости на. devel-пакеты. Это не столь критично, но нехорошо, полагаю. Ее решение намечает imz@. И тут вот возникает вопрос разлома, его преодоления и возможного отката.
Comment 22 Anton Farygin 2018-06-29 17:46:57 MSK
freeipa в Sisyphus переодически в сломанном состоянии находится, слишком развесистый компонент и её ломают все кому не лень.
Протестировать что-то на freeipa может быть затруднительно.

Давай посмотрим до понедельника, если там действительно пару сотен пакетов сборка поломалась только по причине отсутствия правильной сборочной зависимости, то ты сможешь их всех починить скриптами Игоря в течении пары дней.

Но в p8 и e2k это проблему не решит - там другая IPA и совсем другой питон.
Comment 23 Ivan Zakharyaschev 2018-06-29 17:48:55 MSK
(In reply to comment #19)
> Предлагаю откатить то, что было сделано и поручить исправить эту зависимость в
> p8 и e2k.

Изменение считаю осмысленным в python-module-setuptools (разделён код для двух разных типов использования: run-time vs build-time). Исправлением сборки займусь, к тому же, там не всё так страшно.

Проблема же не в глупости самого изменения, а в том, что оптимизатор buildreq никогда не давал оснований на него полагаться в случае перераспределения пакетов. (Он не знает, что можно оптимизировать и в юудущем это сохранится, а что -- просто совпадение текущего момента.)

А также немного в том, что один тип зависимостей (как у sphinx) не обнаруживался автоматически генератором. (Предложения в эту сторону были у viy@)
Comment 24 Anton Farygin 2018-06-29 17:57:43 MSK
Это одна из причин, по которой я практически не пользуюсь buildreq уже несколько лет и не испытываю больших затруднений.

Но в этом случае и ручное проставление зависимостей не помогло бы.
Comment 25 Ivan Zakharyaschev 2018-06-29 18:06:01 MSK
(In reply to comment #24)
> Это одна из причин, по которой я практически не пользуюсь buildreq уже
> несколько лет и не испытываю больших затруднений.

А у нас python-пакеты как раз были массово и беспрекословно обработаны buildreq при пересборке для Python 3.5 в попытке побороть сборочные циклы. Всякие умные записи о сборочных зависимостях, сделанные людьми, потерялись.

> Но в этом случае и ручное проставление зависимостей не помогло бы.

Отчасти помогло бы: Если ты используешь setuptools напрямую, пиши BuildPreReq: python3-module-setuptools. (У нас где-то это соптимизировалось buildreq, потому что они вытягивались другими пакетами в сборочной среде.)

Остальные случаи -- это нехватка Requires у инструментов типа sphinx, я полагаю.
Comment 26 Vitaly Lipatov 2018-06-29 21:40:18 MSK
(В ответ на комментарий №12)
> В сизифе же нет такого вытягиваения, если я правильно понял Мишу - это
> специфично для e2k и чинить надо именно там.

# apt-get remove libncurses-devel
Следующие пакеты будут УДАЛЕНЫ:
python-dev python-module-PyQt5 python-module-Pygments... python-module-setools python-module-setuptools python-module-sip python-module-sphinx
Comment 27 Ivan Zakharyaschev 2018-07-02 07:07:52 MSK
Основное решение возникших проблем из-за распиливания setuptools будет закомичено сейчас с заданием 209376.

Пока сдлелал малые изменения в центральных пакетах (без массовых правок пакетов). Посомтрим в следующей пересборке, насколько успешно.

(В то же время новые проблемы могут выявиться по другой причине: из-за распиливания python-dev. Он тоже мог приехать случайно из-за runtime-зависимостей некоторых инструментов.)

(In reply to comment #25)

> Отчасти помогло бы: Если ты используешь setuptools напрямую, пиши BuildPreReq:
> python3-module-setuptools. (У нас где-то это соптимизировалось buildreq, потому
> что они вытягивались другими пакетами в сборочной среде.)

Думаю, это была не очень хорошая идея: требовать всем всегда явно писать 

BuildPreReq: python*-module-setuptools

Потому что это по сути стандартный инструмент, который используют почти все при создании python-пакетов. Как раз хотелось бы наоборот эту распространённую практику учесть по умолчанию.

Сделал так, что намерение использовать setuptools определяется по использованию макросов %python*_{build,install} и т.п., которые обращаются к setup.py. (Конечно, кто-то может написать setup.py без setuptools, но наличие setuptools в сборочной среде не должно повредить.)

> Остальные случаи -- это нехватка Requires у инструментов типа sphinx, я
> полагаю.

Это тоже решил по-другому, чем по началу предлагал: не добавлением зависимости в пакет sphinx (и всюду в аналогичных местах). Это было бы не очень правильное решение, потому что фактически такой зависимости и нет!

Наши python*.req более точно отлавливают, что реально нужно для работы, чем недостаточно гранулированные зависимости, прописанные в requires.txt, которые оперируют известными крупными upstream-проектами.

Распилив setuptools, мы видим по зависимостям rpm-пакетов, кому нужна только маленькая часть. Но из-за того, что они лезут и сами проверяют наличие заявленного в requires.txt пакета, они сообщают об ошибке, хотя работать могут.

Для решения этой проблемы (путём "обмана" встроенной проверки наличия крупного пакета) переложил соответствующий .egg-info в маленький подпакет.

Результаты увидим при очередной пересборке Sisyphus. (По текущей пересборке я вижу довольно много новых ошибок, не связанных с питоном, по-моему, а например с boost.)

(In reply to comment #26)
> > В сизифе же нет такого вытягиваения, если я правильно понял Мишу - это
> > специфично для e2k и чинить надо именно там.
> 
> # apt-get remove libncurses-devel
> Следующие пакеты будут УДАЛЕНЫ:
> python-dev python-module-PyQt5 python-module-Pygments... python-module-setools
> python-module-setuptools python-module-sip python-module-sphinx

Если интересно, прошу проверить, что такого больше нет, чтобы, например, python-module-setools тянуло libncurses-devel или python-dev
Comment 28 Ivan Zakharyaschev 2018-07-02 07:18:41 MSK
(In reply to comment #27)

> (In reply to comment #26)
> > > В сизифе же нет такого вытягиваения, если я правильно понял Мишу - это
> > > специфично для e2k и чинить надо именно там.
> > 
> > # apt-get remove libncurses-devel
> > Следующие пакеты будут УДАЛЕНЫ:
> > python-dev python-module-PyQt5 python-module-Pygments... python-module-setools
> > python-module-setuptools python-module-sip python-module-sphinx
> 
> Если интересно, прошу проверить, что такого больше нет, чтобы, например,
> python-module-setools тянуло libncurses-devel или python-dev

Проверил этот и несколько других пакетов командой вроде:

$ apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf test '' freeipa-client

-- пакетов разработчика не ставится.
Comment 29 Ivan Zakharyaschev 2018-07-02 07:28:41 MSK
(In reply to comment #28)
> (In reply to comment #27)
> 
> > (In reply to comment #26)
> > > > В сизифе же нет такого вытягиваения, если я правильно понял Мишу - это
> > > > специфично для e2k и чинить надо именно там.
> > > 
> > > # apt-get remove libncurses-devel
> > > Следующие пакеты будут УДАЛЕНЫ:
> > > python-dev python-module-PyQt5 python-module-Pygments... python-module-setools
> > > python-module-setuptools python-module-sip python-module-sphinx
> > 
> > Если интересно, прошу проверить, что такого больше нет, чтобы, например,
> > python-module-setools тянуло libncurses-devel или python-dev
> 
> Проверил этот и несколько других пакетов командой вроде:
> 
> $ apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf test ''
> freeipa-client
> 
> -- пакетов разработчика не ставится.

Нашёл пока один с лишней зависимостью -- python-module-custodia -- https://bugzilla.altlinux.org/show_bug.cgi?id=35114 .
Comment 30 Ivan Zakharyaschev 2018-07-02 07:41:22 MSK
(In reply to comment #27)

> Результаты увидим при очередной пересборке Sisyphus. (По текущей пересборке я
> вижу довольно много новых ошибок, не связанных с питоном, по-моему, а например
> с boost.)

Неправильно смотрел, нет там много новых ошибок, не связанных с питоном.

Но что-то уже исправится, часть неактуальна.
Comment 31 Yuri N. Sedunov 2018-07-02 11:52:56 MSK
(В ответ на комментарий №27)
> (В то же время новые проблемы могут выявиться по другой причине: из-за
> распиливания python-dev. 

Это окончательный попил, планируются ли новые сюрпризы?
Comment 32 Ivan Zakharyaschev 2018-07-02 12:00:09 MSK
(In reply to comment #31)
> (В ответ на комментарий №27)
> > (В то же время новые проблемы могут выявиться по другой причине: из-за
> > распиливания python-dev. 
> 
> Это окончательный попил, планируются ли новые сюрпризы?

Не планируется. У меня планов и видимых проблем, требующих попилов, нет.
Comment 33 Michael Shigorin 2018-07-02 12:29:26 MSK
(В ответ на комментарий №27)
> Если интересно, прошу проверить, что такого больше нет, чтобы, например,
> python-module-setools тянуло libncurses-devel или python-dev
Проверил, не тянет.
Comment 34 Dmitry V. Levin 2018-07-03 09:41:09 MSK
(In reply to comment #27)
> Думаю, это была не очень хорошая идея: требовать всем всегда явно писать 
> 
> BuildPreReq: python*-module-setuptools
> 
> Потому что это по сути стандартный инструмент, который используют почти все при
> создании python-пакетов. Как раз хотелось бы наоборот эту распространённую
> практику учесть по умолчанию.
> 
> Сделал так, что намерение использовать setuptools определяется по использованию
> макросов %python*_{build,install} и т.п., которые обращаются к setup.py.

Так ещё хуже стало:
Sisyphus-20180703 x86_64 beehive_status: +442 -30 (1066)

error$ grep -l 'python.*-module-setuptools.*is needed by' * |wc -l
596
Comment 35 Ivan Zakharyaschev 2018-07-03 10:23:49 MSK
(In reply to comment #34)
> (In reply to comment #27)
> > Думаю, это была не очень хорошая идея: требовать всем всегда явно писать 
> > 
> > BuildPreReq: python*-module-setuptools
> > 
> > Потому что это по сути стандартный инструмент, который используют почти все при
> > создании python-пакетов. Как раз хотелось бы наоборот эту распространённую
> > практику учесть по умолчанию.
> > 
> > Сделал так, что намерение использовать setuptools определяется по использованию
> > макросов %python*_{build,install} и т.п., которые обращаются к setup.py.
> 
> Так ещё хуже стало:
> Sisyphus-20180703 x86_64 beehive_status: +442 -30 (1066)
> 
> error$ grep -l 'python.*-module-setuptools.*is needed by' * |wc -l
> 596

[devel] not real rebuild errors, cf. --query-repackage; Re: rpm-4.13.0.1-alt2: Sisyphus/x86_64 test rebuild failed

https://lists.altlinux.org/pipermail/devel/2018-July/204845.html
Comment 36 Dmitry V. Levin 2018-07-03 11:29:50 MSK
(In reply to comment #35)
> (In reply to comment #34)
> > (In reply to comment #27)
> > > Думаю, это была не очень хорошая идея: требовать всем всегда явно писать 
> > > 
> > > BuildPreReq: python*-module-setuptools
> > > 
> > > Потому что это по сути стандартный инструмент, который используют почти все при
> > > создании python-пакетов. Как раз хотелось бы наоборот эту распространённую
> > > практику учесть по умолчанию.
> > > 
> > > Сделал так, что намерение использовать setuptools определяется по использованию
> > > макросов %python*_{build,install} и т.п., которые обращаются к setup.py.
> > 
> > Так ещё хуже стало:
> > Sisyphus-20180703 x86_64 beehive_status: +442 -30 (1066)
> > 
> > error$ grep -l 'python.*-module-setuptools.*is needed by' * |wc -l
> > 596
> 
> [devel] not real rebuild errors, cf. --query-repackage; Re: rpm-4.13.0.1-alt2:
> Sisyphus/x86_64 test rebuild failed
> 
> https://lists.altlinux.org/pipermail/devel/2018-July/204845.html

That's how test rebuild works.  Patches are welcome.
Comment 37 Stanislav Levin 2018-07-04 10:09:17 MSK
(В ответ на комментарий №27)

> 
> Наши python*.req более точно отлавливают, что реально нужно для работы, чем
> недостаточно гранулированные зависимости, прописанные в requires.txt, которые
> оперируют известными крупными upstream-проектами.
> 
> Распилив setuptools, мы видим по зависимостям rpm-пакетов, кому нужна только
> маленькая часть. Но из-за того, что они лезут и сами проверяют наличие
> заявленного в requires.txt пакета, они сообщают об ошибке, хотя работать могут.
> 
> Для решения этой проблемы (путём "обмана" встроенной проверки наличия крупного
> пакета) переложил соответствующий .egg-info в маленький подпакет.
> 
Почему бы не попробовать отправить PR в upstream и послушать мнения разработчиков?

В отрыве от этого разбивка на подпакеты сломает/сломала тесты/работу у некоторых пакетов и будет продолжать это делать в дальнейшем. Это потребует некоторых пальцедвижений. 
Такой "обман" приведет к появлению не очевидных проблем. Когда говорят, что хочу апельсин, а под его видом в ответ дают лимон.