From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 22 Mar 2016 01:26:12 +0300 (MSK) From: Ivan Zakharyaschev To: ALT Linux Team development discussions In-Reply-To: Message-ID: References: <20160308162414.GC15036@altlinux.org> User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="1807885841-1284008789-1458599172=:1850" Subject: Re: [devel] =?koi8-r?b?8MXSxdPCz9LLwSDQydTPzsE=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2016 22:26:13 -0000 Archived-At: List-Archive: List-Post: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1807885841-1284008789-1458599172=:1850 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8BIT 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 --1807885841-1284008789-1458599172=:1850--