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