Bug 38966 - python3-module-setuptools_scm зачем-то требует mercurial
Summary: python3-module-setuptools_scm зачем-то требует mercurial
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: python3-module-setuptools_scm_git_archive (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Grigory Ustinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-19 03:52 MSK by Vitaly Lipatov
Modified: 2020-09-21 09:17 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 Vitaly Lipatov 2020-09-19 03:52:31 MSK
# rpm -ev mercurial-5.4.1-alt1
ошибка: Неудовлетворенные зависимости:
	mercurial нужен для (установлен) python3-module-setuptools_scm-3.5.0-alt1.noarch

Мне кажется, он проживёт без mercurial.
Comment 1 Grigory Ustinov 2020-09-19 16:16:48 MSK
Ну вообще-то это одна из его базовых способностей получать версию из "ртутных" репозиториев. Так что я склонен к NOTABUG.
Comment 2 Vitaly Lipatov 2020-09-19 17:43:06 MSK
(Ответ для Grigory Ustinov на комментарий #1)
> Ну вообще-то это одна из его базовых способностей получать версию из
> "ртутных" репозиториев. Так что я склонен к NOTABUG.
При сборке у нас нет никаких репозиториев, так не понимаю, зачем нам эта его способность. Было бы замечательно, если бы он это умел при наличии git/mercurial, но явно не требовал ни того, ни другого.

Возможно, более правильный вариант — это отрывать его использование из пакетов, подскажите.
Comment 3 Stanislav Levin 2020-09-21 09:17:01 MSK
m2c: главным образом, setuptools_scm[0] используется в setup_requires[1]:
```
A string or list of strings specifying what other distributions need to be present in order for the setup script to run.
```
То есть это buildtime зависимость.

Так как здесь не указана конкретная проблема, то могу догадываться, что речь идет о опакечивании Python модулей с зависимостью на setuptools_scm. Если так, то рецепт:
```
export SETUPTOOLS_SCM_PRETEND_VERSION=%version
```

```
SETUPTOOLS_SCM_PRETEND_VERSION:
 	when defined and not empty, its used as the primary source for the version number in which case it will be a unparsed string
```

[0]: https://pypi.org/project/setuptools-scm/
[1]: https://setuptools.readthedocs.io/en/latest/setuptools.html