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