From: Ivan Zakharyaschev <imz@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] Пересборка питона Date: Tue, 22 Mar 2016 01:26:12 +0300 (MSK) Message-ID: <alpine.LFD.2.20.1603220101080.1850@imap.altlinux.org> (raw) In-Reply-To: <alpine.LFD.2.20.1603212110400.1850@imap.altlinux.org> [-- Attachment #1: Type: text/plain, Size: 5194 bytes --] On Mon, 21 Mar 2016, Ivan Zakharyaschev wrote: > Вторая половина списка начинается с циклов и продолжается тем, что от > пакетов в циклах зависит для сборки. Если будут предложения как > собрать, разорвав циклы, тот или иной пакет из второй половины списка > (в виде тега, собирающегося в hasher-е с подключённым 159698), дайте > знать. Я тогда добавлю Ваш тег в задание и автоматически пачку > пакетов, которая становится собираемой. > > Если опираться на данные ufb (used for build) (с учётом замечания ldv@ > про возникшие несущественные зависимости к прошлому сообщению на эту > тему: здесь я сначала оставил только бинарные пакеты с unmet-ами, > потом отобразил их на исходные), то в петли и циклы длины 2 попадают > такие 10 пакетов: > > $ make nodes-of-cycles-src-ufb-python3_too_early > join -1 2 <(sort -k2 < src-ufb-python3_too_early) src-ufb-python3_too_early > -o 1.1,2.2 \ > | egrep -x '(.*) \1' | cut -d' ' --fields=1 \ > | sort -u > nodes-of-cycles-src-ufb-python3_too_early > $ cat nodes-of-cycles-src-ufb-python3_too_early > python-module-gevent > python-module-lxml > python-module-matplotlib > python-module-mistune > python-module-numpy > python-module-scikits.statsmodels > python-module-scipy > python-module-zmq > python-module-zope.container > python-module-zope.interface > $ > > Понял, что моё предположение, что препятствия для пересборки -- это > только петли и циклы длины 2 в ufb, неверно. (Конечно, если из нашего По совпадению оказалось, что в этом случае это достаточное приближение для решения задачи (м.б. неоптимальное). Посмотрел для начала (скриптиком, которым составляю список для сборки -- buildable-closure.sh), что если научиться собирать эти 10 пакетов, то все остальные собираются, т.е. даже если и есть ещё циклы (например, через pygobject или pygobject3), они будут этими 10-ью узлами разрезаны все. > списка пакет A для сборки требует B, B требует C, а C требует A, то > каждую пару мы упорядочить могли бы, если бы не было третьего пакета, > требующего пересборки.) Пошлю в продолжение этого письма дополнение. > (Файл остающихся ограничений по сборке приложен, можно сказать tsort > на него, но он петли пропустит.) Вот как устроены их зависимости между собой (по ufb). Необязательно резать в них, но хочется проиллюстрировать ситуацию недлинным списком. Бросается в глаза, что есть группа пакетов, которая в сборочной среде часто ходит всемером (см. первые 7 строчек и повторение их же в сборочной среде других пакетов). $ ./restrict-rel nodes-of-cycles-src-ufb-python3_too_early < src-ufb-python3_too_early python-module-gevent python-module-gevent python-module-gevent python-module-lxml python-module-gevent python-module-matplotlib python-module-gevent python-module-mistune python-module-gevent python-module-numpy python-module-gevent python-module-zmq python-module-gevent python-module-zope.interface python-module-lxml python-module-gevent python-module-lxml python-module-lxml python-module-lxml python-module-matplotlib python-module-lxml python-module-mistune python-module-lxml python-module-numpy python-module-lxml python-module-zmq python-module-lxml python-module-zope.interface python-module-matplotlib python-module-numpy python-module-matplotlib python-module-scipy python-module-mistune python-module-gevent python-module-mistune python-module-lxml python-module-mistune python-module-matplotlib python-module-mistune python-module-mistune python-module-mistune python-module-numpy python-module-mistune python-module-zmq python-module-mistune python-module-zope.interface python-module-numpy python-module-gevent python-module-numpy python-module-lxml python-module-numpy python-module-matplotlib python-module-numpy python-module-mistune python-module-numpy python-module-numpy python-module-numpy python-module-zmq python-module-numpy python-module-zope.interface python-module-scikits.statsmodels python-module-gevent python-module-scikits.statsmodels python-module-lxml python-module-scikits.statsmodels python-module-matplotlib python-module-scikits.statsmodels python-module-mistune python-module-scikits.statsmodels python-module-numpy python-module-scikits.statsmodels python-module-scikits.statsmodels python-module-scikits.statsmodels python-module-scipy python-module-scikits.statsmodels python-module-zmq python-module-scikits.statsmodels python-module-zope.interface python-module-scipy python-module-gevent python-module-scipy python-module-lxml python-module-scipy python-module-matplotlib python-module-scipy python-module-mistune python-module-scipy python-module-numpy python-module-scipy python-module-zmq python-module-scipy python-module-zope.interface python-module-zmq python-module-gevent python-module-zmq python-module-lxml python-module-zmq python-module-matplotlib python-module-zmq python-module-mistune python-module-zmq python-module-numpy python-module-zmq python-module-zmq python-module-zmq python-module-zope.interface python-module-zope.container python-module-lxml python-module-zope.container python-module-zope.container python-module-zope.container python-module-zope.interface python-module-zope.interface python-module-zope.interface $ -- Best regards, Ivan
prev parent reply other threads:[~2016-03-21 22:26 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-03-08 17:06 ` Ivan Zakharyaschev 2016-03-08 17:32 ` Ivan Zakharyaschev 2016-03-08 17:55 ` Ivan Zakharyaschev 2016-03-14 14:38 ` Ivan Zakharyaschev 2016-03-14 14:41 ` Ivan Zakharyaschev 2016-03-21 18:13 ` Ivan Zakharyaschev 2016-03-21 18:40 ` Yuri N. Sedunov 2016-03-21 19:34 ` Dmitry V. Levin 2016-03-21 22:26 ` Ivan Zakharyaschev [this message]
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.1603220101080.1850@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