* [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