* [devel] rpm макросы для сборки pyproject @ 2021-10-07 19:17 Антон Мидюков 2021-10-08 12:12 ` Stanislav Levin 0 siblings, 1 reply; 4+ messages in thread From: Антон Мидюков @ 2021-10-07 19:17 UTC (permalink / raw) To: ALT Devel discussion list Здравствуйте У меня один питоновский пакет в новой версии перешёл на сборку из pyproject.toml [1] вместо setuptools. Никто ещё с таким не сталкивался? Смотрю в Fedora есть пакет с макросами для сборки таких пакетов. Называется pyproject-rpm-macros. У нас не планируется аналогичный пакет? 1. https://www.python.org/dev/peps/pep-0517/ -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel] rpm макросы для сборки pyproject 2021-10-07 19:17 [devel] rpm макросы для сборки pyproject Антон Мидюков @ 2021-10-08 12:12 ` Stanislav Levin 2021-10-08 12:38 ` [devel] rpm макросы и тулинг для сборки по pep517/518 (с pyproject.toml) Arseny Maslennikov 0 siblings, 1 reply; 4+ messages in thread From: Stanislav Levin @ 2021-10-08 12:12 UTC (permalink / raw) To: ALT Linux Team development discussions, Антон Мидюков [-- Attachment #1.1: Type: text/plain, Size: 1464 bytes --] 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, который умеет в сборочные бэкенды. Это, возможно, спорное решение. Что делать сейчас? Найти/сгенерировать setup.py. Например: - найти можно на PyPI, но апрстрим не обязательно выложит sdist и не обязательно там будет setup.py (зависит от сборочного бэкэнда) - собрать sdist используемым апстримом бэкендом - самостоятельно сгенерировать setup.py Процесс миграции начался не так давно(год, наверное), поэтому такие пакеты сегодня достаточно редки, но всё же встречаются. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel] rpm макросы и тулинг для сборки по pep517/518 (с pyproject.toml) 2021-10-08 12:12 ` Stanislav Levin @ 2021-10-08 12:38 ` Arseny Maslennikov 2021-10-08 14:00 ` Stanislav Levin 0 siblings, 1 reply; 4+ messages in thread From: Arseny Maslennikov @ 2021-10-08 12:38 UTC (permalink / raw) To: ALT Linux Team development discussions Cc: Антон Мидюков [-- Attachment #1: Type: text/plain, Size: 2855 bytes --] 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) есть в апстриме? > Это, возможно, спорное решение. > > Что делать сейчас? Найти/сгенерировать 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 > > Процесс миграции начался не так давно(год, наверное), поэтому такие > пакеты сегодня достаточно редки, но всё же встречаются. > > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel] rpm макросы и тулинг для сборки по pep517/518 (с pyproject.toml) 2021-10-08 12:38 ` [devel] rpm макросы и тулинг для сборки по pep517/518 (с pyproject.toml) Arseny Maslennikov @ 2021-10-08 14:00 ` Stanislav Levin 0 siblings, 0 replies; 4+ messages in thread From: Stanislav Levin @ 2021-10-08 14:00 UTC (permalink / raw) To: ALT Linux Team development discussions, Arseny Maslennikov Cc: Антон Мидюков [-- Attachment #1.1: Type: text/plain, Size: 3191 bytes --] 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 > [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-10-08 14:00 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-10-07 19:17 [devel] rpm макросы для сборки pyproject Антон Мидюков 2021-10-08 12:12 ` Stanislav Levin 2021-10-08 12:38 ` [devel] rpm макросы и тулинг для сборки по pep517/518 (с pyproject.toml) Arseny Maslennikov 2021-10-08 14:00 ` Stanislav Levin
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git