Bug 43483 - Конфликт с python-multipart
Summary: Конфликт с python-multipart
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: python3-module-multipart (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Grigory Ustinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-09 20:18 MSK by Anton Zhukharev
Modified: 2022-09-17 21:00 MSK (History)
19 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Zhukharev 2022-08-09 20:18:51 MSK
Конфликтует с https://pypi.org/project/python-multipart

Пересекаются Provides, к примеру - python3(multipart)
Пересекаются Python-импорты, к примеру multipart.py и multipart/__init__.py

Функционалы у пакетов разные.
Авторы разные.
Лицензии разные.

В некоторых зависимых Python-пакетах явно просится удаление 'multipart' и установка 'python-multipart'.

-------------------------------------------------------------------------------
Вот мои предложения:

* дать пакету 'python-multipart' немного тавтологическое название в
  репозитории:

    python3-module-python-multipart.

* добавить в спеки обоих пакетов (аналогично MySQL и mariadb):

    Provides: python3(multipart) = %EVR

* добавить взаимно тэг Conflicts.

Вот пример спека для пакета с python-multipart:
https://git.altlinux.org/tasks/305019/gears/100/git?p=git;a=blob;f=.gear/python3-module-python-multipart.spec;h=cace978b6c1af5459c7f3abde26d2f1b6f376f71;hb=57e19339be2e4b3efcb7f2e9113c6652f53c1b53#l28

-------------------------------------------------------------------------------
Таким образом, при попытке установки python3(multipart) будет устанавливаться
пакет 'multipart', дабы не сломать зависимые пакеты (на данный момент
это python3-module-zope.publisher).

Для установки же именно модуля 'python-multipart' необходимо будет указывать python3(python-multipart).

-------------------------------------------------------------------------------
Вкратце: мейнтейнера пакета python3-module-multipart прошу рассмотреть
добавление в спек следующего:

    Provides:  python3(multipart) = %EVR
    Conflicts: python3-module-python-multipart
Comment 1 Grigory Ustinov 2022-08-12 18:17:55 MSK
А кому нужен этот ваш python-multipart? Выглядит он весьма тухловато. Стоит ли такое собирать в репозиторий?
Comment 2 Anton Zhukharev 2022-08-12 18:32:54 MSK
(Ответ для Grigory Ustinov на комментарий #1)
> А кому нужен этот ваш python-multipart? Выглядит он весьма тухловато. Стоит
> ли такое собирать в репозиторий?
Для Starlette (уже есть в репозитории), которому для загрузки на сервер,
допустим, файлов, требуется именно python-multipart:
https://github.com/encode/starlette/blob/master/setup.py#L47
https://github.com/encode/starlette/issues/445
Comment 3 Anton Zhukharev 2022-09-17 16:56:54 MSK
Проблему "решил решать" по-другому. Собрал пакет, который провайдит _только_
python3(python-multipart) и конфликтует с python3-module-multipart:
https://git.altlinux.org/tasks/307016/gears/100/git?p=git;a=blob;f=.gear/python3-module-python-multipart.spec;h=5faf55858dd136b567dfeb3aef5f7b9a2ad8492b;hb=56f2a32cf60fb9a6d4d302dcafaaadaede76c691#l28

Теперь для использования именно python3(python-multipart) необходимо вставлять
в спек следующие две строки:

    %filter_from_requires /python(multipart.*)/d
    Requires: python3(python-multipart)

Это было сделано специально, чтобы не сломать python3-module-zope.publisher, а
также из-за того, что python3-module-python-multipart действительно выглядит
весьма тухловато, но, однако, может использоваться пакетом
python3-module-starltte (как ранее было упомянуто мной же).
Comment 4 Grigory Ustinov 2022-09-17 19:35:07 MSK
(Ответ для Anton Zhukharev на комментарий #3)
> Проблему "решил решать" по-другому. Собрал пакет, который провайдит _только_
> python3(python-multipart) и конфликтует с python3-module-multipart:
> https://git.altlinux.org/tasks/307016/gears/100/git?p=git;a=blob;f=.gear/
> python3-module-python-multipart.spec;
> h=5faf55858dd136b567dfeb3aef5f7b9a2ad8492b;
> hb=56f2a32cf60fb9a6d4d302dcafaaadaede76c691#l28
> 
> Теперь для использования именно python3(python-multipart) необходимо
> вставлять
> в спек следующие две строки:
> 
>     %filter_from_requires /python(multipart.*)/d
>     Requires: python3(python-multipart)
> 
> Это было сделано специально, чтобы не сломать python3-module-zope.publisher,
> а
> также из-за того, что python3-module-python-multipart действительно выглядит
> весьма тухловато, но, однако, может использоваться пакетом
> python3-module-starltte (как ранее было упомянуто мной же).

Спасибо большое! Да, тухловато - это не то слово.

Возможно было бы хорошей идеей озвучить комментарий про две строки и другим людям, например, комментарием в спеке. Ну или хотя бы как минимум, можно было бы закрыть багу тэгом автозакрытия и тогда желающие что-то собрать могли бы прочитать эту дискуссию.
Comment 5 Repository Robot 2022-09-17 21:00:45 MSK
python3-module-python-multipart-0.0.5-alt2.gitd4831a3f -> sisyphus:

 Sat Sep 17 2022 Anton Zhukharev <ancieg@altlinux> 0.0.5-alt2.gitd4831a3f
 - bump release
 - comment provides (closes: #43483)