08.10.2021 15:38, Arseny Maslennikov пишет: > On Fri, Oct 08, 2021 at 03:12:02PM +0300, Stanislav Levin wrote: >> >> >> 07.10.2021 22:17, Антон Мидюков пишет: >>> Здравствуйте >>> >>> У меня один питоновский пакет в новой версии перешёл на >>> сборку из pyproject.toml [1] вместо setuptools. Никто ещё с таким не сталкивался? >>> Смотрю в Fedora есть пакет с макросами для сборки таких пакетов. >>> Называется pyproject-rpm-macros. У нас не планируется аналогичный пакет? >>> >>> 1. https://www.python.org/dev/peps/pep-0517/ >>> >> >> >> Здравствуйте, не знаю занимается ли уже кто-нибудь этим в альте. >> >> Если в кратце, то. >> Мир постепенно уходит сборочной монополии setuptools, благодаря pep517/518. >> При этом инструменты, которыми пользуемся мы, py3_build/py3_install >> обёртка над `python3 setup.py build/install --root` (последнее уже >> deprecated). >> То есть собрать python пакет без setup.py имеющимися макросами >> невозможно. Предложенный универсальный вариант сборки(pep517), который >> считается правильным: >> - собираем wheel с хуками pep517 >> - устанавливаем wheel >> >> Федора использует для этого pip, который умеет в сборочные бэкенды. > > Они запатчили или такой pip (и сами backends) есть в апстриме? backend - это все, что может "собрать" пакет и соответствует интерфейсу pep517, самые, наверное, известные setuptools(сейчас это сместь фронтенд+бэкенд), flit, poetry. frontend - то, чему можно сказать - иди собери/установи мне ххх по pep517. Самые, наверное, известные pep517, build. Какой backend указан в апстримовском pyproject.toml, тот и будет использован, например: ``` [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" ``` Есть альтернатива не использовать pip или любой другой фронт для сборки/установки пакетов(на мой взгляд, это перебор), а написать свой фронтенд, который придется саппортить самостоятельно. > >> Это, возможно, спорное решение. >> >> Что делать сейчас? Найти/сгенерировать setup.py. Например: >> <...> >> - самостоятельно сгенерировать setup.py > > http://git.altlinux.org/gears/u/udisksdd.git?p=udisksdd.git;a=blob;f=.gear/udisksdd.spec;h=1aeae7ef09a8ca26e2390a44c5a5384410200d07;hb=4599dbee302168e95718e45423f6256c6de0ef2b#l40 > Для пакетов с тривиальной сборочной процедурой этого > должно быть достаточно. > Ну и: > https://bugzilla.altlinux.org/show_bug.cgi?id=39907 >> Для упаковки подавляющего большинства Python пакетов достаточно переложить файлы/директории из одного места в другое, не городя никакие "колеса". Проблемы (по утверждению авторов pep517) начинаются, когда, например, собирается бинарный модуль для Python. >> Процесс миграции начался не так давно(год, наверное), поэтому такие >> пакеты сегодня достаточно редки, но всё же встречаются. >> > > > > >> _______________________________________________ >> Devel mailing list >> Devel@lists.altlinux.org >> https://lists.altlinux.org/mailman/listinfo/devel > > > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel >