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