ALT Linux Team development discussions
 help / color / mirror / Atom feed
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

      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