ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] многопоточная сборка
@ 2019-04-03 16:09 Michael Shigorin
  2019-04-03 17:44 ` Dmitry V. Levin
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Shigorin @ 2019-04-03 16:09 UTC (permalink / raw)
  To: devel

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

	Здравствуйте.
Коллеги, вот мы тут за сборки, пересборки, коммиты пакетов...
а есть ещё одна порой простая штука, которая важна:
сколько ядер/процессоров задействуется при сборке пакета.

Вот верхний десяток строк из разбора архива заданий для
sisyphus_e2k на "Эльбрус-8С" (список "более 300 секунд
в один поток" прилагаю, как и пару наколенных скриптов,
ожидающих в /tasks соответствующий каталог сборочницы
или его частичное зеркало):

python-module-lxml: 26005 99%
wesnoth1.12: 24803 99%
samba-DC: 16774 94%
samba: 14355 94%
jfreechart: 10732 88%
Mesa: 10110 96%
python-module-wx: 7734 74%
python-module-numpy: 7346 98%
bouncycastle: 6833 99%
chicken: 6529 97%

В случае с lxml сделать что-то довольно сложно, почти всё время
уходит на один-единственный файл; jfreechart ждёт оптимизированной
jvm.  Но те же самбы было бы здорово собирать по возможности во
все доступные потоки.

Да, порой апстримная сборочная система косовата и сваливается
из-за недостатка явно указанной зависимости где-нить посреди
сборки; порой удаётся найти и поправить, порой всё-таки ставлю
что-то вроде %make_build || %make, поскольку в сумме быстрей.

В общем, присоединяйтесь при удобном случае.
Как минимум "параллельные" пакеты станут быстрее
собираться в сизиф, поскольку aarch64 -- это много
относительно медленных ядер; а ещё поможете другим
архитектурам, даже если сразу этого сами не заметите.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info

[-- Attachment #2: bt3-300.txt --]
[-- Type: text/plain, Size: 5700 bytes --]

python-module-lxml: 26005 99%
wesnoth1.12: 24803 99%
samba-DC: 16774 94%
samba: 14355 94%
jfreechart: 10732 88%
Mesa: 10110 96%
python-module-wx: 7734 74%
python-module-numpy: 7346 98%
bouncycastle: 6833 99%
chicken: 6529 97%
php7: 5770 96%
openfire: 5734 99%
mysql-connector-c++: 5569 99%
jna: 5229 99%
kde5-smplayer: 4436 98%
clutter: 4326 97%
php5: 4284 94%
pidgin: 4256 72%
python-module-matplotlib: 4044 93%
gcompris: 3989 91%
tetex: 3878 83%
net-snmp30: 3875 84%
cyrus-imapd: 3745 81%
git: 3588 89%
fonts-ttf-sazanami: 3378 99%
libgtk+2: 3373 95%
PDFlib-Lite: 2925 90%
sympy: 2919 96%
projectlibre: 2671 99%
argyllcms: 2544 95%
doxygen: 2527 98%
python-module-OpenGL: 2497 85%
ruby: 2191 96%
krb5: 2148 90%
perl: 2138 94%
python-module-docutils: 2101 98%
xonotic-data: 2098 99%
setools: 2075 97%
openjade: 2044 97%
coreutils: 1975 97%
frei0r-plugins: 1936 73%
libdb6.1: 1897 95%
sssd: 1815 82%
blas: 1734 99%
Inventor: 1696 91%
openldap: 1677 84%
libgnomeui: 1666 76%
highlight: 1665 94%
vala: 1648 95%
tcl: 1644 65%
milkytracker: 1643 41%
nexuiz: 1607 43%
zabbix: 1598 92%
netpbm: 1593 80%
fonts-ttf-google-noto: 1574 81%
gettext: 1562 95%
findutils: 1560 84%
bind: 1548 95%
zookeeper: 1547 99%
texlive-lang: 1544 72%
libleptonica: 1534 96%
openmotif: 1531 85%
hamlib: 1529 93%
openssl10: 1464 88%
groff: 1433 87%
lvm2: 1418 87%
exim: 1407 93%
python-module-boto: 1392 95%
cups: 1386 83%
gnutls30: 1368 87%
nss: 1340 92%
fonts-ttf-gnu-freefont: 1335 98%
libmemcached: 1292 86%
libraw: 1266 91%
quagga: 1257 92%
squeak-vm: 1247 96%
e2fsprogs: 1231 85%
python-module-Reportlab: 1217 95%
python-module-4Suite-XML: 1185 96%
libtdb: 1175 88%
unbound: 1147 93%
nethack: 1140 60%
jss: 1139 97%
python-module-Pillow: 1133 94%
lincity-ng: 1115 97%
python-module-django: 1105 87%
cups-filters: 1094 84%
LibreSSL: 1090 81%
postgis: 1088 94%
lp_solve: 1084 98%
xapian-bindings: 1083 98%
libgtksourceviewmm3: 1060 94%
python-module-nltk: 1055 60%
python-module-pip: 1042 70%
netsurf: 1039 93%
grep: 1035 75%
libgnomecanvasmm: 1034 90%
splint: 1016 78%
youtube-dl: 1012 94%
qpdf: 985 95%
python-module-sphinx: 969 92%
mpv: 968 95%
foomatic-db: 968 99%
tar: 956 89%
hplip: 948 79%
rabbitmq-java-client: 946 99%
uqm-bin: 944 95%
python-module-pycrypto: 930 89%
libbonoboui: 920 91%
freeradius: 913 84%
numptyphysics: 905 98%
wpa_supplicant: 900 97%
freeswitch-sounds: 898 96%
libisc-export-dhcp: 889 93%
pacemaker: 869 77%
openipmi: 863 88%
apache2: 863 77%
zsh: 861 83%
ganttproject: 859 99%
proguard: 836 99%
ispell-ru-lebedev: 830 97%
bison: 830 95%
libodfgen: 812 83%
perl-Wx-Scintilla: 809 94%
diffutils: 797 77%
perl-DateTime-TimeZone: 791 97%
libarchive: 775 85%
flite: 761 94%
libpeas: 739 54%
apache: 734 68%
libgdk-pixbuf: 723 87%
rocksndiamonds: 718 98%
cppunit: 717 88%
elinks: 715 88%
python-module-Pygments: 703 94%
python-module-timelib: 697 96%
gobject-introspection: 680 91%
m4: 679 37%
libgtk-engines-default: 674 82%
ccrtp: 672 92%
bash4: 663 88%
libnetcdf11-seq: 659 82%
moodle2.5: 658 72%
libbonobo: 650 86%
xmms: 649 71%
perl-Boost-Geometry-Utils: 649 94%
libformula: 648 96%
python-module-pyglet: 645 95%
ORBit2: 642 80%
flac: 639 70%
libgtest: 638 95%
perl-SDL: 626 85%
firmware-linux: 626 99%
parole: 624 92%
collectd: 614 90%
liboil: 611 91%
python-module-gssapi: 610 91%
libgmime2.6: 606 90%
jack-audio-connection-kit: 598 74%
python-module-xlsxwriter: 597 96%
fonttools: 582 96%
sed: 580 66%
mate-desktop: 576 94%
bash: 573 87%
mediawiki: 572 99%
python-module-babel: 565 96%
trigger: 563 95%
python-module-genshi: 562 93%
libldb: 561 84%
iptables: 552 83%
w3c-libwww: 548 72%
xmlrpc-c: 541 82%
gzip: 540 82%
tla: 535 96%
rsyslog: 535 96%
libquicktime111: 534 97%
dnsjava: 533 98%
superlu4.0: 530 88%
gst-plugins-ugly1.0: 528 49%
ntfs-3g: 527 84%
GConf: 521 82%
python-module-mistune: 520 96%
w3m: 513 89%
perl-Compiler-Lexer: 502 92%
libnl3: 496 70%
nagios-plugins: 495 97%
python-module-html5lib: 490 97%
xfsprogs: 487 84%
libqwt: 484 91%
xpilot-ng: 482 91%
autogen: 480 72%
cpio: 479 96%
python-module-dbus: 473 96%
patch: 460 82%
uucp: 453 86%
python-module-BTrees: 453 87%
xfig: 452 95%
audiofile: 450 90%
imlib: 447 81%
fonts-type1-cm-super: 447 94%
xfdesktop: 442 74%
python-module-SQLAlchemy: 441 91%
po4a: 433 94%
libgtop: 432 98%
ORBit: 427 75%
python-module-zmq: 423 85%
python-module-psycopg2: 422 69%
shadow: 420 92%
texlive-doc: 412 91%
augeas: 412 88%
gimp-help: 410 98%
lynx: 405 93%
freeswitch-sounds-music: 403 98%
mgetty: 399 85%
jabberd2: 399 86%
alsa-tools: 394 81%
python-module-cryptography: 393 94%
python-module-paste: 392 95%
libmng: 389 97%
mate-icon-theme-faenza: 383 46%
uqm-voice: 382 99%
xchat: 381 90%
python-module-future: 381 90%
libxslt: 381 82%
libappstream-glib: 380 95%
kernel-modules-ipset-elbrus-8c: 380 97%
yasm: 377 93%
gsasl: 377 92%
mathjax: 375 90%
libxcb: 375 75%
upower: 365 59%
ansible: 365 85%
mercurial: 361 89%
perl-Date-Manip: 359 41%
lz4: 351 93%
libgeoclue: 351 76%
python-module-tornado: 350 93%
python-module-fake-factory: 349 90%
timeshift: 348 92%
avahi: 347 85%
lirc: 345 69%
gnome-icon-theme: 345 54%
rrd: 343 93%
foo2zjs: 342 87%
python-module-unittest2: 339 97%
libtool_1.5: 339 56%
wordnet: 336 86%
python-module-zodbpickle: 331 91%
kernel-modules-ipset-elbrus-4c: 330 93%
kernel-modules-ipset-elbrus-1cp: 327 95%
re2c: 326 95%
speech-dispatcher: 325 85%
perl-HTML-FormFu: 324 99%
libatk: 324 93%
libimobiledevice: 323 52%
bsc: 322 95%
lcc1.21: 321 90%
python-module-yaml: 319 92%
t1lib: 315 79%
raptor: 315 86%
nas: 314 77%
libiodbc: 313 47%
kf5-kidletime: 312 63%
sg3_utils: 309 97%
libunique: 308 50%
procps: 307 97%
mate-icon-theme: 307 61%
libtasn1: 307 83%
cryptsetup: 304 50%
libselinux: 303 98%
meson: 300 96%

[-- Attachment #3: buildtimes-1way.sh --]
[-- Type: application/x-sh, Size: 677 bytes --]

[-- Attachment #4: buildtimes-analyze.sh --]
[-- Type: application/x-sh, Size: 197 bytes --]

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

* Re: [devel] многопоточная сборка
  2019-04-03 16:09 [devel] многопоточная сборка Michael Shigorin
@ 2019-04-03 17:44 ` Dmitry V. Levin
  2019-04-03 22:32   ` Michael Shigorin
  0 siblings, 1 reply; 4+ messages in thread
From: Dmitry V. Levin @ 2019-04-03 17:44 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Wed, Apr 03, 2019 at 07:09:35PM +0300, Michael Shigorin wrote:
> 	Здравствуйте.
> Коллеги, вот мы тут за сборки, пересборки, коммиты пакетов...
> а есть ещё одна порой простая штука, которая важна:
> сколько ядер/процессоров задействуется при сборке пакета.
> 
> Вот верхний десяток строк из разбора архива заданий для
> sisyphus_e2k на "Эльбрус-8С" (список "более 300 секунд
> в один поток" прилагаю, как и пару наколенных скриптов,
> ожидающих в /tasks соответствующий каталог сборочницы
> или его частичное зеркало):
> 
> python-module-lxml: 26005 99%

$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/python-module-lxml-4.3.3-alt1 
320.74user 8.13system 8:26.12elapsed 64%CPU (0avgtext+0avgdata 823328maxresident)k
330.41user 11.94system 9:13.28elapsed 61%CPU (0avgtext+0avgdata 823328maxresident)k

На sisyphus_e2k сборка действительно заняла на два порядка больше времени,
чем на x86?  Прискорбно.

> wesnoth1.12: 24803 99%

Такого пакета в Сизифе нет.  У ближайшего родственного
$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/wesnoth-1.14.5-alt2 
7762.63user 616.52system 52:47.42elapsed 264%CPU (0avgtext+0avgdata 2700824maxresident)k
7857.82user 641.24system 55:27.95elapsed 255%CPU (0avgtext+0avgdata 2700824maxresident)k

сборка выглядит распараллеленной.

> samba-DC: 16774 94%

Такого пакета в Сизифе нет.

> samba: 14355 94%

$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/samba-4.10.0-alt1 
4514.44user 1184.22system 44:12.38elapsed 214%CPU (0avgtext+0avgdata 420716maxresident)k
4700.40user 1218.47system 49:44.31elapsed 198%CPU (0avgtext+0avgdata 420716maxresident)k

Сборка выглядит распараллеленной.

> jfreechart: 10732 88%

$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/jfreechart-0:1.0.19-alt1_9jpp8 
104.65user 2.79system 1:54.99elapsed 93%CPU (0avgtext+0avgdata 901488maxresident)k
127.42user 7.71system 3:01.15elapsed 74%CPU (0avgtext+0avgdata 901488maxresident)k

На sisyphus_e2k сборка действительно заняла на два порядка больше времени,
чем на x86?  Вряд ли кто-то затратит много сил на распараллеливание сборки пакета,
который собирается за 2 минуты.

> Mesa: 10110 96%

$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/Mesa-4:19.0.1-alt1 
11512.90user 132.29system 47:40.01elapsed 407%CPU (0avgtext+0avgdata 5161388maxresident)k
11551.49user 138.14system 48:35.37elapsed 400%CPU (0avgtext+0avgdata 5161388maxresident)k

Сборка выглядит распараллеленной.

> python-module-wx: 7734 74%

Такого пакета в Сизифе нет.  Ближайший родственный пакет

$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/python-module-wx3.0-1:3.0.2.0-alt1.1.qa3 
456.90user 20.87system 11:47.73elapsed 67%CPU (0avgtext+0avgdata 804280maxresident)k
491.66user 27.15system 12:46.58elapsed 67%CPU (0avgtext+0avgdata 804280maxresident)k

выглядит заброшенным.

> python-module-numpy: 7346 98%

$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/python-module-numpy-1:1.15.4-alt1 
524.30user 22.10system 18:10.31elapsed 50%CPU (0avgtext+0avgdata 381712maxresident)k
554.33user 27.57system 19:24.89elapsed 49%CPU (0avgtext+0avgdata 381712maxresident)k

На этот пакет предлагаю повесить баг.

> bouncycastle: 6833 99%

$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/bouncycastle-0:1.58-alt2_3jpp8 
2045.01user 31.41system 23:19.87elapsed 148%CPU (0avgtext+0avgdata 1177084maxresident)k
2066.31user 40.88system 23:52.41elapsed 147%CPU (0avgtext+0avgdata 1177084maxresident)k

Сборка выглядит слегка распараллеленной.
Кроме того, пакет выглядит импортным.

> chicken: 6529 97%

$ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/chicken-4.1.0-alt2.1 
320.75user 10.16system 11:09.34elapsed 49%CPU (0avgtext+0avgdata 309292maxresident)k
325.33user 12.28system 11:27.10elapsed 49%CPU (0avgtext+0avgdata 309292maxresident)k

На этот пакет предлагаю повесить баг.

Мораль: привлекать внимание коллег нужно, но для этого следует
использовать релевантные данные.  Как мы видим, релевантность данных
с sisyphus_e2k в данном примере составила 20%.  Целесообразнее
использовать данные тестовой пересборки Сизифа.


-- 
ldv

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

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

* Re: [devel] многопоточная сборка
  2019-04-03 17:44 ` Dmitry V. Levin
@ 2019-04-03 22:32   ` Michael Shigorin
  2019-04-04  2:15     ` Антон Мидюков
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Shigorin @ 2019-04-03 22:32 UTC (permalink / raw)
  To: devel

On Wed, Apr 03, 2019 at 08:44:02PM +0300, Dmitry V. Levin wrote:
> On Wed, Apr 03, 2019 at 07:09:35PM +0300, Michael Shigorin wrote:
> > python-module-lxml: 26005 99%
> $ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/python-module-lxml-4.3.3-alt1 
> 320.74user 8.13system 8:26.12elapsed 64%CPU (0avgtext+0avgdata 823328maxresident)k
> 330.41user 11.94system 9:13.28elapsed 61%CPU (0avgtext+0avgdata 823328maxresident)k
> На sisyphus_e2k сборка действительно заняла на два порядка
> больше времени, чем на x86?  Прискорбно.

Да.  Возможно, об этом надо будет повесить отдельный баг.

> > ...из разбора архива заданий для sisyphus_e2k...
> > wesnoth1.12: 24803 99%
> Такого пакета в Сизифе нет.

Архив заданий помнит уже много чего даже тут. :)

> У ближайшего родственного [...]wesnoth-1.14.5-alt2 264%CPU
> сборка выглядит распараллеленной.

Уже радует; хотя пока в процессе сборки наблюдаю скорее единичку,
scons может игнорировать явно заданное -jN?

e804:~> rpm --eval %{?_smp_mflags}
-j32

Надо будет глянуть, не лучше ли покажет себя cmake, который там
тоже в спеке поддержан (но не по умолчанию).

> > samba-DC: 16774 94%
> Такого пакета в Сизифе нет.

Да, их наконец опять объединили.

> > samba: 14355 94%
> [...]samba-4.10.0-alt1 214%CPU
> Сборка выглядит распараллеленной.

Отлично.

> > jfreechart ждёт оптимизированной jvm
> > jfreechart: 10732 88%
> На sisyphus_e2k сборка действительно заняла на два порядка
> больше времени, чем на x86?

Да.

> Вряд ли кто-то затратит много сил на распараллеливание сборки
> пакета, который собирается за 2 минуты.

Там дело в zero vm пока, потому и написал особую оговорку.
Хотя на mipsel примерно так и останется, насколько помню.

> > Mesa: 10110 96%
> Mesa-4:19.0.1-alt1 407%CPU
> Сборка выглядит распараллеленной.

Отлично.

> > python-module-numpy: 7346 98%
> $ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/python-module-numpy-1:1.15.4-alt1 
> 524.30user 22.10system 18:10.31elapsed 50%CPU (0avgtext+0avgdata 381712maxresident)k
> 554.33user 27.57system 19:24.89elapsed 49%CPU (0avgtext+0avgdata 381712maxresident)k
> На этот пакет предлагаю повесить баг.

https://bugzilla.altlinux.org/show_bug.cgi?id=36500

Не очень-то разогнался по сумме, но всё же:
115% cpu 8:16,42 total
(x86_64, для e2k нужен ещё небольшой archdep patch)

> > bouncycastle: 6833 99%
> Сборка выглядит слегка распараллеленной.
> Кроме того, пакет выглядит импортным.

А ещё это java.

> > chicken: 6529 97%
> $ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/chicken-4.1.0-alt2.1 
> 320.75user 10.16system 11:09.34elapsed 49%CPU (0avgtext+0avgdata 309292maxresident)k
> 325.33user 12.28system 11:27.10elapsed 49%CPU (0avgtext+0avgdata 309292maxresident)k
> На этот пакет предлагаю повесить баг.

https://bugzilla.altlinux.org/show_bug.cgi?id=36501

Судя по федоре, 5.0.0 тоже собирается только однопоточно:
https://src.fedoraproject.org/rpms/chicken/blob/master/f/chicken.spec

С объездом а-ля %make_build || make собрался на x86_64
заметно быстрей: 1:30.79elapsed 366%CPU

Применяем?

> Мораль: привлекать внимание коллег нужно, но для этого следует
> использовать релевантные данные.  Как мы видим, релевантность
> данных с sisyphus_e2k в данном примере составила 20%.

Я мог убрать java-пакеты, но решил оставить честный head
и не стал убирать тот же lxml, с которым заведомо ничего
так просто не сделать.  Ещё хорошо бы добавить данные по
acl для удобства грепанья -- поделишься тем скриптиком?

> Целесообразнее использовать данные тестовой пересборки Сизифа.

Их у меня под рукой вроде бы нет, но затем и предложил в качестве
затравки хотя бы такие скрипты для их разбора. :)

После завершения основных работ по обновлению sisyphus_e2k
поближе к sisyphus/p9 можно будет сделать набег по ним уже
без архива.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel] многопоточная сборка
  2019-04-03 22:32   ` Michael Shigorin
@ 2019-04-04  2:15     ` Антон Мидюков
  0 siblings, 0 replies; 4+ messages in thread
From: Антон Мидюков @ 2019-04-04  2:15 UTC (permalink / raw)
  To: devel

04.04.2019 5:32, Michael Shigorin пишет:
> On Wed, Apr 03, 2019 at 08:44:02PM +0300, Dmitry V. Levin wrote:
>> On Wed, Apr 03, 2019 at 07:09:35PM +0300, Michael Shigorin wrote:
>>> chicken: 6529 97%
>> $ grep -F 'elapsed ' beehive/logs/Sisyphus-x86_64/latest/success/chicken-4.1.0-alt2.1
>> 320.75user 10.16system 11:09.34elapsed 49%CPU (0avgtext+0avgdata 309292maxresident)k
>> 325.33user 12.28system 11:27.10elapsed 49%CPU (0avgtext+0avgdata 309292maxresident)k
>> На этот пакет предлагаю повесить баг.
> https://bugzilla.altlinux.org/show_bug.cgi?id=36501
>
> Судя по федоре, 5.0.0 тоже собирается только однопоточно:
> https://src.fedoraproject.org/rpms/chicken/blob/master/f/chicken.spec
>
> С объездом а-ля %make_build || make собрался на x86_64
> заметно быстрей: 1:30.79elapsed 366%CPU
>
> Применяем?

Вспомнилась фраза "И не стыдно будет?":

https://lists.altlinux.org/pipermail/devel/2018-July/204919.html

https://lists.altlinux.org/pipermail/devel/2018-July/204924.html

https://lists.altlinux.org/pipermail/devel/2018-July/204935.html

-- 
С уважением, Антон Мидюков <antohami@altlinux.org>



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

end of thread, other threads:[~2019-04-04  2:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-03 16:09 [devel] многопоточная сборка Michael Shigorin
2019-04-03 17:44 ` Dmitry V. Levin
2019-04-03 22:32   ` Michael Shigorin
2019-04-04  2:15     ` Антон Мидюков

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