From: Stanislav Levin <slev@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org>, Arseny Maslennikov <arseny@altlinux.org> Cc: "Антон Мидюков" <midyukov-anton@ya.ru> Subject: Re: [devel] rpm макросы и тулинг для сборки по pep517/518 (с pyproject.toml) Date: Fri, 8 Oct 2021 17:00:58 +0300 Message-ID: <c84b9457-eead-7d1e-f637-ea198a6ddb98@altlinux.org> (raw) In-Reply-To: <YWA7vnXfX1COt8TJ@cello> [-- 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 --]
prev parent reply other threads:[~2021-10-08 14:00 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 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 [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=c84b9457-eead-7d1e-f637-ea198a6ddb98@altlinux.org \ --to=slev@altlinux.org \ --cc=arseny@altlinux.org \ --cc=devel@lists.altlinux.org \ --cc=midyukov-anton@ya.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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