From: Ivan Zakharyaschev <imz@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Обновление numpy и matplotlib
Date: Sun, 16 Apr 2017 11:30:54 +0300 (MSK)
Message-ID: <alpine.LFD.2.20.1704161100110.1081@imap.altlinux.org> (raw)
In-Reply-To: <99b393d5-c606-5bd0-d1a3-20736a9f050a@ya.ru>
[-- Attachment #1: Type: text/plain, Size: 3494 bytes --]
On Sun, 16 Apr 2017, Антон Мидюков wrote:
>> > Так вот, у меня вопрос, почему эти провайдесы у пакета не находятся? Я
>> > так понял, только потому, что все эти python субмодули предоставляются
>> > одним файлом six.py. Все эти субмодули объявляются внутри этого скрипта.
>> > Т.е. скрипт поиска провайдесов такого рода провайдесы не приспособлен
>> > находить?
>>
>> Именно так, да. При желании можно написать автоматический генератор
>> Provides специально для six. В каком-то смысле, это удобнее, чем
>> выписывать их вручную, но в это надо вложить свой труд, и неизвестно,
>> сколько времени это займёт. Это только приветствуется. Тут я бы ещё
>> обратил внимание на то, что аналогичные Provides как-то должны ещё
>> появляться в пакете с matplotlib, можно было бы покрыть и эти случаи
>> автоматическим генератором тоже:
>>
>> matplotlib.externals.six.moves
>> matplotlib.externals.six.moves.urllib.parse
>> matplotlib.externals.six.moves.urllib.request
>>
> Я не нашёл, какие пакеты зависят от этих провайдесов, потому собрал без них
> сегодня. И эти модули к тому же не импортируются никак, по крайней мере в
> новой версии. Я думаю, что они уже устарели. Если это не так, поправьте.
Вот и хорошо. Это была какая-то устаревшая некрасивая штука, и теперь мы
выяснили, что от неё можно избавиться.
>> А ещё потом можно будет отправить на повторную сборку обновлённые пакеты,
>> которым их не хватило --
>> https://www.altlinux.org/Python3/UNMETS#six..2A_.2814.29 .
>>
> Ужас. Получается весь этот six состоит из одних провайдесов. Мне кажется,
> проще переделать скрипт поиска зависимостей, чтобы зависимости типа
> python3(six.чего-то_там) преобразовывались в зависимость на провайдес
> python3(six). Или есть прецеденты, когда зависимости вида
> python3(six.чего-то_там) принадлежали не пакету python3-module-six?
Скорее, таких прецедентов нет. Но есть такое соображение:
вдруг кто-то импортирует python3(six.чего-то_там), а в версии пакета six,
собранной в Sisyphus этого нет. Тогда у пользователя, установившего этот
пакет, может неожиданно возникнуть ошибка во время работы. Не хочется
реагировать на такие bug-и в ручном режиме. А дописывание Provides в
сочетании с проверкой импортируемости (как в скрипте, который я предложил
использовать для проверки) сразу после подготовки пакета six заранее даст
уверенность, что этих ошибок не будет. И при точечном обновлении одного
или другого пакета у пользователя это будет отслеживаться благодаря
Requires у пакета-клиента.
Я предлагаю дописывать не такое уж большое количество Provides сразу и
переложить заботу о работоспособности помещённых в Sisyphus пакетов на
автоматические проверки (в тех объёмах и с той приблизительностью, которые
реализованы), а не сталкиваться с этим при использовании. В том списке,
который у меня записан на wiki, их совсем не много разных (10). Я этой
простой вещи не сделал сразу, потому что хотел и автоматическую проверку
импортируемости при сборке включить заодно (на уровне policy в
rpm-build-python3), но был занят другими делами.
Случай, который послужил началом этого обсуждения, мог бы быть тоже
автоматически выловлен как UNMET на six.chr (или что там в точности было),
но по-видимому этого не произошло, потому что поиск Requires не смотрит во
вложенные блоки (например, внутри условных конструкций), т.е. его
результат -- этот толкьо приближение, а не полный список необходимых
всегда модулей (что-то пропущено).
--
Best regards,
Ivan
next prev parent reply other threads:[~2017-04-16 8:30 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-13 14:00 Антон Мидюков
2017-04-14 10:00 ` Ivan Zakharyaschev
2017-04-16 1:58 ` Антон Мидюков
2017-04-16 7:01 ` Ivan Zakharyaschev
2017-04-16 7:48 ` Антон Мидюков
2017-04-16 8:30 ` Ivan Zakharyaschev [this message]
2017-04-16 8:43 ` Ivan Zakharyaschev
2017-04-16 13:32 ` Vladimir D. Seleznev
2017-04-16 14:49 ` Ivan Zakharyaschev
2017-04-16 15:26 ` Антон Мидюков
2017-04-16 16:42 ` Yuri Sedunov
2017-04-16 16:46 ` Ivan Zakharyaschev
2017-04-16 16:50 ` Dmitry V. Levin
2017-04-17 1:35 ` Антон Мидюков
2017-04-16 16:55 ` Ivan Zakharyaschev
2017-04-17 1:39 ` Антон Мидюков
2017-04-17 8:13 ` Ivan Zakharyaschev
2017-04-17 8:14 ` Ivan Zakharyaschev
2017-04-17 8:49 ` Антон Мидюков
2017-04-17 8:58 ` Ivan Zakharyaschev
2017-04-17 9:00 ` Антон Мидюков
2017-04-17 9:12 ` Ivan Zakharyaschev
2017-04-28 12:31 ` Антон Мидюков
2017-04-14 15:13 ` Michael Shigorin
2017-04-14 16:32 ` Ivan Zakharyaschev
2017-04-14 17:03 ` Michael Shigorin
2017-04-14 17:23 ` Ivan Zakharyaschev
2017-04-14 20:31 ` Ivan Zakharyaschev
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=alpine.LFD.2.20.1704161100110.1081@imap.altlinux.org \
--to=imz@altlinux.org \
--cc=devel@lists.altlinux.org \
/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