Bug 33028 - Конфликтует по файлам с pytest
Summary: Конфликтует по файлам с pytest
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: python-module-logilab-common (show other bugs)
Version: unstable
Hardware: all Linux
: P3 blocker
Assignee: Ivan Zakharyaschev
QA Contact: qa-sisyphus
URL: https://lists.altlinux.org/pipermail/...
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-23 09:50 MSK by ruslandh
Modified: 2017-01-26 17:34 MSK (History)
22 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ruslandh 2017-01-23 09:50:57 MSK
файл /usr/bin/pytest из устанавливаемого пакета python-module-pytest-3.0.5-alt1.noarch конфликтует с файлом из пакета 
python-module-logilab-common-1.0.2-alt1.hg20150708.1.1.noarch
Comment 1 Dmitry V. Levin 2017-01-25 13:35:04 MSK
Sisyphus-20170123 x86_64 beehive_status: +119 -36
Sisyphus-20170124 i586 beehive_status: +121 -49

Я так понимаю, это произошло вследствие автоматизированнго обновления большого числа питонопакетов.

Если не глядя обновлять пакеты, то и не такое может получиться.
Comment 2 Ivan Zakharyaschev 2017-01-25 14:01:04 MSK
(In reply to comment #1)
> Sisyphus-20170123 x86_64 beehive_status: +119 -36
> Sisyphus-20170124 i586 beehive_status: +121 -49
> 
> Я так понимаю, это произошло вследствие автоматизированнго обновления большого
> числа питонопакетов.
> 
> Если не глядя обновлять пакеты, то и не такое может получиться.

Скорее не так. Просто человек (не робот), который отправил новую версию python-module-pytest, никак не ожидал, что /usr/bin/pytest уже кем-то занято -- пакетом с каким-то непонятным именем (на котором этот баг висит).

Сейчас после небольшой проверки, что этот старый /usr/bin/pytest никем не используется (в т.ч. при сборке), нужно отправить этот пакет без /usr/bin/pytest в Сизиф; собираюсь это проделать.

Раньше python-module-pytest ставил только /usr/bin/py.test (и не возникало конфликта по имени файла).
Comment 3 ruslandh 2017-01-25 14:12:15 MSK
А нельзя из вашего пакета собирать пакет ..pytest, что-бы потом опять никто не ошибся, или что-бы он провайдил пакет ..pytest?
Comment 4 Ivan Zakharyaschev 2017-01-25 14:23:57 MSK
(In reply to comment #3)
> А нельзя из вашего пакета собирать пакет ..pytest, что-бы потом опять никто не
> ошибся, или что-бы он провайдил пакет ..pytest?

Вот этот пакет скорее ничей.

Просто я хотел аккуратно убедиться сначала, что старый пакет никто таким образом не использует. А потом можно спокойно переименовывать бинарник, выносить подпакет и всё такое.

Про вынос в подпакет: это, конечно, удобно с точки зрения отслеживания зависимостей, в т.ч. сборочных.

Да, у меня была такая мысль, как бы поменьше ручного труда приложить и всё проверить; но до конца она не оформилась. А теперь, когда Вы озвучили эту идею, думаю поступить так: оба /usr/bin/pytest вынести в отдельный подпакет, и наблюдать за результатами пересборки.
Comment 5 Ivan Zakharyaschev 2017-01-25 14:27:30 MSK
(In reply to comment #4)
> (In reply to comment #3)
> > А нельзя из вашего пакета собирать пакет ..pytest, что-бы потом опять никто не
> > ошибся, или что-бы он провайдил пакет ..pytest?
> 
> Вот этот пакет скорее ничей.
> 
> Просто я хотел аккуратно убедиться сначала, что старый пакет никто таким
> образом не использует. А потом можно спокойно переименовывать бинарник,
> выносить подпакет и всё такое.

Чтобы не случилось, что кто-то из старых "клиентов" /usr/bin/pytest не начал незаметно использовать совсем другую программу.

> Про вынос в подпакет: это, конечно, удобно с точки зрения отслеживания
> зависимостей, в т.ч. сборочных.
> 
> Да, у меня была такая мысль, как бы поменьше ручного труда приложить и всё
> проверить; но до конца она не оформилась. А теперь, когда Вы озвучили эту идею,
> думаю поступить так: оба /usr/bin/pytest вынести в отдельный подпакет, и
> наблюдать за результатами пересборки.

При таком решении не начнёт: нужно явно будет проставить зависимость на специальный пакет.

Думаю так: в этом пакете с непонятным названием переименовать бинарник, а из python-module-pytest одновременно его вынести, чтобы ни к кому он по ошибке не попал под видом старого. (Кто хочет старый, пусть имя команды поменяет.)
Comment 6 Michael Shigorin 2017-01-25 17:12:39 MSK
(В ответ на комментарий №5)
> Думаю так: в этом пакете с непонятным названием переименовать бинарник
А точно не вынести нафиг?  Нечего им затаптывать слишком общие имена, тем паче что есть проект именно с таким именем.
Comment 7 Repository Robot 2017-01-26 12:06:56 MSK
python-module-pytest-3.0.5-alt2 -> sisyphus:

* Thu Jan 26 2017 Ivan Zakharyaschev <imz@altlinux> 3.0.5-alt2
- Separate packages for the extra /usr/bin/pytest* to track their
  users (ALT#33028).
- /usr/bin/py.test3 - Avoid dep on minor version of python3 in the filename:
  + no need to rebuild with the change of python3's minor version;
  + no need for python3 to preprocess the .spec.
- (.spec) BuildPreReq for manually written build deps.
- (.spec) put Requires before any specs how to build (they are
  externally visible).
- (.spec) A bit safer scripting.
- (.spec) more %if_with python3 (to avoid unwanted calls to python3;
  just in case).
Comment 8 Ivan Zakharyaschev 2017-01-26 16:27:16 MSK
python-module-logilab-common-1.0.2-alt2.hg20150708 -> sisyphus:

* Thu Jan 26 2017 Ivan Zakharyaschev <imz@altlinux> 1.0.2-alt2.hg20150708
- Rename /usr/bin/pytest{,3} to avoid collision with pytest{,3}-3.0.5
  (ALT#33028).
- Package *.pth files for modifying the Python path for the
  namespace pkg.