ALT Linux Team development discussions
 help / color / mirror / Atom feed
* Re: [devel] Пересборка питона
  @ 2016-03-08 17:06                     ` Ivan Zakharyaschev
  2016-03-08 17:32                       ` Ivan Zakharyaschev
  2016-03-14 14:38                       ` Ivan Zakharyaschev
  0 siblings, 2 replies; 9+ messages in thread
From: Ivan Zakharyaschev @ 2016-03-08 17:06 UTC (permalink / raw)
  To: Dmitry V. Levin; +Cc: Aleksey Novodvorsky

[-- Attachment #1: Type: text/plain, Size: 1549 bytes --]

On Tue, 8 Mar 2016, Dmitry V. Levin wrote:

> On Tue, Mar 08, 2016 at 05:06:17PM +0300, Ivan Zakharyaschev wrote:
>> Потом пишу о хитросплетениях в группе с .so.
>
> Нам нужно будет разорвать все сборочные циклы в этой группе пакетов,
> а для этого их всё равно нужно вычислить.  Сколько на это уйдёт времени?

Это петли и циклы длины 2 в графе отношения src-ufb-python3_so (ufb, 
отображённое на исходные пакеты и суженное до списка с питоновскими с 
.so).

(Если неверно, что среди тех, которые требуют пересборки, A использует B 
для сборки и B использует A для сборки, то мы их можем собрать друг за 
другом.)

$ export LC_ALL=C; join -1 2 <(sort -k2 < src-ufb-python3_so) 
src-ufb-python3_so -o 1.1,2.2 | egrep '^(.*) \1$' | cut -d' ' --fields=1 | 
sort -u
python-module-OpenGL_accelerate
python-module-Pillow
python-module-coverage
python-module-gevent
python-module-lxml
python-module-matplotlib
python-module-mistune
python-module-numpy
python-module-pygobject3
python-module-scikits.statsmodels
python-module-scipy
python-module-simplejson
python-module-zmq
python-module-zope.container
python-module-zope.interface
python3

> Рвать циклы будем потом всем коллективом, если потребуется.

Из серьёзных (важных для "базовой" питоновской системы) я в первую очередь 
увидел:

python-module-lxml
python-module-pygobject3

про остальные могу не знать, что это.

Эти я и заметил, когда упёрся в экспериментах в циклы.

lxml для документации, sphinx, mako (шаблонов), кажется.

pygobject для всего подрад типа dbus, Qt, кажется.

Best regards
Ivan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Пересборка питона
  2016-03-08 17:06                     ` [devel] Пересборка питона Ivan Zakharyaschev
@ 2016-03-08 17:32                       ` Ivan Zakharyaschev
  2016-03-08 17:55                         ` Ivan Zakharyaschev
  2016-03-14 14:38                       ` Ivan Zakharyaschev
  1 sibling, 1 reply; 9+ messages in thread
From: Ivan Zakharyaschev @ 2016-03-08 17:32 UTC (permalink / raw)
  To: Dmitry V. Levin; +Cc: Aleksey Novodvorsky

[-- Attachment #1: Type: text/plain, Size: 8371 bytes --]


On Tue, 8 Mar 2016, Ivan Zakharyaschev wrote:

> On Tue, 8 Mar 2016, Dmitry V. Levin wrote:
>
>>  On Tue, Mar 08, 2016 at 05:06:17PM +0300, Ivan Zakharyaschev wrote:
>> >  Потом пишу о хитросплетениях в группе с .so.
>>
>>  Нам нужно будет разорвать все сборочные циклы в этой группе пакетов,
>>  а для этого их всё равно нужно вычислить.  Сколько на это уйдёт времени?
>
> Это петли и циклы длины 2 в графе отношения src-ufb-python3_so (ufb, 
> отображённое на исходные пакеты и суженное до списка с питоновскими с .so).
>
> (Если неверно, что среди тех, которые требуют пересборки, A использует B для 
> сборки и B использует A для сборки, то мы их можем собрать друг за другом.)
>
> $ export LC_ALL=C; join -1 2 <(sort -k2 < src-ufb-python3_so) 
> src-ufb-python3_so -o 1.1,2.2 | egrep '^(.*) \1$' | cut -d' ' --fields=1 | 
> sort -u
> python-module-OpenGL_accelerate
> python-module-Pillow
> python-module-coverage
> python-module-gevent
> python-module-lxml
> python-module-matplotlib
> python-module-mistune
> python-module-numpy
> python-module-pygobject3
> python-module-scikits.statsmodels
> python-module-scipy
> python-module-simplejson
> python-module-zmq
> python-module-zope.container
> python-module-zope.interface
> python3

Вот как собственно эти циклы выглядят -- 130 дуг-использований:

$ export LC_ALL=C; join -1 2 <(sort -k2 < src-ufb-python3_so) src-ufb-python3_so -o 1.1,2.2 | egrep -x '(.*) \1' | cut -d' ' --fields=1 | sort -u | fgrep -v -x python3 > nodes-of-cycles-src-ufb-python3_so
[imz@altair python3-workfiles]$ ./restrict-rel nodes-of-cycles-src-ufb-python3_so < src-ufb-python3_so | wc -l
130
[imz@altair python3-workfiles]$ ./restrict-rel 
nodes-of-cycles-src-ufb-python3_so < src-ufb-python3_so
python-module-OpenGL_accelerate python-module-OpenGL_accelerate
python-module-OpenGL_accelerate python-module-Pillow
python-module-OpenGL_accelerate python-module-coverage
python-module-OpenGL_accelerate python-module-gevent
python-module-OpenGL_accelerate python-module-lxml
python-module-OpenGL_accelerate python-module-matplotlib
python-module-OpenGL_accelerate python-module-mistune
python-module-OpenGL_accelerate python-module-numpy
python-module-OpenGL_accelerate python-module-pygobject3
python-module-OpenGL_accelerate python-module-simplejson
python-module-OpenGL_accelerate python-module-zmq
python-module-OpenGL_accelerate python-module-zope.interface
python-module-Pillow python-module-lxml
python-module-Pillow python-module-simplejson
python-module-coverage python-module-lxml
python-module-coverage python-module-simplejson
python-module-coverage python-module-zope.interface
python-module-gevent python-module-OpenGL_accelerate
python-module-gevent python-module-Pillow
python-module-gevent python-module-coverage
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-pygobject3
python-module-gevent python-module-simplejson
python-module-gevent python-module-zmq
python-module-gevent python-module-zope.interface
python-module-lxml python-module-OpenGL_accelerate
python-module-lxml python-module-Pillow
python-module-lxml python-module-coverage
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-pygobject3
python-module-lxml python-module-simplejson
python-module-lxml python-module-zmq
python-module-lxml python-module-zope.interface
python-module-matplotlib python-module-OpenGL_accelerate
python-module-matplotlib python-module-Pillow
python-module-matplotlib python-module-gevent
python-module-matplotlib python-module-lxml
python-module-matplotlib python-module-matplotlib
python-module-matplotlib python-module-mistune
python-module-matplotlib python-module-numpy
python-module-matplotlib python-module-pygobject3
python-module-matplotlib python-module-scipy
python-module-matplotlib python-module-simplejson
python-module-matplotlib python-module-zmq
python-module-matplotlib python-module-zope.interface
python-module-mistune python-module-OpenGL_accelerate
python-module-mistune python-module-Pillow
python-module-mistune python-module-coverage
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-pygobject3
python-module-mistune python-module-simplejson
python-module-mistune python-module-zmq
python-module-mistune python-module-zope.interface
python-module-numpy python-module-OpenGL_accelerate
python-module-numpy python-module-Pillow
python-module-numpy python-module-coverage
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-pygobject3
python-module-numpy python-module-simplejson
python-module-numpy python-module-zmq
python-module-numpy python-module-zope.interface
python-module-pygobject3 python-module-lxml
python-module-pygobject3 python-module-simplejson
python-module-pygobject3 python-module-zope.interface
python-module-scikits.statsmodels python-module-OpenGL_accelerate
python-module-scikits.statsmodels python-module-Pillow
python-module-scikits.statsmodels python-module-coverage
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-pygobject3
python-module-scikits.statsmodels python-module-scikits.statsmodels
python-module-scikits.statsmodels python-module-scipy
python-module-scikits.statsmodels python-module-simplejson
python-module-scikits.statsmodels python-module-zmq
python-module-scikits.statsmodels python-module-zope.interface
python-module-scipy python-module-OpenGL_accelerate
python-module-scipy python-module-Pillow
python-module-scipy python-module-coverage
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-pygobject3
python-module-scipy python-module-scipy
python-module-scipy python-module-simplejson
python-module-scipy python-module-zmq
python-module-scipy python-module-zope.interface
python-module-simplejson python-module-lxml
python-module-simplejson python-module-simplejson
python-module-zmq python-module-OpenGL_accelerate
python-module-zmq python-module-Pillow
python-module-zmq python-module-coverage
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-pygobject3
python-module-zmq python-module-simplejson
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-numpy
python-module-zope.container python-module-simplejson
python-module-zope.container python-module-zope.container
python-module-zope.container python-module-zope.interface
python-module-zope.interface python-module-coverage
python-module-zope.interface python-module-lxml
python-module-zope.interface python-module-simplejson
python-module-zope.interface python-module-zope.interface
[imz@altair python3-workfiles]$


>>  Рвать циклы будем потом всем коллективом, если потребуется.
>
> Из серьёзных (важных для "базовой" питоновской системы) я в первую очередь 
> увидел:
>
> python-module-lxml
> python-module-pygobject3
>
> про остальные могу не знать, что это.
>
> Эти я и заметил, когда упёрся в экспериментах в циклы.
>
> lxml для документации, sphinx, mako (шаблонов), кажется.
>
> pygobject для всего подрад типа dbus, Qt, кажется.
>
> Best regards
> Ivan
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Пересборка питона
  2016-03-08 17:32                       ` Ivan Zakharyaschev
@ 2016-03-08 17:55                         ` Ivan Zakharyaschev
  0 siblings, 0 replies; 9+ messages in thread
From: Ivan Zakharyaschev @ 2016-03-08 17:55 UTC (permalink / raw)
  To: Dmitry V. Levin; +Cc: Aleksey Novodvorsky

[-- Attachment #1: Type: text/plain, Size: 4720 bytes --]

On Tue, 8 Mar 2016, Ivan Zakharyaschev wrote:

>
> On Tue, 8 Mar 2016, Ivan Zakharyaschev wrote:
>
>>  On Tue, 8 Mar 2016, Dmitry V. Levin wrote:
>> 
>> >   On Tue, Mar 08, 2016 at 05:06:17PM +0300, Ivan Zakharyaschev wrote:
>> > >   Потом пишу о хитросплетениях в группе с .so.
>> > 
>> >   Нам нужно будет разорвать все сборочные циклы в этой группе пакетов,
>> >   а для этого их всё равно нужно вычислить.  Сколько на это уйдёт 
>> >   времени?
>>
>>  Это петли и циклы длины 2 в графе отношения src-ufb-python3_so (ufb,
>>  отображённое на исходные пакеты и суженное до списка с питоновскими с
>>  .so).
>>
>>  (Если неверно, что среди тех, которые требуют пересборки, A использует B
>>  для сборки и B использует A для сборки, то мы их можем собрать друг за
>>  другом.)
>>
>>  $ export LC_ALL=C; join -1 2 <(sort -k2 < src-ufb-python3_so)
>>  src-ufb-python3_so -o 1.1,2.2 | egrep '^(.*) \1$' | cut -d' ' --fields=1 |
>>  sort -u
>>  python-module-OpenGL_accelerate
>>  python-module-Pillow
>>  python-module-coverage
>>  python-module-gevent
>>  python-module-lxml
>>  python-module-matplotlib
>>  python-module-mistune
>>  python-module-numpy
>>  python-module-pygobject3
>>  python-module-scikits.statsmodels
>>  python-module-scipy
>>  python-module-simplejson
>>  python-module-zmq
>>  python-module-zope.container
>>  python-module-zope.interface
>>  python3
>
> Вот как собственно эти циклы выглядят -- 130 дуг-использований:

Попытка понять, насколько они независимые -- не понимаю, интересна ли эта 
информация:

[imz@altair python3-workfiles]$ ./restrict-rel nodes-of-cycles-src-ufb-python3_so < src-ufb-python3_so > cycles-in-src-ufb

Попытка "распутать", начиная с python-module-lxml

[imz@altair python3-workfiles]$ echo python-module-lxml | ./closure 
cycles-in-src-ufb closure-of-python-module-lxml
python-module-lxml
python-module-OpenGL_accelerate
python-module-Pillow
python-module-coverage
python-module-gevent
python-module-matplotlib
python-module-mistune
python-module-numpy
python-module-pygobject3
python-module-simplejson
python-module-zmq
python-module-zope.interface
python-module-scipy
[imz@altair python3-workfiles]$ wc -l closure-of-python-module-lxml
13 closure-of-python-module-lxml

Те, в которые не попали:

[imz@altair python3-workfiles]$ fgrep -v -fclosure-of-python-module-lxml < nodes-of-cycles-src-ufb-python3_so
python-module-scikits.statsmodels
python-module-zope.container

Попытка "распутать", начиная с python-module-zope.container

[imz@altair python3-workfiles]$ echo python-module-zope.container | ./closure cycles-in-src-ufb closure-of-python-module-zope.container
python-module-zope.container
python-module-lxml
python-module-numpy
python-module-simplejson
python-module-zope.interface
python-module-OpenGL_accelerate
python-module-Pillow
python-module-coverage
python-module-gevent
python-module-matplotlib
python-module-mistune
python-module-pygobject3
python-module-zmq
python-module-scipy
[imz@altair python3-workfiles]$ wc -l 
closure-of-python-module-zope.container
14 closure-of-python-module-zope.container

Среди непосредственных требований python-module-zope.container

[imz@altair python3-workfiles]$ echo python-module-zope.container | join - cycles-in-src-ufb | wc -l
5

Всего узлов в циклах:

[imz@altair python3-workfiles]$ wc -l nodes-of-cycles-src-ufb-python3_so
15 nodes-of-cycles-src-ufb-python3_so
[imz@altair python3-workfiles]$

Попытка "распутать", начиная с python-module-scikits.statsmodels:

[imz@altair python3-workfiles]$ echo python-module-scikits.statsmodels | 
./closure cycles-in-src-ufb closure-of-python-module-scikits.statsmodels
python-module-scikits.statsmodels
python-module-OpenGL_accelerate
python-module-Pillow
python-module-coverage
python-module-gevent
python-module-lxml
python-module-matplotlib
python-module-mistune
python-module-numpy
python-module-pygobject3
python-module-scipy
python-module-simplejson
python-module-zmq
python-module-zope.interface
[imz@altair python3-workfiles]$ wc -l 
closure-of-python-module-scikits.statsmodels
14 closure-of-python-module-scikits.statsmodels
[imz@altair python3-workfiles]$

Попытка "распутать", начиная с python-module-pygobject3:

[imz@altair python3-workfiles]$ echo python-module-pygobject3 | ./closure cycles-in-src-ufb closure-of-python-module-pygobject3
python-module-pygobject3
python-module-lxml
python-module-simplejson
python-module-zope.interface
python-module-OpenGL_accelerate
python-module-Pillow
python-module-coverage
python-module-gevent
python-module-matplotlib
python-module-mistune
python-module-numpy
python-module-zmq
python-module-scipy
[imz@altair python3-workfiles]$ wc -l closure-of-python-module-pygobject3
13 closure-of-python-module-pygobject3


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Пересборка питона
  2016-03-08 17:06                     ` [devel] Пересборка питона Ivan Zakharyaschev
  2016-03-08 17:32                       ` Ivan Zakharyaschev
@ 2016-03-14 14:38                       ` Ivan Zakharyaschev
  2016-03-14 14:41                         ` Ivan Zakharyaschev
  2016-03-21 18:13                         ` Ivan Zakharyaschev
  1 sibling, 2 replies; 9+ messages in thread
From: Ivan Zakharyaschev @ 2016-03-14 14:38 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2612 bytes --]

Добрый день!

В задания по пересборке питоновских пакетов на первом этапе в какой-то 
момент решил в первую очоередь добавить то, что является сборочными 
зависимостями, того, что надо будет пересобирать вместе с python3-3.5.

Хвост этих зависимостей в #160265 -- то, что осталось в тот момент:

make src-list-tobuild-python3_too_early
comm -3 -2 src-list-tobuild-python3_too_early <(sort -u python3-no-need) > src-list-tobuild-python3_too_early.needed)

(Стал правила получения списков записывать для того, чтобы поменьше 
путаться, в тот же репо git.alt:/people/imz/public/mosquito-hive.git )

Когда оно соберётся и все задания <= #161308, то можно запускать тестовое 
задание с python3-3.5. (У меня #159698 .) Добавив себе его в источники 
(#159698), можно пытаться собрать пакеты для python3-3.5.

On Tue, 8 Mar 2016, Ivan Zakharyaschev wrote:

> On Tue, 8 Mar 2016, Dmitry V. Levin wrote:

>>  Нам нужно будет разорвать все сборочные циклы в этой группе пакетов,
>>  а для этого их всё равно нужно вычислить.  Сколько на это уйдёт времени?
>
> Это петли и циклы длины 2 в графе отношения src-ufb-python3_so (ufb, 
> отображённое на исходные пакеты и суженное до списка с питоновскими с .so).

Теперь для точной информации стал пользоваться отношением 
src-ufb-python3_too_early (на основе списка src-list-python3_too_early , 
где объединены src-list-python3_so и те, у которых unmet на libpython3).

Список не изменился.

ldv@ сообразил, что "Отображение на исходные пакеты превращает некоторые 
несущественные питоно-зависимости в существенные. ... Т.е. для сборки 
python-module-pygobject3 не нужен python3-module-lxml, а 
python-module-lxml годится любой."

> (Если неверно, что среди тех, которые требуют пересборки, A использует B для 
> сборки и B использует A для сборки, то мы их можем собрать друг за другом.)
>
> $ export LC_ALL=C; join -1 2 <(sort -k2 < src-ufb-python3_so) 
> src-ufb-python3_so -o 1.1,2.2 | egrep '^(.*) \1$' | cut -d' ' --fields=1 | 
> sort -u
> python-module-OpenGL_accelerate
> python-module-Pillow
> python-module-coverage
> python-module-gevent
> python-module-lxml
> python-module-matplotlib
> python-module-mistune
> python-module-numpy
> python-module-pygobject3
> python-module-scikits.statsmodels
> python-module-scipy
> python-module-simplejson
> python-module-zmq
> python-module-zope.container
> python-module-zope.interface
> python3
>
>>  Рвать циклы будем потом всем коллективом, если потребуется.
>
> Из серьёзных (важных для "базовой" питоновской системы) я в первую очередь 
> увидел:
>
> python-module-lxml
> python-module-pygobject3

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Пересборка питона
  2016-03-14 14:38                       ` Ivan Zakharyaschev
@ 2016-03-14 14:41                         ` Ivan Zakharyaschev
  2016-03-21 18:13                         ` Ivan Zakharyaschev
  1 sibling, 0 replies; 9+ messages in thread
From: Ivan Zakharyaschev @ 2016-03-14 14:41 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

On Mon, 14 Mar 2016, Ivan Zakharyaschev wrote:

> Теперь для точной информации стал пользоваться отношением 
> src-ufb-python3_too_early (на основе списка src-list-python3_too_early , где 
> объединены src-list-python3_so и те, у которых unmet на libpython3).
>
> Список не изменился.
>

Но это я пока никак не учитывал (уточнение имелось в виду про добавление 
unmets на libpython):

> ldv@ сообразил, что "Отображение на исходные пакеты превращает некоторые 
> несущественные питоно-зависимости в существенные. ... Т.е. для сборки 
> python-module-pygobject3 не нужен python3-module-lxml, а python-module-lxml 
> годится любой."
>
>>  (Если неверно, что среди тех, которые требуют пересборки, A использует B
>>  для сборки и B использует A для сборки, то мы их можем собрать друг за
>>  другом.)

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Пересборка питона
  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 22:26                           ` Ivan Zakharyaschev
  1 sibling, 2 replies; 9+ messages in thread
From: Ivan Zakharyaschev @ 2016-03-21 18:13 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 4958 bytes --]

С python3-3.5 сейчас такая ситуация.

Есть задание 159698 с ним.

Его можно добавить к себе в источники для hasher-а, если у Вас есть
интерес к собираемости пакетов с python3-3.5.

То, что удаётся пересобрать, не нарываясь на циклы по сборочным
зависимостям, в него помещено. Надо учитывать, что в этой первой
половине списка есть несколько проблем, где требуется обновление
версии/адаптация/исправление:

* python-module-signalfd
* python-module-rpy2
* python-module-rjsmin
* python-module-pycrypto -- дохлый upstream; замена в виде pycryptodome вызывает сомнения из-за лицензии на OCB
* boost
* python-module-pytest , python-module-curve25519 -- мелочи, связанные
с упаковкой: неудачная схема с использованием %_python3_version в пути
(оно перестаёт работать без пересборки, хотя так не задумано и
RPM-зависимости об этом не предупреждают). Так или иначе я это
пофикшу.

По остальным пакетам идёт nbr@ (скорее снизу вверх, начиная с починки
boost, только что удавшейся!)

Вторая половина списка начинается с циклов и продолжается тем, что от
пакетов в циклах зависит для сборки. Если будут предложения как
собрать, разорвав циклы, тот или иной пакет из второй половины списка
(в виде тега, собирающегося в 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, неверно. (Конечно, если из нашего
списка пакет A для сборки требует B, B требует C, а C требует A, то
каждую пару мы упорядочить могли бы, если бы не было третьего пакета,
требующего пересборки.) Пошлю в продолжение этого письма дополнение.
(Файл остающихся ограничений по сборке приложен, можно сказать tsort
на него, но он петли пропустит.)

Вся вторая половина списка:

blueman
borg
brltty
gdal
gnome-builder
h5py
libpeas
libseccomp
protobuf
pyside-qt4-py3
pytables
python-module-BTrees
python-module-DAGPype
python-module-DIRECT
python-module-Naked
python-module-OpenGL_accelerate
python-module-Pillow
python-module-PyMca
python-module-PyQt5
python-module-affinegap
python-module-asa
python-module-banyan
python-module-bintrees
python-module-blosc
python-module-bottleneck
python-module-cHaversine
python-module-casuarius
python-module-credis
python-module-cyrand
python-module-dbus
python-module-dedupe-hcluster
python-module-djvulibre
python-module-efl
python-module-fastbit
python-module-fiona
python-module-gevent
python-module-gist
python-module-gst1.0
python-module-hmmlearn
python-module-http-parser
python-module-igakit
python-module-jq
python-module-kmod
python-module-logbook
python-module-lxml
python-module-matplotlib
python-module-mehcode-xmlsec
python-module-minipg
python-module-mistune
python-module-mozsci
python-module-mpi4py
python-module-mpl_toolkits.basemap
python-module-msgpack
python-module-netCDF4
python-module-numexpr
python-module-numpy
python-module-pandas
python-module-persistent
python-module-poppler-qt5
python-module-psutil
python-module-pulsar
python-module-pyScss
python-module-pyaio
python-module-pyaxon
python-module-pyclipper
python-module-pyfits
python-module-pygobject3
python-module-pyhacrf
python-module-pylbfgs
python-module-pymc
python-module-pysndfile
python-module-pysvn
python-module-pyublas
python-module-rasterio
python-module-scikit-image
python-module-scikit-learn
python-module-scikits.audiolab
python-module-scikits.bvp_solver
python-module-scikits.eartho
python-module-scikits.odes
python-module-scikits.samplerate
python-module-scikits.scattpy
python-module-scikits.sparse
python-module-scikits.statsmodels
python-module-scikits.umfpack
python-module-scikits.vectorplot
python-module-scipy
python-module-seqlearn
python-module-shapely
python-module-timelib
python-module-tinycss
python-module-triangle
python-module-veusz
python-module-wsaccel
python-module-yaml
python-module-zmq
python-module-zope.container
python-module-zope.index
python-module-zope.interface
python-module-zope.security
python3-module-pcap
python3-module-pycairo
python3-module-pygobject
qscintilla2
sfepy
shiboken-py3
xraylib

-- 
Best regards,
Ivan

[-- Attachment #2: UFB-like relation on the remaining pkgs --]
[-- Type: application/octet-stream, Size: 2532 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Пересборка питона
  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
  1 sibling, 1 reply; 9+ messages in thread
From: Yuri N. Sedunov @ 2016-03-21 18:40 UTC (permalink / raw)
  To: devel

Убедительно прошу пособирать питон в сторонке несколько дней, пока
новый гном не появится в сизифе.


В Пн, 21/03/2016 в 21:13 +0300, Ivan Zakharyaschev пишет:
> С python3-3.5 сейчас такая ситуация.
> 
> Есть задание 159698 с ним.
> 
> Его можно добавить к себе в источники для hasher-а, если у Вас есть
> интерес к собираемости пакетов с python3-3.5.
> 
> То, что удаётся пересобрать, не нарываясь на циклы по сборочным
> зависимостям, в него помещено. Надо учитывать, что в этой первой
> половине списка есть несколько проблем, где требуется обновление
> версии/адаптация/исправление:
> 
> * python-module-signalfd
> * python-module-rpy2
> * python-module-rjsmin
> * python-module-pycrypto -- дохлый upstream; замена в виде
> pycryptodome вызывает сомнения из-за лицензии на OCB
> * boost
> * python-module-pytest , python-module-curve25519 -- мелочи,
> связанные
> с упаковкой: неудачная схема с использованием %_python3_version в
> пути
> (оно перестаёт работать без пересборки, хотя так не задумано и
> RPM-зависимости об этом не предупреждают). Так или иначе я это
> пофикшу.
> 
> По остальным пакетам идёт nbr@ (скорее снизу вверх, начиная с починки
> boost, только что удавшейся!)
> 
> Вторая половина списка начинается с циклов и продолжается тем, что от
> пакетов в циклах зависит для сборки. Если будут предложения как
> собрать, разорвав циклы, тот или иной пакет из второй половины списка
> (в виде тега, собирающегося в 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, неверно. (Конечно, если из нашего
> списка пакет A для сборки требует B, B требует C, а C требует A, то
> каждую пару мы упорядочить могли бы, если бы не было третьего пакета,
> требующего пересборки.) Пошлю в продолжение этого письма дополнение.
> (Файл остающихся ограничений по сборке приложен, можно сказать tsort
> на него, но он петли пропустит.)
> 
> Вся вторая половина списка:
> 
> blueman
> borg
> brltty
> gdal
> gnome-builder
> h5py
> libpeas
> libseccomp
> protobuf
> pyside-qt4-py3
> pytables
> python-module-BTrees
> python-module-DAGPype
> python-module-DIRECT
> python-module-Naked
> python-module-OpenGL_accelerate
> python-module-Pillow
> python-module-PyMca
> python-module-PyQt5
> python-module-affinegap
> python-module-asa
> python-module-banyan
> python-module-bintrees
> python-module-blosc
> python-module-bottleneck
> python-module-cHaversine
> python-module-casuarius
> python-module-credis
> python-module-cyrand
> python-module-dbus
> python-module-dedupe-hcluster
> python-module-djvulibre
> python-module-efl
> python-module-fastbit
> python-module-fiona
> python-module-gevent
> python-module-gist
> python-module-gst1.0
> python-module-hmmlearn
> python-module-http-parser
> python-module-igakit
> python-module-jq
> python-module-kmod
> python-module-logbook
> python-module-lxml
> python-module-matplotlib
> python-module-mehcode-xmlsec
> python-module-minipg
> python-module-mistune
> python-module-mozsci
> python-module-mpi4py
> python-module-mpl_toolkits.basemap
> python-module-msgpack
> python-module-netCDF4
> python-module-numexpr
> python-module-numpy
> python-module-pandas
> python-module-persistent
> python-module-poppler-qt5
> python-module-psutil
> python-module-pulsar
> python-module-pyScss
> python-module-pyaio
> python-module-pyaxon
> python-module-pyclipper
> python-module-pyfits
> python-module-pygobject3
> python-module-pyhacrf
> python-module-pylbfgs
> python-module-pymc
> python-module-pysndfile
> python-module-pysvn
> python-module-pyublas
> python-module-rasterio
> python-module-scikit-image
> python-module-scikit-learn
> python-module-scikits.audiolab
> python-module-scikits.bvp_solver
> python-module-scikits.eartho
> python-module-scikits.odes
> python-module-scikits.samplerate
> python-module-scikits.scattpy
> python-module-scikits.sparse
> python-module-scikits.statsmodels
> python-module-scikits.umfpack
> python-module-scikits.vectorplot
> python-module-scipy
> python-module-seqlearn
> python-module-shapely
> python-module-timelib
> python-module-tinycss
> python-module-triangle
> python-module-veusz
> python-module-wsaccel
> python-module-yaml
> python-module-zmq
> python-module-zope.container
> python-module-zope.index
> python-module-zope.interface
> python-module-zope.security
> python3-module-pcap
> python3-module-pycairo
> python3-module-pygobject
> qscintilla2
> sfepy
> shiboken-py3
> xraylib
> 
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
-- 
Yuri N. Sedunov



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Пересборка питона
  2016-03-21 18:40                           ` Yuri N. Sedunov
@ 2016-03-21 19:34                             ` Dmitry V. Levin
  0 siblings, 0 replies; 9+ messages in thread
From: Dmitry V. Levin @ 2016-03-21 19:34 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 293 bytes --]

On Mon, Mar 21, 2016 at 09:40:19PM +0300, Yuri N. Sedunov wrote:
> Убедительно прошу пособирать питон в сторонке несколько дней, пока
> новый гном не появится в сизифе.

Не разломает ли новый гном новый питон?
Если разломает, то лучше сперва новый питон, потом новый гном.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Пересборка питона
  2016-03-21 18:13                         ` Ivan Zakharyaschev
  2016-03-21 18:40                           ` Yuri N. Sedunov
@ 2016-03-21 22:26                           ` Ivan Zakharyaschev
  1 sibling, 0 replies; 9+ messages in thread
From: Ivan Zakharyaschev @ 2016-03-21 22:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- 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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-03-21 22:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-08 17:06                     ` [devel] Пересборка питона 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

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